[{"data":1,"prerenderedAt":880},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fsdk\u002Fjavascript\u002Fasync-tasks":459},[4,12,16,21,27,34,41,47,54,59,65,71,76,81,86,91,96,102,107,112,117,123,129,134,139,144,149,154,161,167,172,177,183,188,193,198,202,207,212,217,222,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":100,"subfamily":100,"status":11,"endpointId":101,"badgeLabel":10},"\u002Fendpoints\u002Flist","Get a List",642,"Lists","list",{"path":103,"title":104,"category":30,"order":105,"family":100,"subfamily":100,"status":11,"endpointId":106,"badgeLabel":10},"\u002Fendpoints\u002Flist-create","Create a List",641,"list-create",{"path":108,"title":109,"category":30,"order":110,"family":100,"subfamily":100,"status":11,"endpointId":111,"badgeLabel":10},"\u002Fendpoints\u002Flist-delete","Delete a List",643,"list-delete",{"path":113,"title":114,"category":30,"order":115,"family":100,"subfamily":100,"status":11,"endpointId":116,"badgeLabel":10},"\u002Fendpoints\u002Flist-export","Export a List",644,"list-export",{"path":118,"title":119,"category":30,"order":120,"family":100,"subfamily":121,"status":11,"endpointId":122,"badgeLabel":10},"\u002Fendpoints\u002Flist-intake-signals","Import members and data",648,"Imports","list-intake-signals",{"path":124,"title":125,"category":30,"order":126,"family":100,"subfamily":127,"status":11,"endpointId":128,"badgeLabel":10},"\u002Fendpoints\u002Flist-members","List members",645,"Members","list-members",{"path":130,"title":131,"category":30,"order":132,"family":100,"subfamily":127,"status":11,"endpointId":133,"badgeLabel":10},"\u002Fendpoints\u002Flist-members-add","Add members",646,"list-members-add",{"path":135,"title":136,"category":30,"order":137,"family":100,"subfamily":127,"status":11,"endpointId":138,"badgeLabel":10},"\u002Fendpoints\u002Flist-members-remove","Remove members",647,"list-members-remove",{"path":140,"title":141,"category":30,"order":142,"family":100,"subfamily":121,"status":11,"endpointId":143,"badgeLabel":10},"\u002Fendpoints\u002Flist-operation","Read a List operation",649,"list-operation",{"path":145,"title":146,"category":30,"order":147,"family":100,"subfamily":121,"status":11,"endpointId":148,"badgeLabel":10},"\u002Fendpoints\u002Flist-operation-cancel","Cancel a List operation",650,"list-operation-cancel",{"path":150,"title":151,"category":30,"order":152,"family":100,"subfamily":100,"status":11,"endpointId":153,"badgeLabel":10},"\u002Fendpoints\u002Flists","All Lists",640,"lists",{"path":155,"title":156,"category":30,"order":157,"family":158,"subfamily":159,"status":11,"endpointId":160,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies","Company search",94,"Search","Companies","search-organizations",{"path":162,"title":163,"category":30,"order":164,"family":165,"subfamily":10,"status":11,"endpointId":166,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies-available-fields","Company search available fields",720,"Utility","search-organizations-available-fields",{"path":168,"title":169,"category":30,"order":170,"family":158,"subfamily":159,"status":11,"endpointId":171,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies-count","Company search count",95,"search-organizations-count",{"path":173,"title":174,"category":30,"order":175,"family":158,"subfamily":159,"status":11,"endpointId":176,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-companies-prompt","Agentic Company Search",97,"search-organizations-prompt",{"path":178,"title":179,"category":30,"order":180,"family":158,"subfamily":181,"status":11,"endpointId":182,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people","People search",92,"People","search-people",{"path":184,"title":185,"category":30,"order":186,"family":165,"subfamily":10,"status":11,"endpointId":187,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-auto-suggestion","People auto-suggestion",730,"search-people-auto-suggestion",{"path":189,"title":190,"category":30,"order":191,"family":165,"subfamily":10,"status":11,"endpointId":192,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-available-fields","People search available fields",710,"search-people-available-fields",{"path":194,"title":195,"category":30,"order":196,"family":158,"subfamily":181,"status":11,"endpointId":197,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-count","People search count",93,"search-people-count",{"path":199,"title":200,"category":30,"order":170,"family":158,"subfamily":181,"status":11,"endpointId":201,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-lookalike","People lookalike","search-people-lookalike",{"path":203,"title":204,"category":30,"order":205,"family":158,"subfamily":181,"status":11,"endpointId":206,"badgeLabel":10},"\u002Fendpoints\u002Fsearch-people-prompt","Agentic Search",96,"search-people-prompt",{"path":208,"title":209,"category":30,"order":210,"family":32,"subfamily":10,"status":11,"endpointId":211,"badgeLabel":10},"\u002Fendpoints\u002Ftask","Get a task",662,"task",{"path":213,"title":214,"category":30,"order":215,"family":32,"subfamily":10,"status":11,"endpointId":216,"badgeLabel":10},"\u002Fendpoints\u002Ftask-cancel","Cancel a task",664,"task-cancel",{"path":218,"title":219,"category":30,"order":220,"family":32,"subfamily":10,"status":11,"endpointId":221,"badgeLabel":10},"\u002Fendpoints\u002Ftask-results","Download task results",663,"task-results",{"path":223,"title":224,"category":30,"order":225,"family":32,"subfamily":10,"status":11,"endpointId":226,"badgeLabel":10},"\u002Fendpoints\u002Ftask-rows","Read task results by page",663.5,"task-rows",{"path":228,"title":229,"category":30,"order":230,"family":32,"subfamily":10,"status":11,"endpointId":231,"badgeLabel":10},"\u002Fendpoints\u002Ftasks","Task history",661,"tasks",{"path":233,"title":234,"category":30,"order":235,"family":165,"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-tasks","Async tasks","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":329,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Flists","client.lists",{"path":372,"title":373,"category":333,"order":24,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Flists-and-bulk","Lists and Bulk enrichment",{"path":375,"title":376,"category":333,"order":20,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fsearch","client.search",{"path":378,"title":379,"category":333,"order":20,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Fsearch-budget","Search within a budget",{"path":381,"title":382,"category":333,"order":346,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fjavascript\u002Ftasks","client.tasks",{"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-tasks",{"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":329,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Flists",{"path":422,"title":373,"category":333,"order":20,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Flists-and-bulk",{"path":424,"title":376,"category":333,"order":20,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fsearch",{"path":426,"title":379,"category":333,"order":8,"family":337,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Fsearch-budget",{"path":428,"title":382,"category":333,"order":346,"family":342,"subfamily":10,"status":10,"endpointId":10,"badgeLabel":10},"\u002Fsdk\u002Fpython\u002Ftasks",{"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":336,"audience":10,"badgeColor":10,"badgeLabel":10,"body":461,"category":333,"description":871,"endpointId":10,"extension":872,"family":337,"lastVerified":873,"links":10,"meta":874,"navigation":875,"order":15,"path":335,"relatedArticles":876,"requiresFlag":10,"seo":877,"status":10,"stem":878,"subfamily":10,"__hash__":879},"docs\u002Fsdk\u002Fjavascript\u002Fasync-tasks.md",{"type":462,"value":463,"toc":858},"minimark",[464,473,478,509,530,545,552,651,661,666,698,707,719,723,746,755,788,798,804,808,812,820,824,833,837,844,848],[465,466,467,468,472],"p",{},"Live fetches and contact lookups return a ",[469,470,471],"code",{},"Task"," before the result is ready.",[474,475,477],"h2",{"id":476},"start-and-wait-for-a-task","Start and wait for a task",[465,479,480,483,484,483,487,483,490,493,494,497,498,500,501,504,505,508],{},[469,481,482],{},"fetch.personLive",", ",[469,485,486],{},"fetch.companyLive",[469,488,489],{},"contact.findEmail",[469,491,492],{},"contact.verifyEmail"," and ",[469,495,496],{},"contact.findPhone"," start a task and return a ",[469,499,471],{}," right away. ",[469,502,503],{},"task.id"," is the task's ",[469,506,507],{},"webhookId",".",[465,510,511,512,515,516,483,519,483,522,525,526,529],{},"Call ",[469,513,514],{},"task.wait()"," to poll until the task ends. When the task succeeds, the method returns its final state (",[469,517,518],{},"data.status",[469,520,521],{},"data.result",[469,523,524],{},"data.creditsConsumed","). When the task fails, the method raises ",[469,527,528],{},"TaskFailedError",". Polling is free and does not count toward your rate limit.",[531,532,534],"code-group",{"title":533},"Live fetch",[535,536,543],"pre",{"className":537,"code":539,"filename":540,"language":541,"meta":542},[538],"language-typescript","import ReverseContact, { TaskFailedError, TaskTimeoutError } from \"@reverse-contact\u002Fsdk\";\n\nconst client = new ReverseContact({ apiKey: process.env.RC_API_KEY });\n\nconst task = await client.fetch.personLive({ url: \"https:\u002F\u002Fsocial.com\u002Fin\u002Fjanedoe\" });\n\u002F\u002F Save the id first: after a restart, client.tasks.wait(id) resumes without paying for a new task.\nconsole.log(\"Task id:\", task.id);\n\ntry {\n  const done = await task.wait({ timeout: 30 * 60 * 1000 });\n  console.log(done.data.result?.firstName, \"credits:\", done.data.creditsConsumed);\n} catch (error) {\n  if (error instanceof TaskFailedError) {\n    console.log(\"Task failed:\", error.errorCode, \"credits:\", error.creditsConsumed);\n  } else if (error instanceof TaskTimeoutError) {\n    console.log(\"Still running, resume later with client.tasks.wait:\", error.taskId);\n  } else {\n    throw error;\n  }\n}\n","TypeScript SDK","typescript","",[469,544,539],{"__ignoreMap":542},[465,546,547,548,551],{},"How ",[469,549,550],{},"wait()"," behaves:",[553,554,555,567,590,634,648],"ul",{},[556,557,558,559,562,563,566],"li",{},"Each poll asks the API to hold the answer for up to 20 seconds (",[469,560,561],{},"pollWait",", 0 to 20), so the result arrives as soon as the task ends. Two polls start at least ",[469,564,565],{},"Retry-After"," seconds apart, 2 seconds when the header is missing.",[556,568,569,572,573,575,576,579,580,493,583,586,587,508],{},[469,570,571],{},"timeout"," is the overall deadline in milliseconds, 30 minutes by default. When it passes, ",[469,574,550],{}," raises ",[469,577,578],{},"TaskTimeoutError"," with ",[469,581,582],{},"taskId",[469,584,585],{},"lastStatus",". The task may still finish: resume it with ",[469,588,589],{},"client.tasks.wait(taskId)",[556,591,592,593,575,596,598,599,483,602,483,605,493,608,611,612,614,615,618,619,483,622,483,625,483,628,493,631,508],{},"A task that ends with ",[469,594,595],{},"status: \"errored\"",[469,597,528],{},", with ",[469,600,601],{},"errorCode",[469,603,604],{},"creditsConsumed",[469,606,607],{},"result",[469,609,610],{},"notFound",". The ",[469,613,610],{}," field is ",[469,616,617],{},"true"," for ",[469,620,621],{},"data-not-found",[469,623,624],{},"person-not-found",[469,626,627],{},"company-not-found",[469,629,630],{},"email-not-found",[469,632,633],{},"phone-not-found",[556,635,636,639,640,643,644,647],{},[469,637,638],{},"onPoll"," is called with each state the SDK reads, and ",[469,641,642],{},"signal"," stops the wait (see ",[645,646,385],"a",{"href":384},").",[556,649,650],{},"The SDK never starts a new task after a failure. Your code decides whether to start another task, which can be billed again.",[465,652,653,656,657,660],{},[469,654,655],{},"client.tasks.retrieve(id, { wait: 20 })"," reads one state of a task without waiting for the end. ",[645,658,659],{"href":307},"Polling"," describes the task lifecycle and how long a result stays available.",[662,663,665],"h3",{"id":664},"webhook-delivery-instead-of-polling","Webhook delivery instead of polling",[465,667,668,669,672,673,676,677,680,681,483,683,493,686,611,689,614,691,693,694,697],{},"Pass ",[469,670,671],{},"webhookUrl"," when you create the task to receive the result at that HTTPS URL as ",[469,674,675],{},"{ webhookId, data }",". Use ",[469,678,679],{},"parseWebhookDelivery"," to check the payload shape and read ",[469,682,507],{},[469,684,685],{},"data",[469,687,688],{},"isError",[469,690,688],{},[469,692,617],{}," when ",[469,695,696],{},"data.errorCode"," is a non-empty string. The helper does not validate the profile itself.",[531,699,701],{"title":700},"Webhook delivery",[535,702,705],{"className":703,"code":704,"filename":540,"language":541,"meta":542},[538],"import ReverseContact, { parseWebhookDelivery } from \"@reverse-contact\u002Fsdk\";\n\nconst client = new ReverseContact({ apiKey: process.env.RC_API_KEY });\n\nconst task = await client.fetch.personLive({\n  url: \"https:\u002F\u002Fsocial.com\u002Fin\u002Fjanedoe\",\n  webhookUrl: \"https:\u002F\u002Fyour-app.com\u002Fwebhooks\u002Freversecontact\"\n});\nconsole.log(\"Store this id to match the delivery:\", task.id);\n\n\u002F\u002F The route behind webhookUrl, as a Fetch API handler (Bun, Deno, edge runtimes).\nasync function handleWebhook(request: Request): Promise\u003CResponse> {\n  const delivery = parseWebhookDelivery(await request.json());\n  if (delivery.isError) console.log(delivery.webhookId, \"failed:\", delivery.data);\n  else console.log(delivery.webhookId, \"result:\", delivery.data);\n  \u002F\u002F Answer within 10 seconds, then process the data: deduplicate on webhookId.\n  return new Response(null, { status: 200 });\n}\n",[469,706,704],{"__ignoreMap":542},[465,708,709,710,712,713,715,716,718],{},"A task created with ",[469,711,671],{}," can still be polled with ",[469,714,514],{},". See ",[645,717,318],{"href":317}," for delivery failures and retries.",[474,720,722],{"id":721},"read-a-task-without-waiting-for-completion","Read a task without waiting for completion",[465,724,725,728,729,732,733,736,737,493,740,742,743,508],{},[469,726,727],{},"task.retrieve({ wait: 20 })"," reads one snapshot of the same task. ",[469,730,731],{},"task.status"," holds the initial acknowledgement status. Read ",[469,734,735],{},"snapshot.data.status"," for the current state. To retrieve or wait for a saved task id, use the ",[469,738,739],{},"retrieve()",[469,741,550],{}," methods in the ",[645,744,745],{"href":381},"client.tasks reference",[531,747,749],{"title":748},"Verify an email",[535,750,753],{"className":751,"code":752,"filename":540,"language":541,"meta":542},[538],"import ReverseContact from \"@reverse-contact\u002Fsdk\";\n\nconst client = new ReverseContact();\nconst task = await client.contact.verifyEmail({ email: \"jane@acme.com\" });\nconst snapshot = await task.retrieve({ wait: 20 });\nconsole.log(snapshot.data.status);\nconst done = await task.wait();\nconsole.log(done.data.result?.status);\n",[469,754,752],{"__ignoreMap":542},[465,756,757,758,761,762,765,766,483,769,483,772,775,776,779,780,715,783,493,785,787],{},"Verify Email returns ",[469,759,760],{},"email"," and a ",[469,763,764],{},"status"," of ",[469,767,768],{},"valid",[469,770,771],{},"risky",[469,773,774],{},"invalid"," or ",[469,777,778],{},"unknown",". Find Email and Find Phone return arrays of ",[469,781,782],{},"{ value, type }",[645,784,349],{"href":348},[645,786,358],{"href":357}," for their parameters.",[465,789,790,575,792,795,796,508],{},[469,791,679],{},[469,793,794],{},"ReverseContactError"," if the delivery envelope is invalid. List operations and Bulk tasks use separate wait methods, described in ",[645,797,373],{"href":372},[465,799,800,801,508],{},"Return to the ",[645,802,803],{"href":331},"TypeScript SDK overview",[474,805,807],{"id":806},"faq","FAQ",[662,809,811],{"id":810},"how-do-i-wait-for-a-live-profile-or-find-email-result","How do I wait for a live profile or Find Email result?",[465,813,511,814,816,817,819],{},[469,815,514],{}," on the ",[469,818,471],{}," returned by a live fetch or contact lookup. The SDK polls for free, for up to 30 minutes by default.",[662,821,823],{"id":822},"how-do-i-resume-waiting-after-my-process-restarts","How do I resume waiting after my process restarts?",[465,825,826,827,829,830,832],{},"Save ",[469,828,503],{}," before waiting, then call ",[469,831,589],{}," after restarting. Resuming a task avoids creating another paid lookup.",[662,834,836],{"id":835},"what-happens-when-an-asynchronous-sdk-task-fails","What happens when an asynchronous SDK task fails?",[465,838,839,575,841,843],{},[469,840,514],{},[469,842,528],{}," with the task error code, credits consumed and any result. The SDK does not start a replacement task.",[662,845,847],{"id":846},"can-i-poll-a-task-that-also-uses-a-webhook","Can I poll a task that also uses a webhook?",[465,849,709,850,712,852,854,855,857],{},[469,851,671],{},[469,853,514],{},". ",[469,856,679],{}," checks the callback envelope and identifies error deliveries.",{"title":542,"searchDepth":859,"depth":859,"links":860},3,[861,864,865],{"id":476,"depth":298,"text":477,"children":862},[863],{"id":664,"depth":859,"text":665},{"id":721,"depth":298,"text":722},{"id":806,"depth":298,"text":807,"children":866},[867,868,869,870],{"id":810,"depth":859,"text":811},{"id":822,"depth":859,"text":823},{"id":835,"depth":859,"text":836},{"id":846,"depth":859,"text":847},"Wait for live profiles, Find Email, Verify Email and Find Phone with the TypeScript SDK, resume saved task ids, and parse webhook deliveries.","md","2026-11-04",{},true,"\u002Fdocs\u002Fsdk\u002Fjavascript,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Ftasks,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Ffetch,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Fcontact,\u002Fdocs\u002Fsdk\u002Fjavascript\u002Ftimeouts",{"title":336,"description":871},"sdk\u002Fjavascript\u002Fasync-tasks","UZcRxNuVvrq-xgpr9oJ-iy42O87wDqag1--B_QpnzDE",1793892639209]