Read the plan behind the key
curl --request GET \
--url https://api.zenrows.com/v1/subscriptions/self/details \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.zenrows.com/v1/subscriptions/self/details"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.zenrows.com/v1/subscriptions/self/details', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.zenrows.com/v1/subscriptions/self/details';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zenrows.com/v1/subscriptions/self/details"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zenrows.com/v1/subscriptions/self/details",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.zenrows.com/v1/subscriptions/self/details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.zenrows.com/v1/subscriptions/self/details")
.header("X-API-Key", "<api-key>")
.asString();{
"status": "ACTIVE",
"period_starts_at": "2026-10-01T00:00:00Z",
"period_ends_at": "2026-11-01T00:00:00Z",
"usage": 11.59,
"usage_credits": 42000,
"credit_limit": 250000,
"usage_percent": 16,
"plan": {
"name": "Launch",
"price": 69,
"unit_cost": 0.000276,
"recurrence": "MONTHLY",
"products": {
"api": {
"name": "WebScraping API",
"usage": 8.56,
"usage_credits": 31000,
"concurrency": {
"limit": 20,
"usage": 2
}
},
"extract": {
"name": "Extract",
"usage": 0,
"usage_credits": 0
},
"scraping_browser": {
"name": "Scraping Browser",
"usage": 3.03,
"usage_credits": 11000
},
"proxy_residential": {
"name": "Residential Proxies",
"usage": 0,
"usage_credits": 0
},
"data_apis": {
"name": "Data APIs",
"usage": 0,
"usage_credits": 0
}
}
},
"top_ups": [],
"api_key": {
"caps": []
}
}{
"code": "AUTH002",
"detail": "Invalid API key.",
"instance": "/v1",
"status": 401,
"title": "Invalid apikey provided (AUTH002)",
"type": "https://docs.zenrows.com/api-error-codes#AUTH002"
}Account
Read the plan behind the key
Return the calling key’s plan: credit allowance, credits used, and the concurrency it is allowed. Use it to budget before a large run.
GET
/
subscriptions
/
self
/
details
Read the plan behind the key
curl --request GET \
--url https://api.zenrows.com/v1/subscriptions/self/details \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.zenrows.com/v1/subscriptions/self/details"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.zenrows.com/v1/subscriptions/self/details', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.zenrows.com/v1/subscriptions/self/details';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zenrows.com/v1/subscriptions/self/details"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zenrows.com/v1/subscriptions/self/details",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.zenrows.com/v1/subscriptions/self/details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.zenrows.com/v1/subscriptions/self/details")
.header("X-API-Key", "<api-key>")
.asString();{
"status": "ACTIVE",
"period_starts_at": "2026-10-01T00:00:00Z",
"period_ends_at": "2026-11-01T00:00:00Z",
"usage": 11.59,
"usage_credits": 42000,
"credit_limit": 250000,
"usage_percent": 16,
"plan": {
"name": "Launch",
"price": 69,
"unit_cost": 0.000276,
"recurrence": "MONTHLY",
"products": {
"api": {
"name": "WebScraping API",
"usage": 8.56,
"usage_credits": 31000,
"concurrency": {
"limit": 20,
"usage": 2
}
},
"extract": {
"name": "Extract",
"usage": 0,
"usage_credits": 0
},
"scraping_browser": {
"name": "Scraping Browser",
"usage": 3.03,
"usage_credits": 11000
},
"proxy_residential": {
"name": "Residential Proxies",
"usage": 0,
"usage_credits": 0
},
"data_apis": {
"name": "Data APIs",
"usage": 0,
"usage_credits": 0
}
}
},
"top_ups": [],
"api_key": {
"caps": []
}
}{
"code": "AUTH002",
"detail": "Invalid API key.",
"instance": "/v1",
"status": 401,
"title": "Invalid apikey provided (AUTH002)",
"type": "https://docs.zenrows.com/api-error-codes#AUTH002"
}Authorizations
apiKeyHeaderapiKeyQuery
Batch, Crawl, the Extract endpoints and the account endpoint read the same key from the X-API-Key header.
Response
Plan, credit and concurrency figures for the calling key.
The subscription's state, for example ACTIVE.
When the credit allowance renews.
Spend this period, in US dollars.
Credits used this period, across products.
Credits the plan includes for the period.
usage_credits as a whole percentage of credit_limit.
Show child attributes
Show child attributes
Credit top-ups bought this period.
Show child attributes
Show child attributes
Was this page helpful?