DocsError codes

Error codes

The FindIP API uses standard HTTP status codes and returns JSON error responses with detail about what went wrong.

Error response shape

Every error response follows this structure:

JSON
{
"detail": "Human-readable error message"
}

HTTP status codes

Success

CodeStatusDescription
200OKThe request succeeded.
300Multiple ChoicesThe document ID matched multiple patents. (See the document detail API.)

Client errors

CodeStatusDescription
400Bad RequestMalformed request. Missing required fields (e.g. query) or invalid parameter type/value.
401UnauthorizedMissing or invalid API key. Check the Authorization header.
403ForbiddenAPI key is valid but lacks permission for this operation.
404Not FoundThe requested resource doesn't exist (e.g. unknown document ID).
429Too Many RequestsMonthly search quota exceeded or 60 requests-per-minute rate limit hit. Upgrade your plan or wait for the next billing cycle.

Server errors

CodeStatusDescription
500Internal Server ErrorAn unexpected server-side error occurred. Retry after a short delay.
503Service UnavailableThe server is temporarily unavailable (maintenance or overload).

Common error scenarios

Missing or invalid API key

401 Unauthorized
{
"detail": "Invalid API key"
}

Make sure your request includes Authorization: Bearer psk_live_xxx.

Monthly search quota exceeded

429 Too Many Requests
{
"detail": "Monthly limit exceeded"
}

You've hit your monthly search quota. The quota auto-resets each billing cycle. Detail / drawings / document fetches are not counted. Check your status on the usage dashboard.

Missing required field

400 Bad Request
{
"detail": "Field 'query' is required"
}

Document not found

404 Not Found
{
"detail": "Document not found"
}

Check the publication_id format. You must use the full ID including country code (e.g. US12261291B2, not 12261291).

Error handling best practices

  1. Always inspect the HTTP status code before parsing the response body.
  2. For 429 and 500 errors, retry with exponential backoff.
  3. Log the full error response for debugging — the detail field carries the key information.
  4. When you receive 300 Multiple Choices, present the candidate list to the user for selection.
  5. Set sensible request timeouts (30 s for search, 10 s for other endpoints recommended).
FindIP — Semantic Patent Search