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

ParameterTypeDefaultDescription
daysinteger7Number 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

FieldTypeDescription
api_keystringPrefix of your key
tierstringPlan tier: basic, standard, pro, or enterprise
limits.rpmintegerMax requests per minute
limits.rpdintegerMax requests per day
limits.ws_connectionsintegerMax simultaneous WebSocket connections
limits.ws_symbolsintegerMax subscriptions per WebSocket connection
current.ws_connections_in_useintegerWebSocket connections open right now

Daily Statistics (today and history[])

FieldDescription
requestsTotal REST requests
historyCalls to /v1/history
symbolsCalls to /v1/symbols
coverageCalls to /v1/coverage
statusCalls to /v1/status
configCalls to /v1/config
usageCalls to /v1/usage
ws_connectNumber of WebSocket connections opened
ws_sessionNumber of active WebSocket sessions
rate_limitedRequests 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")