API9 min read

Error Codes Buyers Should Expect from a Lookup API

Error codes buyers should expect from a lookup API – auth failures, rate limits, validation, and server faults – with honest empty vs error billing semantics.

Buyers integrating a contact lookup API should know which error codes mean "fix your request," which mean "back off," and which mean "try later" – and how those paths relate to credits. Confusing empty completed finds with HTTP errors is how ledgers and trust break.

Invenitor is Connecting people; a lookup API, not a sales cloud. Soft mesh coverage varies; we do not publish hit-rate percentages. Empty means not found – that is a completed find outcome, not a 5xx. Hub: LinkedIn or GitHub Profile URL → Contact Lookup API. REST guide: REST Enrichment Inside a Hiring Product. OpenAPI: OpenAPI Hygiene for Enrichment Endpoints. Keys: Rate Limits and Keys.

Error families buyers should expect

FamilyTypical signalsClient actionCredit expectation
Auth401 / invalid keyRotate or fix keyShould not spend
Validation4xx bad URL / bodyFix inputShould not spend
Rate limit429Back off with jitterShould not spend
Server / timeout5xx / transport failRetry with capShould not spend
Empty find200 + empty fieldsLeave emptyFree under Credit B style

Billing pillar: Credits, Empty Results, and Timeouts. Primer: What Are API Credits. Pay-per-lookup: What Is Pay-Per-Lookup Pricing?. Honesty: Empty Means Not Found.

Empty is not an error

An empty completed find says: we looked; we do not have email/phone for this profile. That is soft mesh truth – When We Have Them. Do not map empty to a retry storm. Do not invent a fill to clear a red UI badge. Primary fields: One Primary Contact, Never Invented.

Production hygiene around errors

Agents must share the same codes

MCP tools should surface the same empty vs error distinction as REST – /mcp.md, Claude / Cursor Agents, Building a Recruiting Copilot, Agent-Readable Docs, MCP for Recruiting Agents, What Is an MCP Server for Hiring Product Teams?.

Commercial and trust angle

Demand written semantics before you buy – Trust Checklist. Price on found outcomes – /pricing, 25 to 1,000 Credits. Layer: Contact Lookup API vs CRM vs Sequencer. Category: What a Contact Lookup API Actually Does.

What should you do next?

Open /docs. Map your client's handling for 401, 429, validation, timeout, and empty. Confirm errors do not spend. Sample five free lookups. Size a pack on /pricing.

Procurement one-liner

We require documented lookup error codes with found-only credits – empties are not errors, and timeouts/errors do not spend.

Client mapping worksheet

Columns: code family | example | retry? | spend? | owner. Fill 401, validation, 429, timeout, empty. Honesty: Empty Means Not Found. Billing: Credits, Empty Results, and Timeouts. Primer: What Are API Credits. Pay-per-lookup: What Is Pay-Per-Lookup Pricing?. Trust: Trust Checklist. Marketing: When We Have Them. Hub: LinkedIn or GitHub Profile URL → Contact Lookup API. REST: REST Enrichment Inside a Hiring Product. OpenAPI: OpenAPI Hygiene. Keys: Rate Limits and Keys. ATS: Adding Contact Lookup to an ATS, Webhook-Free Enrichment. Agents: /mcp.md, Building a Recruiting Copilot, Claude / Cursor Agents, Agent-Readable Docs, Multi-Agent Hiring Pipelines. Packs: 25 to 1,000 Credits. Desks: Night-Shift Freelance Recruiters, Agency Desk Playbook. Category: What a Contact Lookup API Actually Does. Definition: What Is a Hiring Contact API?. /docs · /pricing.

Anti-pattern

Mapping empty to HTTP 500 teaches agents to retry forever. Empty is soft mesh truth – stop and leave blank.

Questions

Is an empty result an error code?

No. Empty completed finds are successful responses with no email/phone found – soft mesh truth, not a 5xx.

Should 429 responses spend credits?

No. Rate limits should not spend. Back off with jitter and reduce concurrency.

What about timeouts?

Timeouts and transport failures should not spend under honest Credit B style contracts.

How should UIs treat errors vs empties?

Separate badges. Never invent a contact to clear an empty state.

Do agents see different codes via MCP?

They should not. MCP and REST should share empty vs error semantics – see /mcp.md.

Where is OpenAPI hygiene covered?

OpenAPI Hygiene for Enrichment Endpoints – status codes, empties, credit headers.

What docs should buyers read first?

/docs, the credits pillar, rate limits and keys, and the trust checklist.

ShareShare on X

Look up a contact

Sign in, buy a pack, copy the key once. REST on docs. Agents read mcp.md.

Error Codes Buyers Should Expect from a Lookup API – Invenitor