Error Codes

Unknown query parameters return 400. If you pass a parameter the endpoint doesn't recognize (a typo like ?nme= instead of ?name=, or a guess like ?q= on an endpoint that uses ?keywords=), we respond with 400 Bad Request and list the valid parameter names for that endpoint in the error detail. This is deliberate: silently dropping an unrecognized filter would return unfiltered results to a caller who thought they were filtering, which has caused real bugs in customer integrations. Stick to the documented parameter names listed under each endpoint above.

Code Description Common Causes
400 Bad Request Invalid query parameters, unknown query parameter names, or malformed request
401 Unauthorized Missing or invalid API key
402 Payment Required Either a Pro capability (Companies, Contacts, Vendor Risk, Recompetes, Teaming, pricing benchmark and position) used without Pro, or a page size above your plan's max (Free 100, paid 1,000)
403 Forbidden Not used for entitlements. Page size over the plan cap returned 403 until 2026-09-12; it is now 402, the same as every other entitlement
404 Not Found Resource (notice_id) doesn't exist
422 Unprocessable Entity A parameter fails validation (e.g. limit below 1, negative offset, missing required since on delta, within_days out of range). A limit above your plan maximum is a 402, not a 422.
429 Too Many Requests Rate limit exceeded for your plan
500 Internal Server Error Server-side error (contact support)

A REST API and MCP server for U.S. federal procurement data.

Get a free key, emailed instantly, or follow the quickstart.

Found something wrong, missing or confusing on this page?

Press Ctrl + Enter to send a note. Highlight text first and it travels with your note.