Getting started

Errors

Errors use the same envelope as successful responses: success is false, data is null, and meta.error carries the status code, a stable type, and a human-readable detail.

  • 8Documented statuses
  • 1Envelope, success or failure
  • meta.errorWhere the failure is reported

The error envelope

Every failure

One shape for every failed call, whatever the status code. Parse it once and every endpoint reports the same way.

Error envelope · syntheticjson
{  "success": false,  "data": null,  "pagination": null,  "meta": {    "error": {      "statusCode": 422,      "type": "validation_error",      "detail": [        {          "loc": ["query", "limit"],          "msg": "Input should be less than or equal to the endpoint maximum."        }      ]    }  }}

Status codes

8 documented

These statuses are collected from every operation in the OpenAPI document. Rate limiting has its own guide — see Rate limits.

400
Invalid inputCheck parameter names, formats, and required values before retrying.
401
Missing or invalid API keySend the key with the X-API-Key header from server-side code.
404
Resource not foundCheck the supplied profile, company, job, post, or search input.
409
Cookie pool unavailableTemporary upstream availability conflict. Retry later with bounded backoff.
422
Validation errorFix the field-level request issue before retrying.
429
Rate limitedSlow the client and retry later with bounded backoff.
502
Upstream response could not be normalizedTreat it as a temporary processing issue.
503
Upstream unavailableUpstream service unavailable. Retry later or show a temporary unavailable state.

Handling errors well

Client rules
  • Branch on meta.error.statusCode and meta.error.type, not on message text.
  • Treat 409, 502, and 503 as transient — retry once or twice with bounded backoff.
  • Treat 400, 404, and 422 as request problems — fix the input instead of retrying.
  • Never log full API keys, raw profile payloads, or sensitive query parameters alongside errors.

Try it with your own records

Sign up for an API key — 100 free credits, no credit card — and the same key works on every documented endpoint.

Get API key

Keep reading