[{"data":1,"prerenderedAt":555},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fagents":204},[4,11,16,21,29,35,42,48,54,59,64,69,74,79,86,92,98,103,108,113,118,123,127,132,137,141,145,148,152,157,160,163,167,170,174,178,181,185,189,193,197,201],{"path":5,"title":6,"category":7,"order":8,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fagents","Agent brief","mcp",40,null,"new",{"path":12,"title":13,"category":14,"order":15,"family":9,"subfamily":9,"status":9,"endpointId":9},"\u002Fapi-reference","API reference","introduction",30,{"path":17,"title":18,"category":14,"order":19,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fauthentication","Authentication",20,"updated",{"path":22,"title":23,"category":24,"order":25,"family":26,"subfamily":27,"status":20,"endpointId":28},"\u002Fendpoints\u002Fcheck-company","Company profile status","endpoints",220,"Fetch","Company","check-company",{"path":30,"title":31,"category":24,"order":32,"family":26,"subfamily":33,"status":20,"endpointId":34},"\u002Fendpoints\u002Fcheck-person","Person profile status",120,"Person","check-person",{"path":36,"title":37,"category":24,"order":38,"family":39,"subfamily":40,"status":9,"endpointId":41},"\u002Fendpoints\u002Fcontact-email","Find Email",600,"Contact","Email","contact-email",{"path":43,"title":44,"category":24,"order":45,"family":39,"subfamily":46,"status":9,"endpointId":47},"\u002Fendpoints\u002Fcontact-phone","Find Phone",610,"Phone","contact-phone",{"path":49,"title":50,"category":24,"order":51,"family":52,"subfamily":27,"status":20,"endpointId":53},"\u002Fendpoints\u002Fenrich-company","Enrich company",90,"Enrichment","enrich-company",{"path":55,"title":56,"category":24,"order":57,"family":52,"subfamily":33,"status":20,"endpointId":58},"\u002Fendpoints\u002Fenrich-person","Enrich profile",80,"enrich-person",{"path":60,"title":61,"category":24,"order":62,"family":26,"subfamily":27,"status":20,"endpointId":63},"\u002Fendpoints\u002Ffetch-company","Company profile",200,"fetch-company",{"path":65,"title":66,"category":24,"order":67,"family":26,"subfamily":27,"status":20,"endpointId":68},"\u002Fendpoints\u002Ffetch-company-live","Company profile live",210,"fetch-company-live",{"path":70,"title":71,"category":24,"order":72,"family":26,"subfamily":33,"status":20,"endpointId":73},"\u002Fendpoints\u002Ffetch-profile","Person profile",100,"fetch-profile",{"path":75,"title":76,"category":24,"order":77,"family":26,"subfamily":33,"status":20,"endpointId":78},"\u002Fendpoints\u002Ffetch-profile-live","Person profile live",110,"fetch-profile-live",{"path":80,"title":81,"category":24,"order":82,"family":83,"subfamily":84,"status":20,"endpointId":85},"\u002Fendpoints\u002Fsearch-companies","Company search",94,"Search","Companies","search-companies",{"path":87,"title":88,"category":24,"order":89,"family":90,"subfamily":9,"status":20,"endpointId":91},"\u002Fendpoints\u002Fsearch-companies-available-fields","Company search available fields",720,"Utility","search-companies-available-fields",{"path":93,"title":94,"category":24,"order":95,"family":83,"subfamily":96,"status":10,"endpointId":97},"\u002Fendpoints\u002Fsearch-people","People search",92,"People","search-people",{"path":99,"title":100,"category":24,"order":101,"family":90,"subfamily":9,"status":10,"endpointId":102},"\u002Fendpoints\u002Fsearch-people-available-fields","People search available fields",710,"search-people-available-fields",{"path":104,"title":105,"category":24,"order":106,"family":83,"subfamily":96,"status":10,"endpointId":107},"\u002Fendpoints\u002Fsearch-people-count","People search count",93,"search-people-count",{"path":109,"title":110,"category":24,"order":111,"family":83,"subfamily":96,"status":10,"endpointId":112},"\u002Fendpoints\u002Fsearch-people-lookalike","People lookalike",95,"search-people-lookalike",{"path":114,"title":115,"category":24,"order":116,"family":83,"subfamily":96,"status":10,"endpointId":117},"\u002Fendpoints\u002Fsearch-people-prompt","Agentic Search",96,"search-people-prompt",{"path":119,"title":120,"category":24,"order":121,"family":90,"subfamily":9,"status":20,"endpointId":122},"\u002Fendpoints\u002Fusage","Usage",700,"usage",{"path":124,"title":125,"category":14,"order":126,"family":9,"subfamily":9,"status":9,"endpointId":9},"\u002Fgetting-started","Getting started",10,{"path":128,"title":129,"category":130,"order":131,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Fagent-skills","Agent skills","cli",70,{"path":133,"title":134,"category":135,"order":136,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Fapi-key-management","API key management","guides",12,{"path":138,"title":139,"category":130,"order":140,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Fcli","Command line interface (CLI)",60,{"path":142,"title":143,"category":135,"order":144,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Fcurrent-position-resolution","Current position and work history ordering",35,{"path":146,"title":147,"category":135,"order":8,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Fdata-freshness","Data freshness",{"path":149,"title":150,"category":135,"order":151,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Fdata-quality","Data quality",18,{"path":153,"title":154,"category":155,"order":156,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Fendpoint-transition-october-2026","Endpoint transition on October 13, 2026","migrations",1,{"path":158,"title":159,"category":135,"order":19,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Ferrors-retries","Error handling & retries",{"path":161,"title":162,"category":135,"order":126,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Ffirst-api-call","Your first API call",{"path":164,"title":165,"category":135,"order":166,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Findustries","Industry values",50,{"path":168,"title":169,"category":7,"order":166,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Fmcp","Connect AI agents (MCP)",{"path":171,"title":172,"category":155,"order":173,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Fmigrating-search-persons-to-people","Migrating people search from persons to people",51,{"path":175,"title":176,"category":135,"order":177,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fguides\u002Fmissing-and-empty-fields","Missing and empty profile fields",42,{"path":179,"title":180,"category":135,"order":15,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Fpolling","Polling, zero setup",{"path":182,"title":183,"category":135,"order":184,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Fproduction-checklist","Production checklist",45,{"path":186,"title":187,"category":135,"order":188,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Frate-limits-credits","Rate limits & credits",25,{"path":190,"title":191,"category":135,"order":192,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Fwebhooks","Webhooks",31,{"path":194,"title":195,"category":135,"order":196,"family":9,"subfamily":9,"status":20,"endpointId":9},"\u002Fguides\u002Fwhich-endpoint-should-i-use","Which endpoint should I use?",15,{"path":198,"title":199,"category":200,"order":126,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fsdk\u002Fjavascript","JavaScript and TypeScript","sdk",{"path":202,"title":203,"category":200,"order":19,"family":9,"subfamily":9,"status":10,"endpointId":9},"\u002Fsdk\u002Fpython","Python",{"id":205,"title":6,"audience":9,"badgeColor":9,"badgeLabel":9,"body":206,"category":7,"description":546,"endpointId":9,"extension":547,"family":9,"lastVerified":548,"links":9,"meta":549,"navigation":550,"order":8,"path":5,"relatedArticles":551,"requiresFlag":9,"seo":552,"status":10,"stem":553,"subfamily":9,"__hash__":554},"docs\u002Fagents.md",{"type":207,"value":208,"toc":533},"minimark",[209,213,217,225,229,390,394,401,415,419,422,468,472,477,488,492,520,524],[210,211,212],"h2",{"id":14},"Introduction",[214,215,216],"p",{},"This page is for developers who build an AI agent on top of the Reverse Contact API, and for the agents themselves. It lists where an agent finds the API's description, then gives a brief to paste into the agent's instructions: the rules that keep it from spending credits for nothing or misreading an answer.",[214,218,219,220,224],{},"Its Markdown copy is at ",[221,222,223],"code",{},"https:\u002F\u002Fdocs.reversecontact.com\u002Fagents.md",".",[210,226,228],{"id":227},"entry-points","Entry points",[230,231,232,248],"table",{},[233,234,235],"thead",{},[236,237,238,242,245],"tr",{},[239,240,241],"th",{},"Resource",[239,243,244],{},"Address",[239,246,247],{},"What it is for",[249,250,251,277,290,307,324,337,359,376],"tbody",{},[236,252,253,257,266],{},[254,255,256],"td",{},"OpenAPI spec",[254,258,259,262,263],{},[221,260,261],{},"https:\u002F\u002Fdocs.reversecontact.com\u002Fopenapi.json"," and ",[221,264,265],{},"\u002Fopenapi.yaml",[254,267,268,269,272,273,276],{},"Every operation with its parameters and responses, its docs page, its credit cost (",[221,270,271],{},"x-credits",") and its status (",[221,274,275],{},"x-availability",")",[236,278,279,282,287],{},[254,280,281],{},"Endpoint catalog",[254,283,284],{},[221,285,286],{},"https:\u002F\u002Fdocs.reversecontact.com\u002Fcatalog.json",[254,288,289],{},"Every endpoint with its method, path, credit cost, mode and status, the retired endpoints and their replacement, and every page",[236,291,292,295,300],{},[254,293,294],{},"Documentation index",[254,296,297],{},[221,298,299],{},"https:\u002F\u002Fdocs.reversecontact.com\u002Fllms.txt",[254,301,302,303,306],{},"Every page of this documentation by task, as Markdown links; ",[221,304,305],{},"llms-full.txt"," holds them all in one file",[236,308,309,312,317],{},[254,310,311],{},"API MCP server",[254,313,314],{},[221,315,316],{},"https:\u002F\u002Fapi.reversecontact.com\u002Fmcp",[254,318,319,320],{},"Tools that call the API from an agent: see ",[321,322,323],"a",{"href":168},"Connect AI agents",[236,325,326,329,334],{},[254,327,328],{},"Documentation MCP server",[254,330,331],{},[221,332,333],{},"https:\u002F\u002Fdocs.reversecontact.com\u002Fmcp",[254,335,336],{},"Tools that search and read this documentation, with no authentication",[236,338,339,342,351],{},[254,340,341],{},"CLI and agent skill",[254,343,344,347,348],{},[221,345,346],{},"rc",", and ",[221,349,350],{},"npx skills add visum-run\u002Fskills",[254,352,353,354,262,357],{},"The API from a terminal or a coding agent: see ",[321,355,356],{"href":138},"CLI",[321,358,129],{"href":128},[236,360,361,364,369],{},[254,362,363],{},"Base URL",[254,365,366],{},[221,367,368],{},"https:\u002F\u002Fapi.reversecontact.com",[254,370,371,372,375],{},"Every endpoint: the paths start with ",[221,373,374],{},"\u002Fv2",", as in the spec",[236,377,378,380,385],{},[254,379,18],{},[254,381,382],{},[221,383,384],{},"Authorization: Bearer rc_your_api_key",[254,386,387,388],{},"Every request: see ",[321,389,18],{"href":17},[210,391,393],{"id":392},"brief-to-paste-into-your-agent","Brief to paste into your agent",[214,395,396,397,400],{},"Copy this block into the system prompt or the instructions of your agent, and give it the API key in the ",[221,398,399],{},"RC_API_KEY"," environment variable.",[402,403,404],"code-group",{"title":6},[405,406,413],"pre",{"className":407,"code":409,"filename":410,"language":411,"meta":412},[408],"language-text","You can call the Reverse Contact API for B2B people and company data.\nSpec (OpenAPI 3.1): https:\u002F\u002Fdocs.reversecontact.com\u002Fopenapi.json\nEndpoints with their credit cost and status: https:\u002F\u002Fdocs.reversecontact.com\u002Fcatalog.json\nDocumentation index: https:\u002F\u002Fdocs.reversecontact.com\u002Fllms.txt\nBase URL: https:\u002F\u002Fapi.reversecontact.com (every path below starts with \u002Fv2)\nAuth: Authorization: Bearer $RC_API_KEY (keys start with rc_)\n\n- Requests and responses are JSON. Every response has success, data and error. Most also carry\n  quotas and metadata, but a 401, 410 or 429 has no quotas.\n- Each operation's x-credits field gives its cost. When a response has quotas,\n  quotas.creditsConsumed says what the call cost.\n- Check the balance first with GET \u002Fv2\u002Fusage (free).\n- With a profile URL: POST \u002Fv2\u002Ffetch\u002Fpersons\u002Fcheck (free, but it needs at least 2 credits in the\n  workspace) says whether the profile exists and when it was last updated. Then\n  POST \u002Fv2\u002Ffetch\u002Fpersons (1 credit) for the cached copy, or POST \u002Fv2\u002Ffetch\u002Fpersons\u002Flive (2 credits) when it is missing or too old. Live fetches are not\n  available on the free trial: they return 403 TRIAL_ENDPOINT_RESTRICTED there.\n- With an email or a name instead: POST \u002Fv2\u002Fenrich\u002Fpersons (2 credits, only when a person is found).\n- Size a people search with POST \u002Fv2\u002Fsearch\u002Fpeople\u002Fcount (free) before POST \u002Fv2\u002Fsearch\u002Fpeople\n  (1 credit per profile delivered). GET \u002Fv2\u002Fsearch\u002Fpeople\u002Favailable-fields (free) lists the filters:\n  an unknown filter returns 422 and costs nothing.\n- On enrich, a 404 means no confident match; on the cached fetch, a profile not in the cache. Both\n  are free, and the API never returns a guess instead. Report \"not found\"; do not retry.\n- null in a field means unknown. It is not zero and not an empty value.\n- Live fetches, Find Email and Find Phone answer with data.webhookId. Poll\n  GET \u002Fv2\u002Fwebhooks\u002F{webhookId} (free, not rate limited) until status is succeeded or errored.\n- 429: wait error.details.retryAfter seconds, then retry. 500, 502, 503 or 504: retry\n  with exponential backoff, a few times at most. Any other error: fix the request, do not retry.\n- 451: the person was removed under GDPR or CCPA. Drop the record and never retry it.\n- \u002Fv2\u002Fsearch\u002Fpersons is retired (410 Gone): use \u002Fv2\u002Fsearch\u002Fpeople.\n","Brief","text","",[221,414,409],{"__ignoreMap":412},[210,416,418],{"id":417},"why-these-rules","Why these rules",[214,420,421],{},"Each line of the brief comes from a page of this documentation:",[423,424,425,436,452,458,463],"ul",{},[426,427,428,429,431,432,262,434,224],"li",{},"Free checks and counts before paid calls: ",[321,430,147],{"href":146},", ",[321,433,105],{"href":104},[321,435,187],{"href":186},[426,437,438,439,442,443,446,447,262,449,224],{},"A ",[221,440,441],{},"404"," rather than a guess, and ",[221,444,445],{},"null"," as unknown: ",[321,448,150],{"href":149},[321,450,451],{"href":175},"Missing and empty fields",[426,453,454,455,224],{},"Jobs and polling: ",[321,456,457],{"href":179},"Polling",[426,459,460,461,224],{},"What to retry: ",[321,462,159],{"href":158},[426,464,465,466,224],{},"The retired endpoints: ",[321,467,154],{"href":153},[210,469,471],{"id":470},"faq","FAQ",[473,474,476],"h3",{"id":475},"how-do-i-give-an-ai-agent-access-to-the-reverse-contact-api","How do I give an AI agent access to the Reverse Contact API?",[214,478,479,480,482,483,485,486,224],{},"Give the agent an API key in the ",[221,481,399],{}," environment variable and paste the brief of this page into its instructions: it points to the OpenAPI spec at ",[221,484,261],{}," and states the credit and retry rules. A conversational agent can instead connect to the Reverse Contact MCP server at ",[221,487,316],{},[473,489,491],{"id":490},"how-does-an-agent-know-what-a-reverse-contact-endpoint-costs","How does an agent know what a Reverse Contact endpoint costs?",[214,493,494,495,497,498,500,501,504,505,508,509,431,512,515,516,519],{},"Each operation of the Reverse Contact OpenAPI spec carries an ",[221,496,271],{}," field with its cost, and ",[221,499,286],{}," lists every endpoint with the same information. After a call, ",[221,502,503],{},"quotas.creditsConsumed"," says what it cost, in the responses that carry ",[221,506,507],{},"quotas"," (a ",[221,510,511],{},"401",[221,513,514],{},"410"," or ",[221,517,518],{},"429"," does not).",[473,521,523],{"id":522},"is-there-an-mcp-server-for-the-reverse-contact-documentation","Is there an MCP server for the Reverse Contact documentation?",[214,525,526,527,529,530,532],{},"Yes. ",[221,528,333],{}," is an MCP server, over Streamable HTTP and with no authentication, whose tools search and read this documentation. It is separate from the API MCP server at ",[221,531,316],{},", which calls the API itself.",{"title":412,"searchDepth":534,"depth":534,"links":535},3,[536,538,539,540,541],{"id":14,"depth":537,"text":212},2,{"id":227,"depth":537,"text":228},{"id":392,"depth":537,"text":393},{"id":417,"depth":537,"text":418},{"id":470,"depth":537,"text":471,"children":542},[543,544,545],{"id":475,"depth":534,"text":476},{"id":490,"depth":534,"text":491},{"id":522,"depth":534,"text":523},"Everything an AI agent needs to call the Reverse Contact API: the entry points, and a brief to paste into its instructions.","md","2026-10-15",{},true,"\u002Fdocs\u002Fguides\u002Fmcp,\u002Fdocs\u002Fguides\u002Fcli,\u002Fdocs\u002Fguides\u002Fagent-skills",{"title":6,"description":546},"agents","LC793Z7uQvrd2ZgxBjEzwAOsepFvYD87CC_pyOEsIzM",1792078621428]