Request history
Newest-first metadata with keyset pagination and optional filters.
/v1/requestsRequest
https://api.scrapercompany.com/v1/requestsAuthenticate with your API key in the x-api-key header (see Authentication).
Parameters
- limitintegerdefault
50min 1, max 200 - cursorstring | null
Opaque
next_cursorfrom the previous page. - statusinteger | nullmin 100, max 599
- methodstring | nullpattern ^(GET|POST|PUT|PATCH|DELETE)$
- pathstring | nullmax length 300
Exact normalized route path, such as
/v1/calendar.
Example request
curl "https://api.scrapercompany.com/v1/requests?limit=20" \
-H "x-api-key: $SCRAPERCOMPANY_API_KEY"Response
200 — Newest-first request metadata for the authenticated API key.
{
"requests": [
{
"id": "req_0123456789abcdef0123456789abcdef",
"method": "POST",
"path": "/v1/calendar",
"status": 200,
"duration_ms": 391,
"response_bytes": 18342,
"request": {
"body": {
"token": "ChUIoben2Mv6-CYaCi9tLzA3czVwbjQQAQ",
"market": "US",
"currency": "USD",
"days": 90
}
},
"created_at": "2026-08-10 18:51:06.724001+00"
}
],
"count": 1,
"has_more": true,
"next_cursor": "WyIyMDI2LTA4LTEwIDE4OjUxOjA2LjcyNDAwMSswMCIsInJlcV8wMTIzIl0"
}Response fields
Fields marked required are always present; others appear when they apply.
- requestsarray of objectrequired
Newest first.
Show 8 child fieldsHide child fields
- requests[].idstringrequired
req_...; equals thex-request-idresponse header. - requests[].methodstringrequired
- requests[].pathstringrequired
Route path, e.g.
/v1/calendar. - requests[].statusintegerrequired
- requests[].duration_msintegerrequired
- requests[].response_bytesintegerrequired
- requests[].requestobjectrequired
Sanitized request metadata; each key present only when the request had it.
Show 3 child fieldsHide child fields
- requests[].request.pathobject
Path parameters.
- requests[].request.queryobject
Query parameters (credentials redacted).
- requests[].request.bodyany
JSON body (credentials redacted), or
{truncated, bytes}/{invalid_json, bytes}.
- requests[].created_atstringrequired
Timestamp string, e.g.
2026-08-10 14:05:00.123456+00.
- countintegerrequired
- has_morebooleanrequired
- next_cursorstring
Present only when
has_moreis true; pass it back as thecursorquery parameter.
Errors
Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.
| Status | Meaning | Retry? |
|---|---|---|
400Bad Request | Bad request: the parameters are well-formed but unusable (for example an unknown market or a malformed token). {"detail":"end must be on or after start"} | No, fix the request |
401Unauthorized | Missing or invalid API key. {"detail":"missing or invalid API key"} | No, fix the request |
422Unprocessable Content | Request validation failed. {"detail":[{"loc":["body","token"],"msg":"Field required","type":"missing"}]} | No, fix the request |
429Too Many Requests | Too many requests: the key's requests-per-minute limit was exceeded, or (once credit enforcement is on) the plan's concurrent-request limit. No rate-limit or Retry-After headers are sent; back off and retry. {"detail":"rate limit 60/min exceeded"} | Yes, with backoff |
503Service Unavailable | Temporarily unavailable: a dependency of this endpoint is down, or the upstream source changed its contract. Retry later. {"detail":"database unavailable: OperationalError"} | Yes, with backoff |
Try it
- Export your key:
export SCRAPERCOMPANY_API_KEY=sk_...(no key yet? request access). - Copy the cURL example above and run it in a terminal.
- Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.