GET /v1/usage
Returns usage statistics for your API key — total request counts broken down by endpoint, rate limit details, and WebSocket activity.
Request
GET /v1/usage
Auth: Required
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
days | integer | 7 | Number of days of history to include (max: 90) |
Response
{
"api_key": "fxd_1234567890abcdef...",
"tier": "standard",
"limits": {
"rpm": 120,
"rpd": 50000,
"ws_connections": 10,
"ws_symbols": 200
},
"current": {
"ws_connections_in_use": 4
},
"today": {
"requests": 1234,
"history": 800,
"symbols": 200,
"coverage": 50,
"status": 30,
"config": 10,
"usage": 5,
"ws_connect": 3,
"ws_session": 1,
"rate_limited": 0
},
"history": [
{
"date": "2025-06-09",
"requests": 5280,
"history": 3100,
"symbols": 650,
"coverage": 120,
"status": 200,
"config": 60,
"usage": 150,
"ws_connect": 15,
"ws_session": 8,
"rate_limited": 0
}
]
}
Response Fields
Key Information
| Field | Type | Description |
|---|---|---|
api_key | string | Prefix of your key |
tier | string | Plan tier: basic, standard, pro, or enterprise |
limits.rpm | integer | Max requests per minute |
limits.rpd | integer | Max requests per day |
limits.ws_connections | integer | Max simultaneous WebSocket connections |
limits.ws_symbols | integer | Max subscriptions per WebSocket connection |
current.ws_connections_in_use | integer | WebSocket connections open right now |
Daily Statistics (today and history[])
| Field | Description |
|---|---|
requests | Total REST requests |
history | Calls to /v1/history |
symbols | Calls to /v1/symbols |
coverage | Calls to /v1/coverage |
status | Calls to /v1/status |
config | Calls to /v1/config |
usage | Calls to /v1/usage |
ws_connect | Number of WebSocket connections opened |
ws_session | Number of active WebSocket sessions |
rate_limited | Requests rejected for exceeding a limit — includes REST 429s and WebSocket upgrades refused with TOO_MANY_CONNECTIONS |
Example
import requests
headers = {"X-API-Key": "fxd_your_key"}
resp = requests.get(
"https://api.pipdata.net/v1/usage",
headers=headers,
params={"days": 30}
)
data = resp.json()
print(f"Plan: {data['tier']}")
print(f"Daily cap: {data['limits']['rpd']:,} requests")
print(f"Today: {data['today']['requests']:,} requests used")
print(f"Rate limited: {data['today']['rate_limited']:,}")
pct = data["today"]["requests"] / data["limits"]["rpd"] * 100
print(f"Utilisation: {pct:.1f}%")
if data["today"]["rate_limited"] > 0:
print("⚠️ You hit rate limits today — consider upgrading your plan")