Skip to content
Usage

Request history

Newest-first metadata with keyset pagination and optional filters.

GET/v1/requests
Free

Request

GEThttps://api.scrapercompany.com/v1/requests

Authenticate with your API key in the x-api-key header (see Authentication).

Parameters

  • limitintegerdefault 50min 1, max 200
  • cursorstring | null

    Opaque next_cursor from 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.

200 response
{
  "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 fields
    • requests[].idstringrequired

      req_...; equals the x-request-id response 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 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_more is true; pass it back as the cursor query 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.

StatusMeaningRetry?
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

  1. Export your key: export SCRAPERCOMPANY_API_KEY=sk_... (no key yet? request access).
  2. Copy the cURL example above and run it in a terminal.
  3. Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.