curl --request GET \
--url https://context7.com/api/v2/usage \
--header 'Authorization: Bearer <token>'import requests
url = "https://context7.com/api/v2/usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://context7.com/api/v2/usage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://context7.com/api/v2/usage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://context7.com/api/v2/usage"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://context7.com/api/v2/usage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://context7.com/api/v2/usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"plan": "pro",
"usageResetsAt": "2026-11-01T00:00:00.000Z",
"member": {
"requests": 2340,
"includedInPlan": 2000
},
"teamspace": {
"extraRequests": 340,
"extraCostUsd": 1.7,
"spendingLimitUsd": 50,
"daily": [
{
"date": "2026-10-03",
"requests": 530,
"searchRequests": 120,
"docsRequests": 410
},
{
"date": "2026-10-04",
"requests": 463,
"searchRequests": 98,
"docsRequests": 365
}
]
}
}Get API usage
See your requests this month, what extra requests cost your teamspace, and the teamspace’s requests per day. member is the member who owns the API key and has the same numbers as the RateLimit-* headers on search and docs responses. teamspace covers all members. Calls to this endpoint do not count as requests.
curl --request GET \
--url https://context7.com/api/v2/usage \
--header 'Authorization: Bearer <token>'import requests
url = "https://context7.com/api/v2/usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://context7.com/api/v2/usage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://context7.com/api/v2/usage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://context7.com/api/v2/usage"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://context7.com/api/v2/usage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://context7.com/api/v2/usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"plan": "pro",
"usageResetsAt": "2026-11-01T00:00:00.000Z",
"member": {
"requests": 2340,
"includedInPlan": 2000
},
"teamspace": {
"extraRequests": 340,
"extraCostUsd": 1.7,
"spendingLimitUsd": 50,
"daily": [
{
"date": "2026-10-03",
"requests": 530,
"searchRequests": 120,
"docsRequests": 410
},
{
"date": "2026-10-04",
"requests": 463,
"searchRequests": 98,
"docsRequests": 365
}
]
}
}Authorizations
Get your API key at context7.com/dashboard. Treat your API key like a password and store it securely.
Query Parameters
Number of days in teamspace.daily, ending today (UTC). Free plans return at most the last 10 days.
1 <= x <= 90Response
Usage for the current month and the requested days
Plan of the teamspace the API key belongs to. payg (pay-as-you-go) includes no requests and bills every request.
free, pro, enterprise, payg When the monthly numbers in member and teamspace start again from zero: the first day of next month, UTC. teamspace.daily keeps its history.
The member who owns the API key, this month. Each member has their own included requests. On the Free plan, the member's requests stop with a 429 when requests reaches includedInPlan. On paid plans and payg, they continue and count as teamspace.extraRequests.
Show child attributes
Show child attributes
All members of the teamspace together. To get the teamspace's requests for a period, add up daily.
Show child attributes
Show child attributes
Was this page helpful?