DocsErrors
Errors
The FindIP API uses standard HTTP status codes and returns JSON error responses with details about what went wrong.
Error Response Format
All error responses follow this structure:
{
"detail": "Human-readable error message"
}HTTP Status Codes
Success Codes
| Code | Status | Description |
|---|---|---|
200 | OK | Request succeeded |
300 | Multiple Choices | Document ID matches multiple patents (see Document Detail API) |
Client Errors
| Code | Status | Description |
|---|---|---|
400 | Bad Request | Invalid request body. Missing required fields (e.g., query), invalid parameter types or values. |
401 | Unauthorized | Invalid or missing API key. Check your Authorization header. |
403 | Forbidden | API key is valid but does not have permission for this operation. |
404 | Not Found | The requested resource was not found (e.g., document ID does not exist). |
429 | Too Many Requests | Daily usage limit exceeded. Upgrade your plan or wait until the limit resets. |
Server Errors
| Code | Status | Description |
|---|---|---|
500 | Internal Server Error | An unexpected error occurred on the server. Try again later. |
503 | Service Unavailable | Server is temporarily unavailable (maintenance or overload). |
Common Error Scenarios
Missing or invalid API key
401 Unauthorized
{
"detail": "Invalid API key"
}Ensure your request includes Authorization: Bearer psk_live_xxx.
Daily limit exceeded
429 Too Many Requests
{
"detail": "Daily limit exceeded"
}Your daily API call quota has been reached. Limits reset at midnight UTC. Check your usage 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"
}Verify the publication_id format. Use the full ID including country code (e.g., US12261291B2 instead of 12261291).
Error Handling Best Practices
- 1.Always check the HTTP status code before parsing the response body.
- 2.Implement exponential backoff for
429and500errors. - 3.Log the full error response for debugging. The
detailfield provides actionable information. - 4.Handle
300 Multiple Choicesgracefully by presenting candidates to the user. - 5.Set a reasonable request timeout (30 seconds recommended for search, 10 seconds for other endpoints).