List provider data balances
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");curl_easy_setopt(hnd, CURLOPT_URL, "https://api.proxyrequest.com/api/v1/providers/data-balances");
struct curl_slist *headers = NULL;headers = curl_slist_append(headers, "Accept-Language: de");headers = curl_slist_append(headers, "Authorization: Bearer <token>");curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Get, RequestUri = new Uri("https://api.proxyrequest.com/api/v1/providers/data-balances"), Headers = { { "Accept-Language", "de" }, { "Authorization", "Bearer <token>" }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://api.proxyrequest.com/api/v1/providers/data-balances"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept-Language", "de") req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.proxyrequest.com/api/v1/providers/data-balances")) .header("Accept-Language", "de") .header("Authorization", "Bearer <token>") .method("GET", HttpRequest.BodyPublishers.noBody()) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder() .url("https://api.proxyrequest.com/api/v1/providers/data-balances") .get() .addHeader("Accept-Language", "de") .addHeader("Authorization", "Bearer <token>") .build();
Response response = client.newCall(request).execute();import axios from 'axios';
const options = { method: 'GET', url: 'https://api.proxyrequest.com/api/v1/providers/data-balances', headers: {'Accept-Language': 'de', Authorization: 'Bearer <token>'}};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}const url = 'https://api.proxyrequest.com/api/v1/providers/data-balances';const options = { method: 'GET', headers: {'Accept-Language': 'de', Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}val client = OkHttpClient()
val request = Request.Builder() .url("https://api.proxyrequest.com/api/v1/providers/data-balances") .get() .addHeader("Accept-Language", "de") .addHeader("Authorization", "Bearer <token>") .build()
val response = client.newCall(request).execute()use reqwest;
#[tokio::main]pub async fn main() { let url = "https://api.proxyrequest.com/api/v1/providers/data-balances";
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Accept-Language", "de".parse().unwrap()); headers.insert("Authorization", "Bearer <token>".parse().unwrap());
let client = reqwest::Client::new(); let response = client.get(url) .headers(headers) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request GET \ --url https://api.proxyrequest.com/api/v1/providers/data-balances \ --header 'Accept-Language: de' \ --header 'Authorization: Bearer <token>'wget --quiet \ --method GET \ --header 'Accept-Language: de' \ --header 'Authorization: Bearer <token>' \ --output-document \ - https://api.proxyrequest.com/api/v1/providers/data-balancesRequires a JWT belonging to an active superuser or an API key owned by an active superuser, including requests using X-Impersonate-User. Returns one result per provider with recorded balances. The latest observation by observed_at is the baseline; available_bytes is that observation’s balance, not a sum of purchased data. All byte amounts are decimal strings. Calculations are saved asynchronously; inspect freshness, error and calculated_at before using them. History is ordered by creation time descending and limited by PROVIDER_DATA_BALANCE_HISTORY_LIMIT (default 10). Pagination counts providers, not history entries.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Number of results to return per page.
The initial index from which to return the results.
Header Parameters
Section titled “Header Parameters”Preferred language for human-readable API errors. Supported languages: en, ru, uk, de, it, fr, es, zh-hans, ja. Regional language tags and quality weights are accepted; unsupported or omitted values use English.
Examples
defr-CA, fr;q=0.9, en;q=0.5Responses
Section titled “Responses”The operation completed successfully.
object
object
Time the available balance was observed.
Observed balance in bytes, as a decimal string.
Calculated usage since the observation, in bytes.
Remaining bytes at calculated_at, as a decimal string.
fresh- fresh *stale- stale *unavailable- unavailable
Time of the last successful calculation.
Latest entries by creation time, limited by PROVIDER_DATA_BALANCE_HISTORY_LIMIT (default 10).
object
Observed balance in bytes, as a decimal string.
Examples
Provider data balance
{ "count": 1, "next": null, "previous": null, "results": [ { "provider_id": "550e8400-e29b-41d4-a716-446655440001", "provider_name": "Example provider", "checkpoint_id": "550e8400-e29b-41d4-a716-446655440002", "available_bytes": "5000000000000", "used_bytes": "1000000000000", "remaining_bytes": "4000000000000", "remaining_percent": 80, "observed_at": "2026-09-25T12:00:00Z", "calculated_at": "2026-09-25T12:30:00Z", "severity": null, "freshness": "fresh", "error": "", "history": [ { "id": "550e8400-e29b-41d4-a716-446655440002", "available_bytes": "5000000000000", "observed_at": "2026-09-25T12:00:00Z", "created": "2026-09-25T12:01:00Z", "created_by": "admin" } ] } ]}The request is malformed or violates a business rule.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Examples
Validation error
{ "non_field_errors": [ "The request could not be processed." ]}Headers
Section titled “Headers”Language used for human-readable errors.
Authentication credentials are missing, expired, or invalid.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Examples
Authentication required
{ "detail": "Authentication credentials were not provided."}Headers
Section titled “Headers”Language used for human-readable errors.
The authenticated account cannot perform this operation.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Examples
Permission denied
{ "detail": "You do not have permission to perform this action."}Headers
Section titled “Headers”Language used for human-readable errors.