[{"data":1,"prerenderedAt":994},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fsdk\u002Fjavascript\u002Ferrors-and-retries":459},[4,12,16,21,27,34,41,47,54,59,65,71,76,81,86,91,96,101,106,111,116,121,127,132,137,142,148,154,159,164,169,174,179,186,192,197,202,208,213,218,223,227,232,237,240,244,249,253,256,260,263,267,270,273,279,282,286,289,292,295,299,303,306,310,313,316,319,322,326,330,334,338,343,347,350,353,356,359,362,365,368,371,374,377,380,383,386,389,393,396,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,440,443,447,450,453,456],{"path":5,"title":6,"category":7,"order":8,"family":9,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fagents","Agent brief","mcp",40,"AI agents",null,"new",{"path":13,"title":14,"category":7,"order":15,"family":9,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fai-agents","Use Reverse Contact from an AI agent",10,{"path":17,"title":18,"category":19,"order":20,"family":10,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fapi-reference","API reference","introduction",30,{"path":22,"title":23,"category":19,"order":24,"family":25,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fauthentication","Authentication",20,"Get started","updated",{"path":28,"title":29,"category":30,"order":31,"family":32,"subfamily":10,"status":11,"endpointId":33,"badgeLabel":10},"\u002Fendpoints\u002Fbulk-enrich-persons","Bulk enrichment","endpoints",660,"Bulk","bulk-enrich-persons",{"path":35,"title":36,"category":30,"order":37,"family":38,"subfamily":39,"status":26,"endpointId":40,"badgeLabel":10},"\u002Fendpoints\u002Fcheck-company","Company profile status",220,"Fetch","Company","check-company",{"path":42,"title":43,"category":30,"order":44,"family":38,"subfamily":45,"status":26,"endpointId":46,"badgeLabel":10},"\u002Fendpoints\u002Fcheck-person","Person profile status",120,"Person","check-person",{"path":48,"title":49,"category":30,"order":50,"family":51,"subfamily":52,"status":10,"endpointId":53,"badgeLabel":10},"\u002Fendpoints\u002Fcontact-email","Find Email",600,"Contact","Email","contact-email",{"path":55,"title":56,"category":30,"order":57,"family":51,"subfamily":52,"status":10,"endpointId":58,"badgeLabel":10},"\u002Fendpoints\u002Fcontact-email-verify","Verify Email",605,"contact-email-verify",{"path":60,"title":61,"category":30,"order":62,"family":51,"subfamily":63,"status":10,"endpointId":64,"badgeLabel":10},"\u002Fendpoints\u002Fcontact-phone","Find Phone",610,"Phone","contact-phone",{"path":66,"title":67,"category":30,"order":68,"family":69,"subfamily":39,"status":26,"endpointId":70,"badgeLabel":10},"\u002Fendpoints\u002Fenrich-company","Enrich company",90,"Enrichment","enrich-company",{"path":72,"title":73,"category":30,"order":74,"family":69,"subfamily":45,"status":26,"endpointId":75,"badgeLabel":10},"\u002Fendpoints\u002Fenrich-person","Enrich profile",80,"enrich-person",{"path":77,"title":78,"category":30,"order":79,"family":38,"subfamily":39,"status":26,"endpointId":80,"badgeLabel":10},"\u002Fendpoints\u002Ffetch-company","Company profile",200,"fetch-company",{"path":82,"title":83,"category":30,"order":84,"family":38,"subfamily":39,"status":26,"endpointId":85,"badgeLabel":10},"\u002Fendpoints\u002Ffetch-company-live","Company profile live",210,"fetch-company-live",{"path":87,"title":88,"category":30,"order":89,"family":38,"subfamily":45,"status":26,"endpointId":90,"badgeLabel":10},"\u002Fendpoints\u002Ffetch-profile","Person profile",100,"fetch-profile",{"path":92,"title":93,"category":30,"order":94,"family":38,"subfamily":45,"status":26,"endpointId":95,"badgeLabel":10},"\u002Fendpoints\u002Ffetch-profile-live","Person profile live",110,"fetch-profile-live",{"path":97,"title":98,"category":30,"order":99,"family":32,"subfamily":10,"status":11,"endpointId":100,"badgeLabel":10},"\u002Fendpoints\u002Fjob","Get a job",662,"job",{"path":102,"title":103,"category":30,"order":104,"family":32,"subfamily":10,"status":11,"endpointId":105,"badgeLabel":10},"\u002Fendpoints\u002Fjob-cancel","Cancel a job",664,"job-cancel",{"path":107,"title":108,"category":30,"order":109,"family":32,"subfamily":10,"status":11,"endpointId":110,"badgeLabel":10},"\u002Fendpoints\u002Fjob-results","Download job results",663,"job-results",{"path":112,"title":113,"category":30,"order":114,"family":32,"subfamily":10,"status":11,"endpointId":115,"badgeLabel":10},"\u002Fendpoints\u002Fjob-rows","Read job results by page",663.5,"job-rows",{"path":117,"title":118,"category":30,"order":119,"family":32,"subfamily":10,"status":11,"endpointId":120,"badgeLabel":10},"\u002Fendpoints\u002Fjobs","Job history",661,"jobs",{"path":122,"title":123,"category":30,"order":124,"family":125,"subfamily":125,"status":11,"endpointId":126,"badgeLabel":10},"\u002Fendpoints\u002Flist","Get a List",642,"Lists","list",{"path":128,"title":129,"category":30,"order":130,"family":125,"subfamily":125,"status":11,"endpointId":131,"badgeLabel":10},"\u002Fendpoints\u002Flist-create","Create a List",641,"list-create",{"path":133,"title":134,"category":30,"order":135,"family":125,"subfamily":125,"status":11,"endpointId":136,"badgeLabel":10},"\u002Fendpoints\u002Flist-delete","Delete a List",643,"list-delete",{"path":138,"title":139,"category":30,"order":140,"family":125,"subfamily":125,"status":11,"endpointId":141,"badgeLabel":10},"\u002Fendpoints\u002Flist-export","Export a List",644,"list-export",{"path":143,"title":144,"category":30,"order":145,"family":125,"subfamily":146,"status":11,"endpointId":147,"badgeLabel":10},"\u002Fendpoints\u002Flist-intake-signals","Import members and data",648,"Imports","list-intake-signals",{"path":149,"title":150,"category":30,"order":151,"family":125,"subfamily":152,"status":11,"endpointId":153,"badgeLabel":10},"\u002Fendpoints\u002Flist-members","List members",645,"Members","list-members",{"path":155,"title":156,"category":30,"order":157,"family":125,"subfamily":152,"status":11,"endpointId":158,"badgeLabel":10},"\u002Fendpoints\u002Flist-members-add","Add members",646,"list-members-add",{"path":160,"title":161,"category":30,"order":162,"family":125,"subfamily":152,"status":11,"endpointId":163,"badgeLabel":10},"\u002Fendpoints\u002Flist-members-remove","Remove members",647,"list-members-remove",{"path":165,"title":166,"category":30,"order":167,"family":125,"subfamily":146,"status":11,"endpointId":168,"badgeLabel":10},"\u002Fendpoints\u002Flist-operation","Read a List operation",649,"list-operation",{"path":170,"title":171,"category":30,"order":172,"family":125,"subfamily":146,"status":11,"endpointId":173,"badgeLabel":10},"\u002Fendpoints\u002Flist-operation-cancel","Cancel a List operation",650,"list-operation-cancel",{"path":175,"title":176,"category":30,"order":177,"family":125,"subfamily":125,"status":11,"endpointId":178,"badgeLabel":10},"\u002Fendpoints\u002Flists","All Lists",640,"lists",{"path":180,"title":181,"category":30,"order":182,"family":183,"subfamily":184,"status":11,"endpointId":185,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies","Company search",94,"Search","Companies","search-organizations",{"path":187,"title":188,"category":30,"order":189,"family":190,"subfamily":10,"status":11,"endpointId":191,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies-available-fields","Company search available fields",720,"Utility","search-organizations-available-fields",{"path":193,"title":194,"category":30,"order":195,"family":183,"subfamily":184,"status":11,"endpointId":196,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies-count","Company search count",95,"search-organizations-count",{"path":198,"title":199,"category":30,"order":200,"family":183,"subfamily":184,"status":11,"endpointId":201,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies-prompt","Agentic Company Search",97,"search-organizations-prompt",{"path":203,"title":204,"category":30,"order":205,"family":183,"subfamily":206,"status":11,"endpointId":207,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people","People search",92,"People","search-people",{"path":209,"title":210,"category":30,"order":211,"family":190,"subfamily":10,"status":11,"endpointId":212,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-auto-suggestion","People auto-suggestion",730,"search-people-auto-suggestion",{"path":214,"title":215,"category":30,"order":216,"family":190,"subfamily":10,"status":11,"endpointId":217,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-available-fields","People search available fields",710,"search-people-available-fields",{"path":219,"title":220,"category":30,"order":221,"family":183,"subfamily":206,"status":11,"endpointId":222,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-count","People search count",93,"search-people-count",{"path":224,"title":225,"category":30,"order":195,"family":183,"subfamily":206,"status":11,"endpointId":226,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-lookalike","People lookalike","search-people-lookalike",{"path":228,"title":229,"category":30,"order":230,"family":183,"subfamily":206,"status":11,"endpointId":231,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-prompt","Agentic Search",96,"search-people-prompt",{"path":233,"title":234,"category":30,"order":235,"family":190,"subfamily":10,"status":26,"endpointId":236,"badgeLabel":10},"\u002Fendpoints\u002Fusage","Usage",700,"usage",{"path":238,"title":239,"category":19,"order":15,"family":25,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fgetting-started","Getting started",{"path":241,"title":242,"category":243,"order":20,"family":9,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fagent-skills","Agent skills","cli",{"path":245,"title":246,"category":247,"order":20,"family":248,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fapi-key-management","API key management","guides","Credits & limits",{"path":250,"title":251,"category":247,"order":24,"family":252,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fbuild-a-list","Build your first List","Work in bulk",{"path":254,"title":255,"category":247,"order":20,"family":252,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fbulk-enrichment","Enrich people in bulk",{"path":257,"title":258,"category":243,"order":15,"family":259,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fcli","Command line interface (CLI)","CLI",{"path":261,"title":262,"category":247,"order":15,"family":248,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fcredits","Credits",{"path":264,"title":265,"category":247,"order":8,"family":266,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fcurrent-position-resolution","Current position and work history ordering","Understand the data",{"path":268,"title":269,"category":247,"order":24,"family":266,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fdata-freshness","Data freshness",{"path":271,"title":272,"category":247,"order":15,"family":266,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fdata-quality","Data quality",{"path":274,"title":275,"category":276,"order":277,"family":10,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":278},"\u002Fguides\u002Fendpoint-transition-october-2026","Endpoint transition on October 13, 2026","migrations",1,"Important",{"path":280,"title":281,"category":247,"order":8,"family":252,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fenrich-a-csv-file","Enrich a CSV file",{"path":283,"title":284,"category":247,"order":15,"family":285,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Ferrors-retries","Error handling & retries","Go to production",{"path":287,"title":288,"category":247,"order":20,"family":25,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Ffirst-api-call","Your first API call",{"path":290,"title":291,"category":247,"order":15,"family":252,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Flists","Lists: orchestrate enrichment",{"path":293,"title":294,"category":7,"order":24,"family":9,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fmcp","Connect AI agents (MCP)",{"path":296,"title":297,"category":276,"order":298,"family":10,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fmigrating-search-companies-to-organizations","Migrating company search to the new endpoint",2,{"path":300,"title":301,"category":276,"order":302,"family":10,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fmigrating-search-persons-to-people","Migrating people search from persons to people",51,{"path":304,"title":305,"category":247,"order":20,"family":266,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fmissing-and-empty-fields","Missing and empty profile fields",{"path":307,"title":308,"category":247,"order":15,"family":309,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fpolling","Polling for async results","Async results",{"path":311,"title":312,"category":247,"order":24,"family":285,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fproduction-checklist","Production checklist",{"path":314,"title":315,"category":247,"order":24,"family":248,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Frate-limits","Rate limits",{"path":317,"title":318,"category":247,"order":24,"family":309,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fwebhooks","Webhooks",{"path":320,"title":321,"category":247,"order":8,"family":25,"subfamily":10,"status":26,"endpointId":10,"badgeLabel":10},"\u002Fguides\u002Fwhich-endpoint-should-i-use","Which endpoint should I use?",{"path":323,"title":324,"category":325,"order":302,"family":10,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Freference\u002Fareas","Area values","reference",{"path":327,"title":328,"category":325,"order":329,"family":10,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Freference\u002Findustries","Industry values",50,{"path":331,"title":332,"category":333,"order":15,"family":25,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript","TypeScript and JavaScript SDK","sdk",{"path":335,"title":336,"category":333,"order":15,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fasync-jobs","Async jobs","Guides",{"path":339,"title":340,"category":333,"order":341,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fbulk","client.bulk",60,"Resources",{"path":344,"title":345,"category":333,"order":346,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fclient-options","Client options",70,{"path":348,"title":349,"category":333,"order":8,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fcontact","client.contact",{"path":351,"title":352,"category":333,"order":15,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fenrich","client.enrich",{"path":354,"title":355,"category":333,"order":329,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Ferrors-and-retries","Errors and retries",{"path":357,"title":358,"category":333,"order":24,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Ffetch","client.fetch",{"path":360,"title":361,"category":333,"order":8,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Ffilter-constants","Filter values as constants",{"path":363,"title":364,"category":333,"order":20,"family":25,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Ffirst-call","First call",{"path":366,"title":367,"category":333,"order":24,"family":25,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Finstall","Install and configure",{"path":369,"title":370,"category":333,"order":346,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fjobs","client.jobs",{"path":372,"title":373,"category":333,"order":329,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Flists","client.lists",{"path":375,"title":376,"category":333,"order":24,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Flists-and-bulk","Lists and Bulk enrichment",{"path":378,"title":379,"category":333,"order":20,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fsearch","client.search",{"path":381,"title":382,"category":333,"order":20,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fsearch-budget","Search within a budget",{"path":384,"title":385,"category":333,"order":341,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Ftimeouts","Timeouts and cancellation",{"path":387,"title":388,"category":333,"order":74,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fusage","client.usage",{"path":390,"title":391,"category":333,"order":15,"family":392,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fwithout-the-sdk","Without the SDK","More",{"path":394,"title":395,"category":333,"order":15,"family":25,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython","Python SDK",{"path":397,"title":398,"category":333,"order":15,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fasync-client","Async client",{"path":400,"title":336,"category":333,"order":24,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fasync-jobs",{"path":402,"title":340,"category":333,"order":341,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fbulk",{"path":404,"title":345,"category":333,"order":74,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fclient-options",{"path":406,"title":349,"category":333,"order":8,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fcontact",{"path":408,"title":352,"category":333,"order":15,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fenrich",{"path":410,"title":355,"category":333,"order":341,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Ferrors-and-retries",{"path":412,"title":358,"category":333,"order":24,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Ffetch",{"path":414,"title":361,"category":333,"order":329,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Ffilter-constants",{"path":416,"title":364,"category":333,"order":20,"family":25,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Ffirst-call",{"path":418,"title":367,"category":333,"order":24,"family":25,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Finstall",{"path":420,"title":370,"category":333,"order":346,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fjobs",{"path":422,"title":373,"category":333,"order":329,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Flists",{"path":424,"title":376,"category":333,"order":20,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Flists-and-bulk",{"path":426,"title":379,"category":333,"order":20,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fsearch",{"path":428,"title":382,"category":333,"order":8,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fsearch-budget",{"path":430,"title":385,"category":333,"order":346,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Ftimeouts",{"path":432,"title":388,"category":333,"order":74,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fusage",{"path":434,"title":391,"category":333,"order":15,"family":392,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fwithout-the-sdk",{"path":436,"title":437,"category":438,"order":341,"family":439,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fuse-cases\u002Fbuild-a-list-of-companies","Build a list of companies","use-cases","Build lists",{"path":441,"title":442,"category":438,"order":329,"family":439,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fuse-cases\u002Fbuild-a-list-of-people","Build a list of people",{"path":444,"title":445,"category":438,"order":24,"family":446,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fuse-cases\u002Ffind-a-company","Find a company from a domain or a page URL","Find & enrich",{"path":448,"title":449,"category":438,"order":15,"family":446,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fuse-cases\u002Ffind-a-person","Find a person from an email, a name or a profile URL",{"path":451,"title":452,"category":438,"order":8,"family":51,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fuse-cases\u002Fget-a-work-email-or-phone","Get a work email or a phone number",{"path":454,"title":455,"category":438,"order":277,"family":10,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fuse-cases","Reverse Contact API use cases",{"path":457,"title":458,"category":438,"order":20,"family":446,"subfamily":10,"status":11,"endpointId":10,"badgeLabel":10},"\u002Fuse-cases\u002Fkeep-profiles-fresh","Keep profiles fresh",{"id":460,"title":355,"audience":10,"badgeColor":10,"badgeLabel":10,"body":461,"category":333,"description":985,"endpointId":10,"extension":986,"family":337,"lastVerified":987,"links":10,"meta":988,"navigation":989,"order":329,"path":354,"relatedArticles":990,"requiresFlag":10,"seo":991,"status":10,"stem":992,"subfamily":10,"__hash__":993},"docs\u002Fsdk\u002Fjavascript\u002Ferrors-and-retries.md",{"type":462,"value":463,"toc":973},"minimark",[464,468,473,508,683,696,699,750,780,787,802,808,812,829,844,853,859,879,888,892,915,921,925,930,936,940,950,954,963,967],[465,466,467],"p",{},"Catch SDK errors by class and preserve the request id when reporting an API failure.",[469,470,472],"h2",{"id":471},"error-classes-and-retry-policy","Error classes and retry policy",[465,474,475,476,480,481,484,485,488,489,488,491,488,494,488,497,488,500,503,504,507],{},"Every SDK error extends ",[477,478,479],"code",{},"ReverseContactError",". Errors returned by the API extend ",[477,482,483],{},"APIError"," and include ",[477,486,487],{},"status",", ",[477,490,477],{},[477,492,493],{},"message",[477,495,496],{},"details",[477,498,499],{},"requestId",[477,501,502],{},"headers"," and ",[477,505,506],{},"body",".",[509,510,511,524],"table",{},[512,513,514],"thead",{},[515,516,517,521],"tr",{},[518,519,520],"th",{},"HTTP status",[518,522,523],{},"Error class",[525,526,527,540,552,564,576,593,605,617,629,646,658,670],"tbody",{},[515,528,529,535],{},[530,531,532],"td",{},[477,533,534],{},"400",[530,536,537],{},[477,538,539],{},"BadRequestError",[515,541,542,547],{},[530,543,544],{},[477,545,546],{},"401",[530,548,549],{},[477,550,551],{},"AuthenticationError",[515,553,554,559],{},[530,555,556],{},[477,557,558],{},"402",[530,560,561],{},[477,562,563],{},"InsufficientCreditsError",[515,565,566,571],{},[530,567,568],{},[477,569,570],{},"403",[530,572,573],{},[477,574,575],{},"PermissionDeniedError",[515,577,578,583],{},[530,579,580],{},[477,581,582],{},"404",[530,584,585,588,589,592],{},[477,586,587],{},"NotFoundError"," (a lookup with no match returns ",[477,590,591],{},"null"," instead)",[515,594,595,600],{},[530,596,597],{},[477,598,599],{},"409",[530,601,602],{},[477,603,604],{},"ConflictError",[515,606,607,612],{},[530,608,609],{},[477,610,611],{},"410",[530,613,614],{},[477,615,616],{},"GoneError",[515,618,619,624],{},[530,620,621],{},[477,622,623],{},"422",[530,625,626],{},[477,627,628],{},"UnprocessableEntityError",[515,630,631,636],{},[530,632,633],{},[477,634,635],{},"429",[530,637,638,641,642,645],{},[477,639,640],{},"RateLimitError",", or ",[477,643,644],{},"DailyLimitError"," for a daily limit",[515,647,648,653],{},[530,649,650],{},[477,651,652],{},"451",[530,654,655],{},[477,656,657],{},"UnavailableForLegalReasonsError",[515,659,660,665],{},[530,661,662],{},[477,663,664],{},"5xx",[530,666,667],{},[477,668,669],{},"InternalServerError",[515,671,672,678],{},[530,673,674,675],{},"Any status with ",[477,676,677],{},"KEY_CREDIT_LIMIT_REACHED",[530,679,680],{},[477,681,682],{},"KeyCreditLimitError",[465,684,685,686,689,690,693,694,507],{},"A network failure raises ",[477,687,688],{},"APIConnectionError",". An attempt that times out raises ",[477,691,692],{},"APITimeoutError",", a subclass of ",[477,695,688],{},[465,697,698],{},"The SDK retries a request up to 4 times after the first attempt, 5 attempts in total:",[700,701,702,717,736,739],"ul",{},[703,704,705,706,708,709,712,713,716],"li",{},"For a ",[477,707,635],{}," from the per-minute rate limit, the SDK uses ",[477,710,711],{},"error.details.retryAfter"," as the delay, or the ",[477,714,715],{},"Retry-After"," header if that value is missing. Otherwise, the SDK backs off.",[703,718,705,719,488,722,488,725,728,729,732,733,735],{},[477,720,721],{},"500",[477,723,724],{},"502",[477,726,727],{},"503"," or ",[477,730,731],{},"504",", the SDK uses exponential backoff: 2, 4, 8, then 15 seconds, plus up to 250 milliseconds of jitter. If the response includes ",[477,734,715],{},", the SDK uses that delay instead.",[703,737,738],{},"If the requested wait exceeds 60 seconds, the SDK raises the error at once.",[703,740,741,742,745,746,749],{},"A network failure or a timed-out attempt is retried on ",[477,743,744],{},"GET"," requests. A ",[477,747,748],{},"POST"," is retried only when the connection was never established, so a request the API may already have billed is never sent twice. Find Email, Verify Email and Find Phone are the exception, protected by their idempotency key (see below).",[465,751,752,753,755,756,503,759,762,763,765,766,768,769,772,773,775,776,779],{},"The SDK never retries ",[477,754,644],{}," (daily limits, ",[477,757,758],{},"DAILY_LIMIT_EXCEEDED",[477,760,761],{},"DAILY_EXTRACTION_LIMIT_EXCEEDED","), ",[477,764,682],{}," (an API key credit limit) or ",[477,767,563],{},". Other ",[477,770,771],{},"4xx"," errors are not retried either, except per-minute ",[477,774,635],{}," rate limits and ",[477,777,778],{},"409 IDEMPOTENCY_KEY_IN_USE"," for Find Email, Verify Email and Find Phone.",[465,781,782,783,786],{},"For a non-retryable error, change the request, key or account, or wait until the next day. Set ",[477,784,785],{},"maxRetries: 0"," to turn retries off.",[788,789,791],"code-group",{"title":790},"Handle errors",[792,793,800],"pre",{"className":794,"code":796,"filename":797,"language":798,"meta":799},[795],"language-typescript","import ReverseContact, { APIError, DailyLimitError, KeyCreditLimitError } from \"@reverse-contact\u002Fsdk\";\n\nconst client = new ReverseContact({ apiKey: process.env.RC_API_KEY });\n\ntry {\n  await client.enrich.company({ domain: \"acme.com\" });\n} catch (error) {\n  if (error instanceof DailyLimitError || error instanceof KeyCreditLimitError) {\n    \u002F\u002F Not retried: pause the work until the limit resets.\n    console.error(\"Limit reached:\", error.code, \"retry after\", error.retryAfter, \"seconds\");\n  } else if (error instanceof APIError) {\n    console.error(error.status, error.code, error.message, \"request id:\", error.requestId);\n  } else {\n    throw error;\n  }\n}\n","TypeScript SDK","typescript","",[477,801,796],{"__ignoreMap":799},[465,803,804,807],{},[805,806,284],"a",{"href":283}," lists every error code of the API.",[469,809,811],{"id":810},"safe-retries-on-find-email-and-find-phone","Safe retries on Find Email and Find Phone",[465,813,814,815,488,818,503,821,824,825,828],{},"Sending the same Find Email, Verify Email or Find Phone request twice would start two jobs, and both can be billed. To prevent duplicate jobs on automatic retries, ",[477,816,817],{},"contact.findEmail",[477,819,820],{},"contact.verifyEmail",[477,822,823],{},"contact.findPhone"," send an ",[477,826,827],{},"Idempotency-Key"," header with a new UUID on each call. The SDK reuses that key on every automatic retry of the call. For 24 hours, repeating the same key and body returns the first response without starting or billing another lookup.",[465,830,831,832,835,836,839,840,843],{},"To retry safely after your process restarts, choose the key yourself, store it with the request, and pass it as ",[477,833,834],{},"idempotencyKey",". ",[477,837,838],{},"job.replayed"," is ",[477,841,842],{},"true"," when the API returned the first response again.",[788,845,847],{"title":846},"Idempotency key",[792,848,851],{"className":849,"code":850,"filename":797,"language":798,"meta":799},[795],"import ReverseContact from \"@reverse-contact\u002Fsdk\";\n\nconst client = new ReverseContact({ apiKey: process.env.RC_API_KEY });\n\nconst job = await client.contact.findEmail(\n  { fullName: \"Jane Doe\", companyDomain: \"acme.com\", emailType: \"any\" },\n  { idempotencyKey: \"crm-contact-4821-email\" }\n);\nconsole.log(job.id, job.replayed ? \"first response returned again\" : \"new lookup\");\n\nconst done = await job.wait();\nfor (const email of done.data.result ?? []) console.log(email.value, email.type);\n",[477,852,850],{"__ignoreMap":799},[465,854,855,856,858],{},"Use 1 to 255 printable ASCII characters without spaces, and a new key for each new lookup. If the key is empty, longer than 255 characters, or contains a space or non-ASCII character, the SDK raises ",[477,857,479],{}," before sending a request.",[465,860,861,862,864,865,867,868,871,872,875,876,507],{},"The SDK retries ",[477,863,778],{}," after the delay in ",[477,866,715],{},". A ",[477,869,870],{},"422 IDEMPOTENCY_KEY_REUSED"," (same key, different body) and a ",[477,873,874],{},"400 INVALID_IDEMPOTENCY_KEY"," are not retried. After 24 hours, the same key can start and bill a new lookup. To read a job you already started, call ",[477,877,878],{},"client.jobs.wait(id)",[465,880,881,882,885,886,507],{},"List creation and Bulk submission also generate keys. List imports generate an ",[477,883,884],{},"operationId",". See ",[805,887,376],{"href":375},[469,889,891],{"id":890},"local-validation-and-job-errors","Local validation and job errors",[465,893,894,896,897,900,901,904,905,728,908,885,911,503,913,507],{},[477,895,479],{}," also reports invalid SDK options, missing search budgets, repeated pagination cursors and malformed webhook envelopes. ",[477,898,899],{},"JobTimeoutError"," reports an expired wait deadline. ",[477,902,903],{},"JobFailedError"," reports a failed live-fetch or contact job from ",[477,906,907],{},"job.wait()",[477,909,910],{},"client.jobs.wait()",[805,912,336],{"href":335},[805,914,385],{"href":384},[465,916,917,918,507],{},"Return to the ",[805,919,920],{"href":331},"TypeScript SDK overview",[469,922,924],{"id":923},"faq","FAQ",[926,927,929],"h3",{"id":928},"which-requests-does-the-typescript-sdk-retry-automatically","Which requests does the TypeScript SDK retry automatically?",[465,931,932,933,507],{},"The SDK retries per-minute rate limits and HTTP 500, 502, 503 and 504 up to 4 times after the initial attempt. Contact requests also retry HTTP 409 ",[477,934,935],{},"IDEMPOTENCY_KEY_IN_USE",[926,937,939],{"id":938},"does-the-sdk-retry-daily-or-api-key-credit-limits","Does the SDK retry daily or API key credit limits?",[465,941,942,943,488,945,728,947,949],{},"The SDK does not retry ",[477,944,644],{},[477,946,682],{},[477,948,563],{},". Change the request or account limits, or wait for the relevant reset.",[926,951,953],{"id":952},"how-do-i-retry-find-email-safely-after-a-restart","How do I retry Find Email safely after a restart?",[465,955,956,957,959,960,962],{},"Persist the request body and an ",[477,958,834],{},", then reuse both within 24 hours. For a job id already saved, call ",[477,961,910],{}," to read the existing job.",[926,964,966],{"id":965},"how-do-i-disable-automatic-sdk-retries","How do I disable automatic SDK retries?",[465,968,969,970,972],{},"Set ",[477,971,785],{}," on the client or on an individual request. Wait helpers use their own polling options, described in the Async jobs guide.",{"title":799,"searchDepth":974,"depth":974,"links":975},3,[976,977,978,979],{"id":471,"depth":298,"text":472},{"id":810,"depth":298,"text":811},{"id":890,"depth":298,"text":891},{"id":923,"depth":298,"text":924,"children":980},[981,982,983,984],{"id":928,"depth":974,"text":929},{"id":938,"depth":974,"text":939},{"id":952,"depth":974,"text":953},{"id":965,"depth":974,"text":966},"Handle typed errors and automatic retries in the Reverse Contact TypeScript SDK, and reuse idempotency keys for Find Email, Verify Email and Find Phone.","md","2026-11-04",{},true,"\u002Fdocs\u002Fsdk\u002Fjavascript,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Fcontact,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Fasync-jobs,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Ftimeouts,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Fclient-options",{"title":355,"description":985},"sdk\u002Fjavascript\u002Ferrors-and-retries","pOBg1Nm_4SnoHq8T-804z7PafvUn_SO9XNolwo7GiVQ",1793830204424]