{"api":"Cached person enrichment","apiRows":{"Employee profile":2944,"Cached employee profile":1265,"Employee email":2347,"Cached employee email":971,"Email validation":3515,"Cached email validation":611,"Employee phone":820,"Cached employee phone":464,"Company profile":958,"Cached company profile":165,"Company headcount":146,"Cached company headcount":94,"Phone validation":572,"Cached phone validation":165,"Post comments":325,"Post reactions":303,"Employee lookalikes":160,"Cached employee lookalikes":54,"Company lookalikes":470,"Cached company lookalikes":163,"Company technologies":131,"Cached company technologies":187,"Company job count":53,"Employee posts":320,"Cached employee posts":14,"Company posts":307,"Cached company posts":10,"Company funding":100,"Cached company funding":133,"Company jobs":114,"Cached company jobs":30,"Employee search":828,"Cached employee search":214,"Company search":315,"Cached company search":181,"Job search":350,"Cached job search":30,"Reverse email lookup":275,"Cached reverse email lookup":358,"Post search":239,"Cached post search":57,"Post details":377,"Job details":351,"Employee comments":179,"Cached employee comments":14,"Employee reactions":149,"Post reposts":106,"Employee recommendations":80,"Job lookalikes":34,"Employee articles":47,"Company enrichment":441,"Cached company enrichment":1043,"People search":542,"Cached people search":1088,"Company discovery":295,"Cached company discovery":1237,"Job postings":19,"Cached job postings":192,"Job posting details":15,"Cached job posting details":53,"Person enrichment":88,"Cached person enrichment":143,"Leadership changes":17,"Cached leadership changes":71,"Company hierarchy":93},"treeCounts":{"Employee profile":{"best":90,"top":3},"Cached employee profile":{"best":65,"top":3},"Employee email":{"best":108,"top":3},"Cached employee email":{"best":42,"top":3},"Email validation":{"best":151,"top":3},"Cached email validation":{"best":27,"top":3},"Employee phone":{"best":59,"top":3},"Cached employee phone":{"best":28,"top":3},"Company profile":{"best":60,"top":3},"Cached company profile":{"best":13,"top":3},"Company headcount":{"best":15,"top":3},"Cached company headcount":{"best":7,"top":3},"Phone validation":{"best":42,"top":3},"Cached phone validation":{"best":15,"top":3},"Post comments":{"best":26,"top":3},"Post reactions":{"best":24,"top":3},"Employee lookalikes":{"best":6,"top":3},"Cached employee lookalikes":{"best":6,"top":3},"Company lookalikes":{"best":23,"top":3},"Cached company lookalikes":{"best":12,"top":3},"Company technologies":{"best":21,"top":3},"Cached company technologies":{"best":19,"top":3},"Company job count":{"best":6,"top":3},"Employee posts":{"best":31,"top":3},"Cached employee posts":{"best":2,"top":2},"Company posts":{"best":31,"top":3},"Cached company posts":{"best":1,"top":1},"Company funding":{"best":15,"top":3},"Cached company funding":{"best":12,"top":3},"Company jobs":{"best":28,"top":3},"Cached company jobs":{"best":5,"top":3},"Employee search":{"best":32,"top":3},"Cached employee search":{"best":16,"top":3},"Company search":{"best":18,"top":3},"Cached company search":{"best":12,"top":3},"Job search":{"best":28,"top":3},"Cached job search":{"best":3,"top":3},"Reverse email lookup":{"best":24,"top":3},"Cached reverse email lookup":{"best":25,"top":3},"Post search":{"best":23,"top":3},"Cached post search":{"best":5,"top":3},"Post details":{"best":36,"top":3},"Job details":{"best":28,"top":3},"Employee comments":{"best":15,"top":3},"Cached employee comments":{"best":2,"top":2},"Employee reactions":{"best":12,"top":3},"Post reposts":{"best":8,"top":3},"Employee recommendations":{"best":6,"top":3},"Job lookalikes":{"best":3,"top":3},"Employee articles":{"best":5,"top":3},"Company enrichment":{"best":45,"top":3},"Cached company enrichment":{"best":59,"top":3},"People search":{"best":49,"top":3},"Cached people search":{"best":48,"top":3},"Company discovery":{"best":38,"top":3},"Cached company discovery":{"best":64,"top":3},"Job postings":{"best":5,"top":3},"Cached job postings":{"best":17,"top":3},"Job posting details":{"best":12,"top":3},"Cached job posting details":{"best":5,"top":3},"Person enrichment":{"best":11,"top":3},"Cached person enrichment":{"best":14,"top":3},"Leadership changes":{"best":4,"top":3},"Cached leadership changes":{"best":4,"top":3},"Company hierarchy":{"best":12,"top":3}},"bestPages":{"Employee profile":["/best-linkedin-profile-api","Best LinkedIn profile API in 2026"],"Cached employee profile":["/best-cached-linkedin-profile-api","Best cached LinkedIn profile API in 2026"],"Employee email":["/best-email-finder-api","Best email finder API in 2026"],"Cached employee email":["/best-cached-email-finder-api","Best cached email finder API in 2026"],"Email validation":["/best-email-verification-api","Best email verification API in 2026"],"Cached email validation":["/best-cached-email-verification-api","Best cached email verification API in 2026"],"Employee phone":["/best-phone-finder-api","Best phone finder API in 2026"],"Cached employee phone":["/best-cached-phone-finder-api","Best cached phone finder API in 2026"],"Company profile":["/best-linkedin-company-data-api","Best LinkedIn company data API in 2026"],"Cached company profile":["/best-cached-linkedin-company-data-api","Best cached LinkedIn company data API in 2026"],"Phone validation":["/best-phone-validation-api","Best phone validation API in 2026"],"Post comments":["/best-linkedin-post-comment-api","Best LinkedIn post comment API in 2026"],"Post reactions":["/best-linkedin-post-reaction-api","Best LinkedIn post reaction API in 2026"],"Company technologies":["/best-company-technology-api","Best company technology API in 2026"],"Cached company technologies":["/best-cached-company-technology-api","Best cached company technology API in 2026"],"Employee posts":["/best-linkedin-person-post-api","Best LinkedIn person post API in 2026"],"Company posts":["/best-linkedin-company-post-api","Best LinkedIn company post API in 2026"],"Cached company funding":["/best-company-funding-api","Best company funding API in 2026"],"Employee search":["/best-linkedin-people-search-api","Best LinkedIn people search API in 2026"],"Cached employee search":["/best-cached-linkedin-people-search-api","Best cached LinkedIn people search API in 2026"],"Company search":["/best-linkedin-company-search-api","Best LinkedIn company search API in 2026"],"Cached company search":["/best-cached-linkedin-company-search-api","Best cached LinkedIn company search API in 2026"],"Job search":["/best-linkedin-job-search-api","Best LinkedIn job search API in 2026"],"Cached job search":["/best-cached-linkedin-job-search-api","Best cached LinkedIn job search API in 2026"],"Reverse email lookup":["/best-reverse-email-lookup-api","Best reverse email lookup API in 2026"],"Cached reverse email lookup":["/best-cached-reverse-email-lookup-api","Best cached reverse email lookup API in 2026"],"Post search":["/best-linkedin-post-search-api","Best LinkedIn post search API in 2026"],"Post details":["/best-linkedin-post-details-api","Best LinkedIn post details API in 2026"],"Job details":["/best-linkedin-job-details-api","Best LinkedIn job details API in 2026"],"Employee comments":["/best-linkedin-person-comment-api","Best LinkedIn person comment API in 2026"],"Employee reactions":["/best-linkedin-person-reaction-api","Best LinkedIn person reaction API in 2026"],"Cached company enrichment":["/best-company-enrichment-api","Best company enrichment API in 2026"],"People search":["/best-people-search-api","Best people search API in 2026"],"Cached people search":["/best-cached-people-search-api","Best cached people search API in 2026"],"Cached company discovery":["/best-company-discovery-api","Best company discovery API in 2026"],"Cached job postings":["/best-job-postings-api","Best job postings API in 2026"],"Job posting details":["/best-job-posting-details-api","Best job posting details API in 2026"],"Cached person enrichment":["/best-people-enrichment-api","Best people enrichment API in 2026"]},"first":[{"provider":"Apollo","api":"Cached person enrichment","website":"https://www.apollo.io","pricingPage":"https://www.apollo.io/pricing","pitch":"Use the get complete person info endpoint to retrieve complete details about a person in the Apollo database, including employment history, location, and the full details of the person's current organization.","strengths":[],"aggregators":[],"freshness":"1 month","fieldFreshness":null,"history":null,"keep":"people's business contact information put into your own records, CRM or database during the term: no limit, past it too. The rest: until the term ends","use":"\"Term License. [...] solely for your internal business purposes to: [...] communicate with a person in a manner that relates to such person’s profession, business, or employment using any Business Contact Information; identify prospective sales opportunities, research your existing customers and prospects, and otherwise analyze the Contributor Database in a manner relating to your business-to-business sales, marketing, recruiting, and business development activities\"; \"General Usage Restrictions. You will not, and will not permit any third party to: use the Services, the Platform, or data derived therefrom to create, develop, or offer a product or service to third parties that competes with Apollo's products or services. This restriction does not apply to your internal systems or processes that are not commercially offered to third parties; resell, distribute, disclose, sublicense, transfer, sell, offer for sale, or make available any of the Contributor Database or any part of the Services to any third party; [...]\"; \"Business Contact Information Restrictions. You will not: distribute, sell, or license Business Contact Information to third parties, except to the extent expressly authorized by Apollo in writing; use Business Contact Information to create competing databases or services; combine Business Contact Information with other data sources in a manner that would circumvent the usage restrictions applicable to the underlying Apollo data; [...] or use Business Contact Information to train, fine-tune, or improve any artificial intelligence or machine learning model, system, or service, except (1) for your own internal models used solely for your internal business purposes and not commercially offered to third parties, or (2) to the extent otherwise expressly authorized by Apollo in writing.\"; \"Technical and Access Restrictions. [...] You may not: [...] Disclose the results of any Platform or program benchmark tests to any third parties without Apollo’s prior written consent.\"; \"Prohibited Uses. You are expressly prohibited from doing any of the following: selling, sublicensing, or otherwise providing access to any API to any third party; using any API with LinkedIn automations; using any API in a manner that allows any third party to use Apollo data to train, fine-tune, or improve any artificial intelligence or machine learning model, system, or service; [...]\"","plan":"Professional","who":"business use only, not as a consumer; users of legal age","billing":"monthly","charged":null,"topUp":null,"pay":99,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":4000,"unit":"credit","renews":"month","expires":"at the end of each billing cycle, not rolled over","costUnits":1,"calls":4000,"monthlyCap":null,"perThousand":24.75,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["People API Search","Search for contacts","Search for accounts"],"sharesBudgetWith":["Run an Assistant task","People enrichment","Bulk people enrichment","Organization enrichment","Bulk organization enrichment","Organization search","Organization job postings","Get complete organization info","News articles search","Get conversations info","Export conversations"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":16.67,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/people/{id}","send":"id","fields":["person ID","first name","last name","full name","LinkedIn URL","job title","photo","X URL","GitHub URL","Facebook URL","extrapolated email confidence","headline","company ID","employment record ID","employment record key","employment record created date","employment record updated date","employment current","employment degree","employment description","employment emails","employment end date","employment grade level","employment kind","employment major","employment company ID","employment company name","employment address","employment start date","employment title","street","city","state","country","postal code","formatted address","time zone","email","email status"]},{"provider":"Autobound","api":"Cached person enrichment","website":"https://www.autobound.ai","pricingPage":"https://www.autobound.ai/pricing","pitch":"Every contact the Signal API returns carries one consistent person profile. The same profile appears on contact enrich, contact search, and on any signal that is about a person.","strengths":[],"aggregators":[],"freshness":"1 month","fieldFreshness":null,"history":null,"keep":"license to access and use the Services solely for Customer’s internal business purposes during the term of this Agreement [...] Customer shall retain a perpetual, non-exclusive license to use, copy, and distribute any Reports generated through the Services prior to the date of termination or expiration, solely for Customer’s internal business purposes","use":"Company hereby grants Customer a non-exclusive, nontransferable, revocable license to access and use the Services solely for Customer’s internal business purposes during the term of this Agreement. [...] Customer shall not, and shall not permit any third party to: Reverse engineer, decompile, disassemble, or otherwise attempt to derive the source code, algorithms, or underlying structure of the Services or any component thereof; Modify, adapt, translate, or create derivative works based upon the Services; Resell, sublicense, lease, rent, loan, distribute, or otherwise make the Services available to any third party, except as expressly authorized in writing by Company; Remove, alter, or obscure any proprietary notices, labels, or markings on or in the Services; Use the Services in a manner that could damage, disable, overburden, or impair Company’s servers, networks, or infrastructure.","plan":"Growth","who":"anyone who signs up; the agreement licenses use for internal business purposes","billing":"one-time","charged":null,"topUp":false,"pay":49,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":5444,"unit":"credit","renews":null,"expires":"never","costUnits":1,"calls":5444,"monthlyCap":null,"perThousand":9.0007,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["POST /v1/companies/enrich","POST /v1/companies/search","POST /v1/contacts/search","POST /v1/buyer-intent/companies","POST /v1/buyer-intent/contacts","POST /v1/buyer-intent/export"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":5,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":473,"call":null,"method":"POST","path":"/v1/contacts/enrich","send":"contact_email or contact_linkedin_url; signal_types, signal_subtype, signal_subtypes, detected_after, limit (1 to 500)","fields":["ID","first name","last name","full name","LinkedIn URL","headline","city","state","country","job title","seniority","department","current job company name","current job company domain","current job company ID","current job title","current job seniority","current job department","current job as of","email","emails","email type","email status","email verification date","work history","education","skills","company name","company domain","company LinkedIn URL","company industries","company employee count minimum","company employee count maximum","company description","company ID","company headquarters city","company headquarters state","company headquarters country","company founded year","company employees on LinkedIn","company is B2B","company is B2C","company employee count confidence","company revenue","company revenue confidence","company industry confidence","profile only","warnings"]},{"provider":"Bytemine","api":"Cached person enrichment","website":"https://www.bytemine.ai","pricingPage":"https://www.bytemine.ai/pricing","pitch":"Turn lists into pipeline. One endpoint enriches up to 100 B2B contacts in a single synchronous call — verified work emails, personal emails, mobile numbers, direct dials, and full firmographics.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"a limited, non-exclusive, non-transferable, non-sublicensable license to access and use the Services solely for internal business purposes including: Sales prospecting, Recruiting, Customer research, CRM enrichment [...] Customers may not: Resell, sublicense, or redistribute data obtained from the Services, Build a competing database or data brokerage service, Provide data to third parties outside their organization, Publish or distribute the data through APIs or public datasets, Reconstruct or replicate the platform database [...] Customers may not use the Services or data obtained through them to send spam, fraudulent or misleading communications, promote illegal goods, or engage in abusive or harassing outreach","plan":"Growth","who":"business users only: 18 or over, acting on behalf of a company","billing":"monthly","charged":null,"topUp":null,"pay":500,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":25000,"unit":"credit","renews":"month","expires":null,"costUnits":1,"calls":25000,"monthlyCap":null,"perThousand":20,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":100,"answer":"in the call","latencyMs":null,"call":"Bulk Contact Enrichment API","method":"POST","path":"/bulk-contact-enrich","send":"contacts; filters, fullResponse","fields":["total","processed","enriched","no match","failed","skipped","credits used","credits remaining","response time","results","index","status","provider record ID","first name","last name","work email","mobile","title","company name","company domain","company industry"]},{"provider":"Context.dev","api":"Cached person enrichment","website":"https://www.context.dev","pricingPage":"https://www.context.dev/pricing","pitch":"Combine a full name with company, education, or location clues.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"As a user of the Services, you agree not to: [...] Systematically retrieve data or other content from the Services to create or compile, directly or indirectly, a collection, compilation, database, or directory without written permission from us.","use":"The Services may not be used in connection with any commercial endeavors except those that are specifically endorsed or approved by us. [...] As a user of the Services, you agree not to: [...] Use the Services as part of any effort to compete with us or otherwise use the Services and/or the Content for any revenue-generating endeavor or commercial enterprise. [...] \"Customer IP\" means the queries, prompts, URLs, instructions, and other content you submit to the Services, together with the results returned in response. You retain any rights you hold in that content. [...] API access does not grant a license to reuse third-party material.","plan":"Scale","who":"anyone aged 18 or over","billing":"monthly","charged":null,"topUp":null,"pay":500,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":1000000,"unit":"credit","renews":"month","expires":"Paid balances reset to the monthly allowance after a paid refill; unused credits normally do not roll over","costUnits":20,"calls":50000,"monthlyCap":null,"perThousand":10,"waterfall":null,"listPerThousand":null,"overagePerThousand":20,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Logo Link","Search Brands"],"sharesBudgetWith":["Scrape","Map URLs","Crawl Website","Search Web","Answers","Search Companies","Retrieve Brand","Extract Styleguide","Search News","Parse File","Batches","Monitor runs"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":500,"batch":1,"answer":"in the call","latencyMs":1908,"call":null,"method":"POST","path":"/v1/people/enrich","send":"name, company or education or location; social_urls, email, timeoutOpts, zdr, tags","fields":["social links","personal website","has current position","jobs","job title","job company","job location","job description","job start date","job end date","job is current","schools","school name","school degree","school field of study","school description","school start date","school end date","skills","name","first name","last name","profile picture","about","location","city","region","country","country code","current title","current company","current job location","current job description","current title start date","updated at","checked at","match status","match confidence","partial profile","request ID","credits consumed","credits remaining","email"]},{"provider":"Diffbot","api":"Cached person enrichment","website":"https://www.diffbot.com","pricingPage":"https://www.diffbot.com/pricing","pitch":"Enhance multiple records in bulk asynchronously.","strengths":[],"aggregators":[{"aggregator":"Databar","url":"https://databar.ai/explore/enrichments/get-person-info-by-name","ownKey":"0 credits a call on the Build or Scale plan","paid":true,"perThousand":69.3,"usd":0.0693,"per":"result","resultsPerPage":null,"callStated":false}],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"USE RESTRICTIONS [...] You agree that you will not: sublicense, resell, rent, lease, transfer, assign, time share, or otherwise commercially exploit or make the Service available to any third party (However, you may display and use the facts generated by the Service as part of a commercial application.); use the Service for any unlawful purpose or for the promotion of illegal activities; use the Service to attempt to, or harass, abuse or harm another person or group; use another user’s account without permission; interfere or attempt to interfere with the proper functioning of the Site or Service; modify, adapt or hack the Service to, or otherwise attempt to gain unauthorized access to the Service or its related systems or networks; use the API or the Data in any manner that violates the rights of any person, including but not limited to intellectual property rights, rights of privacy or rights of publicity; reverse engineer, decompile or disassemble any portion of the Service; bypass any robot exclusion headers or other measures we take to restrict access to the Site or Service or use any software, technology, or device to scrape, spider, or crawl the Site or Service or harvest or manipulate data; or publish or link to malicious content intended to damage or disrupt another user’s browser, computer, or mobile device.","plan":"Startup","who":"anyone 13 or over","billing":"monthly","charged":null,"topUp":null,"pay":299,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":250000,"unit":"credit","renews":"month","expires":"at the monthly refresh, no rollover","costUnits":25,"calls":10000,"monthlyCap":null,"perThousand":29.9,"waterfall":null,"listPerThousand":null,"overagePerThousand":25,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Analyze (Extract API)","Article (Extract API)","Product (Extract API)","Image (Extract API)","Video (Extract API)","Discussion (Extract API)","Event (Extract API)","List (Extract API)","Job (Extract API)","Extract with Custom API","Run a Web Search (GET)","Run a Web Search (POST)","Process Text","Search with DQL (GET)","Search with DQL (POST)","Enhance (GET)","Enhance (POST)","Combine"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":5,"concurrent":null,"batch":null,"answer":"by polling or webhook","latencyMs":null,"call":"Create a Bulkjob","method":"POST","path":"/kg/v3/enhance/bulk","send":"items[].type \"Person\"; items[].name, items[].url, items[].location, items[].ip, items[].phone, items[].description, items[].email, items[].employer, items[].title, items[].school, name, size, threshold, refresh, search, nonCanonicalFacts, jsonmode, webhookurl","fields":["entity ID","Diffbot URI","entity type","entity types","name","name parts","all names","summary","description","all descriptions","descriptors","image","images","homepage URL","all URIs","URI details","LinkedIn URL","Twitter URL","Facebook URL","Instagram URL","YouTube URL","GitHub URL","Google+ URL","AngelList URL","Crunchbase URL","blog URL","Wikipedia URL","email addresses","phone numbers","location","locations","employment history","education","skills","languages","interests","industries of employers","colleagues","articles written","awards","follower count","net worth","NPI numbers","SEP professional license numbers (Mexico)","age","gender","birth date","birth place","death date","death place","nationalities","height","weight","eye color","religion","political affiliation","parents","children","siblings","unions","importance","incoming edges","crawl timestamp","origins","number of origins","origin details","origin hashes","non-canonical facts","Wikipedia pageviews last month","Wikipedia pageviews month-over-month growth","Wikipedia pageviews last quarter","Wikipedia pageviews quarter-over-quarter growth","Wikipedia pageviews last year","Wikipedia pageviews year-over-year growth","match score"]},{"provider":"GetLeads","api":"Cached person enrichment","website":"https://www.getleads.io","pricingPage":"https://www.getleads.io/pricing","pitch":"Start with first name, last name, and either company name or email domain. Returns work email, LinkedIn URL, and full provider data when found.","strengths":[],"aggregators":[],"freshness":"1 month","fieldFreshness":null,"history":null,"keep":"no limit","use":"Using GetLeads to build and run outbound campaigns, enrich your own CRM, power an agency's client work, or feed an internal tool are all squarely in bounds — that's the product. [...] Your plan gives you a search-and-enrichment interface to the GetLeads contact database, not a license to extract and redistribute it wholesale. Specifically, you may not: Resell or redistribute raw contact data as a standalone dataset, or use bulk exports to build a competing contact database or data product. Systematically scrape or exfiltrate the full database or large fractions of it outside normal search/export usage. Share API keys or account access across organizations that aren't part of the same business. Use contact data in a way that violates applicable data protection law (e.g., CAN-SPAM, GDPR, CCPA) in the jurisdictions you're operating in — GetLeads provides the data; compliant use of it is on you. [...] Can I build a SaaS product on your API? You can only use GetLeads as an enrichment source, paid per credit, and you need to talk to us about that first. Using the unlimited plan to power your product is not allowed.","plan":"Unlimited","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":497,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":6000000,"perThousand":0.0828,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["company follower scrapes"],"sharesBudgetWith":["enrichment from work email","enrichment from name + company","enrichment from LinkedIn URL","database search","search export","funding signals","acquisition signals"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":500000,"perSecond":1.67,"concurrent":null,"batch":5000,"answer":"in the call","latencyMs":null,"call":"From name + company: CSV bulk","method":"POST","path":"/api/v1/enrich/csv","send":"file, mode \"person\", mapping; maxRows, fileName","fields":["success","email","work email","profile URL","username","first name","last name","name","current title","current seniority","current company","company website","headline","country","start date"]},{"provider":"Kendo","api":"Cached person enrichment","website":"https://kendoemailapp.com","pricingPage":"https://kendoemailapp.com/pricing","pitch":"get person linkedin by providing name and employee,each  profile found costs 1 credit","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"Following termination of these Terms, you may only continue to use the data that was legally obtained through the Services that was stored on your systems during the Term, and subject to the Data Processing Agreement","use":"You are only granted the right to use the Services and only for the purposes described by the Company in its Websites, these Terms, or any applicable Order or Subscription. You agree not to use, or permit any third party to use, the Services in a manner that violates any legislation or these Terms. You will not provide access to, or give any part of, the Services to any third party, other than setting access for other Users under your Account [...] you will not reproduce, modify, copy, sell, trade, lease, rent or resell the Services. [...] If you're developing an application to interact with the Company's APIs, you must license your application with the Company and meet certain usage, technical, and security requirements. [...] You and your company or business are not a data broker and are not entering into these Terms in order to resell the data received through the Services to third parties.","plan":"Corporate","who":"anyone 18 or over with authority to bind the company or business the account is for","billing":"monthly","charged":null,"topUp":null,"pay":129,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":10000,"unit":"credit","renews":"month","expires":"at the end of the billing period, no rollover","costUnits":1,"calls":10000,"monthlyCap":null,"perThousand":12.9,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Get person linkedin by providing name and email address (/linkedinbyemail, 1 credit each)","Get person email by providing linkedin profile id (/emailbylinkedin, 1 credit each)","Get person email by person name and company (/emailbyname)","Get verified personal mobile phone by providing linkedin profile id (/mobilebylinkedin, 5 credits each)","Perform a comprehensive analysis of phone numbers to ascertain their classification as either cellular or landline (/verifyphonenumber, 1 credit each)","Get person first and last name behind email address (/namebyemail, 0.4 credits each)","Get leads by company domain (/companyleads)","Get company domain lead info (/companyleadsinfo)","Get full company profile by domain (/companybydomain)","Get full company profile by company name (/companybyname)"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/linkedinbyname","send":"first, last, domain","fields":["LinkedIn profile ID"]},{"provider":"MoltSets","api":"Cached person enrichment","website":"https://moltsets.com","pricingPage":"https://moltsets.com/pricing/","pitch":"Look up a complete professional profile from a name and company. See job title, employer, and company details so you know exactly who you're about to reach.","strengths":[],"aggregators":[],"freshness":"14 days","fieldFreshness":null,"history":null,"keep":"Customer may store Cached Data during the Term and only during the Term. [...] Upon termination of this Agreement, Customer must delete all Data it has received from MoltSets from the Term (including Cached Data) within 30 days of termination.","use":"Customer may not open multiple accounts for its use under a self-serve offering or otherwise take any actions which would allow Customer to circumvent the credit or rate limits which apply to self-serve offerings. [...] Customer therefore may not use the Service, including any Output Data, to create any derivative work, service or product, on Customer's own or on behalf of any other organization, and Customer may not resell or re-license the Output Data in any manner or form. Subject to Customer's compliance with this Agreement and any Order Forms, Customer is granted a non-exclusive, revocable, non-assignable and non-sublicensable license, throughout the term of Customer's subscription to: (i) use the Service solely for Customer's personal and/or internal business purposes; and (ii) store, print or make a copy of Output Data solely for Customer's personal or internal business purposes. [...] Customer may not resell, distribute or otherwise disclose or make available the Service, including any functionally similar or equivalent version of the Output Data (the \"Resale Restriction\"). [...] Customer may not access the Service, including any functionally similar or equivalent version of the Output Data, on behalf of any third-party entity or organization. Customer may not transmit information to or through the Service that is fake or fictitious, impersonate any person or entity, or falsely state or otherwise misrepresent Customer's affiliation with a person or entity in connection with Customer's use of the Service. Customer may not develop any service, product, toolset, dataset or derivative work from the Service, whether in aggregated or non-aggregated form, and whether in identified or de-identified form. Customer may not reverse engineer, decompile or disassemble the Service (in whole or in part). Customer may not access the Service or extract data from the Service in a way that exceeds Customer's authority from Company or violates this Agreement or other policies or restrictions Company has implemented. Customer may obtain Output Data solely through the APIs and interfaces provided by Company. Customer shall not use any other manual or automated means (including \"data scraping,\" crawlers or bots) in order to access or obtain the Service. Customer may not leverage, consult with, use, review or rely upon the Service to develop or create a product or feature that is competitive with the Service (or any portion thereof). Customer may not remove any proprietary notices or labels. [...] Customer may not use the Service (including use of the Service to send email, mail, SMS, push notifications, fax, phone or other communications): to advertise or promote any illegal service or product (or send any other communications) that are illegal in the place offered or consumed. to advertise or promote tobacco or marijuana products, firearms, ammunition or other weapons, counterfeit or pirated goods or services, adult content or services (such as pornography or escort services), unlicensed gambling, investment schemes, astrology or psychic services, lotteries, credit repair services, payday loan services, or any type of hate speech. to violate any securities or commodities regulations. in a manner that violates any applicable laws, including without limitation any marketing or data privacy and security laws or industry best practices. In particular, Customer agrees not to use the Service in a manner that would violate the U.S. CAN-SPAM Act of 2003, the Canadian Anti-Spam Legislation (CASL), the U.S. TCPA, the Telemarketing Sales Rules or any similar such laws in any jurisdiction. to defraud, deceive, mislead, discriminate against, harass, libel or defame any person, group or entity. to promote any product or service that is in violation of any person's or entity's intellectual property rights. to threaten, promote or commit violence or fraud, or to violate any person's or entity's rights. for any purpose subject to the Fair Credit Reporting Act, including without limitation for the modeling of, or determination of, consumer credit worthiness, consumer credit approval, a consumer's eligibility for employment or insurance. [...] Without limitation of any of the above restrictions, Customer may not use the Services for the following: to send emails from a group distribution email such as hello@ or marketing@, etc. to send commercial emails without including appropriate opt-out mechanisms in or complying with applicable laws or best practices related to opt-outs or user choice and control principles. to use a fictional identity, pseudonym or alias to send emails. to send emails that generate an unacceptable (as determined in Company's reasonable and exclusive discretion) level of bounces, spam or complaints. to transmit material that contains or links to a virus, trojan horse, worm, or any malicious or harmful software program. to use Company's Service in conjunction with any unsolicited or harassing messages (commercial or otherwise) including but not limited to unsolicited emails, text messages or phone calls. [...] We designed our Fair Use Policy to have 5-hour windows that allow for bursts for the actual prospecting use case, while limiting weekly total records to prevent scraping our entire database.","plan":"Solo","who":"a company's employees or service providers of the age of majority, not a MoltSets competitor, with a work email on the company's domain (no Gmail, Yahoo, Outlook.com, Hotmail or iCloud; not a very recently registered domain); one account per company domain","billing":"monthly","charged":null,"topUp":null,"pay":27,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":10714,"perThousand":2.5201,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["LinkedIn to Best Email","LinkedIn to Business Email","LinkedIn to Personal Email (US-only)","LinkedIn to Best Personal Email (US-only)","Reverse Email Lookup","Reverse LinkedIn Lookup","Email to LinkedIn","IP to Company","Email to MAID","Business Email to SHA256","LinkedIn to SHA256"],"sharesBudgetWith":["Search for People","Search for Companies","Search for LinkedIn Profile","Search Business Email by Name"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/search_business_profile_by_name","send":"name or first_name and last_name, company, User-Agent header; company_domain, include_experience","fields":["LinkedIn URL","first name","last name","full name","title","headline","summary","position summary","seniority","functional area","skills","interests","connection count","city","state","country","business email","business email validated at","business email MD5s","business email SHA256s","personal email","personal email validated at","personal emails","personal emails validated at","current role start date","experience","experience title","experience company","experience company LinkedIn URL","experience start date","experience end date","experience is current","experience seniority","experience function","experience description","company name","company LinkedIn URL","company website URL","company description","company industry","company LinkedIn industry","company NAICS codes","company NAICS code","company NAICS title","company SIC codes","company SIC code","company SIC title","company employee count","company employee range","company revenue","company revenue range","last updated at","business email deliverability grade","personal email deliverability grade","personal emails deliverability grade","status","records remaining 5h","records reset 5h","records remaining 1w","records reset 1w"]},{"provider":"Parsers VC","api":"Cached person enrichment","website":"https://parsers.vc","pricingPage":"https://parsers.vc/api_page/pricing/","pitch":"Use the persons node to get information about persons.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"You represent, warrant, and agree that you will not contribute or submit any User Submission (defined below) or other materials or otherwise use the Service or interact with the Service in a manner that: [...] Copies or stores any significant portion of the Content","use":"You will not use, copy, reproduce, adapt, modify, translate, publish, broadcast, transmit, distribute, perform, upload, display, license, sell or otherwise exploit for any purpose any Content not owned by you in a way that violates someone else’s (including Parsers) rights. Notwithstanding the foregoing, you may display insubstantial excerpts of Content for criticism, commentary, news reporting, teaching, scholarship, research and similar purposes, provided: The use does not compete with the Service; and Proper attribution is provided to Parsers (please follow our Attribution Instructions to ensure that you are properly attributing Parsers). Any other uses of Content require agreed with our team by email or in writing. [...] You represent, warrant, and agree that you will not contribute or submit any User Submission (defined below) or other materials or otherwise use the Service or interact with the Service in a manner that: Infringes or violates the intellectual property rights or any other rights of anyone else (including Parsers); Violates any law or regulation, including without limitation any applicable export control laws and/or data privacy laws, or would cause Parsers to be in violation of any law or regulation (including, without limitation, any laws relating to labor, employment, or the issuance of securities); Is harmful, fraudulent, deceptive, threatening, harassing, defamatory, obscene, or otherwise objectionable; Jeopardizes the security of your Parsers account or anyone else’s (such as allowing someone else to log in to the Service as you); Attempts, in any manner, to obtain the password, account, or other security information from any other user; Violates the security of any computer network, or cracks any passwords or security encryption codes; Runs any form of auto-responder or “spam” on the Service, or any processes that run or are activated while you are not logged into the Service, or that otherwise interfere with the proper working of the Service (including by placing an unreasonable load on the Service infrastructure); “Crawls,” “scrapes”, “parse” or “spiders” any page, data, or portion of or relating to the Service or Content (through use of manual or automated means); Circumvents or attempts to circumvent any features, limitations, or restrictions of the Service (including, without limitation, attempting to access, download, export, or otherwise use or exploit any Content using any automated means or tools); Copies or stores any significant portion of the Content; Decompiles, reverse engineers, or otherwise attempts to obtain the source code or underlying ideas or information of or relating to the Service.","plan":"Starter","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":19,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":2000,"unit":"credit","renews":"month","expires":"at the end of each month","costUnits":1,"calls":2000,"monthlyCap":null,"perThousand":9.5,"waterfall":null,"listPerThousand":null,"overagePerThousand":15,"addons":null,"notFoundPerThousand":9.5,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["List startups (GET /v2/startups)","Get startup (GET /v2/startups/{id})","Find a startup by name or website (GET /v2/startups/search)","List funds (GET /v2/funds)","Get fund (GET /v2/funds/{id})","Find a fund by name or website (GET /v2/funds/search)","Find a company of either kind (GET /v2/companies/search)","Get person (GET /v2/persons/{id})","Funding rounds across all startups (GET /v2/startups/fundingrounds)","Funding rounds of a startup (GET /v2/startups/{id}/fundingrounds)","Post-money valuations (GET /v2/startups/postvaluations)","Fund portfolio (GET /v2/funds/{id}/portfolio)","List news items (GET /v2/news)","Change feed (GET /v2/signals)","Categories and facets (GET /v2/categories)","Live company crawl (GET /v2/companies/find)","Venture matching (/venturematching)","The entities in a category (GET /v2/categories/{dimension}/{value}/{entity})"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[{"fields":["experience ID","experience start date","experience end date","experience title","experience location"],"perThousand":2.375},{"fields":["position","position level"],"perThousand":2.375},{"fields":["experience company ID","experience company type"],"perThousand":2.375}],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"List people","method":"GET","path":"/persons","send":"$filter; $select, $expand, $orderby, $top, $skip","fields":["person ID","first name","last name","location","related locations","person type","email","LinkedIn URL","Twitter URL","Facebook URL","added at","updated at"]},{"provider":"Prospeo","api":"Cached person enrichment","website":"https://prospeo.io","pricingPage":"https://prospeo.io/pricing","pitch":"This endpoint allows you to enrich a person with its complete accurate B2B profile data, email address and mobile.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"During your plan term, Prospeo grants you a non-exclusive, non-transferable, revocable license to access the Service and use Output Data [...]. You agree not to [...] cache or store Outputs beyond what is expressly permitted in your plan or order","use":"use Output Data (business contact/company information we provide) only for your internal B2B sales, marketing, recruiting, and operations. You may not resell, redistribute, publish, or disclose Output Data to any third party (other than to your personnel or contractors under your control), and you may not use the Service or Output Data to create, maintain, or enhance a database, directory, or service that competes with or substitutes for Prospeo. [...] You will not [...] use the Service or Output Data for consumer credit, employment, tenant, insurance, or other FCRA‑type decisions; or use the Service for unlawful, deceptive, abusive, discriminatory, or surveillance‑without‑consent purposes. [...] You agree not to [...] use Outputs to build, train, or improve any database, directory, or model that competes with Prospeo or that replicates/substitutes for the Service; [...] make any “safe‑to‑call,” “safe‑to‑email,” accuracy, eligibility, or similar claims to third parties based on Outputs","plan":"Pro","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":249,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":15000,"unit":"credit","renews":"month","expires":"unused paid-plan credits roll over to the next billing period, capped at the plan's base credit allowance","costUnits":1,"calls":15000,"monthlyCap":null,"perThousand":16.6,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"90 days","alsoPaysFor":[],"sharesBudgetWith":["Bulk Enrich Person","Enrich Company","Bulk Enrich Company","Search Person","Search Company"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[{"fields":["mobile","mobile national","mobile international","mobile country code","mobile country"],"perThousand":149.4}],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":500000,"perSecond":30,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":169,"call":"Enrich Person","method":"POST","path":"/enrich-person","send":"one of data.linkedin_url, data.email, data.person_id, data.first_name + data.last_name + any of data.company_name, data.company_website or data.company_linkedin_url, or data.full_name + any of data.company_name, data.company_website or data.company_linkedin_url; only_verified_email, enrich_mobile, only_verified_mobile","fields":["success","free repeat","provider record ID","first name","last name","name","LinkedIn URL","LinkedIn member ID","headline","current title","current position ID","skills","last job change detected at","jobs","job title","job company","job company logo","job is current","job start date","job end date","job duration","job departments","job seniority","job company provider record ID","position ID","email status","email revealed","email","email verification method","email MX provider","mobile status","mobile revealed","country","country code","region","city","time zone","time zone offset","company provider record ID","company name","company website","company domain","company LinkedIn ID","company other websites","company description","company SEO description","company AI description","company type","company industry","company employee count","company employee count on Prospeo","company employee range","company country","company country code","company state","company city","company raw address","company SIC codes","company NAICS codes","company email domain","company MX provider","company LinkedIn URL","company Twitter URL","company Facebook URL","company Instagram URL","company YouTube URL","company Crunchbase URL","company HQ phone","company HQ phone national","company HQ phone international","company HQ phone country code","company HQ phone country","company founded","company revenue range","company revenue min","company revenue max","company keywords","company logo","company is B2B","company has demo","company has free trial","company has downloadable","company has mobile apps","company has online reviews","company has pricing","company funding count","company total funding","company total funding printed","company latest funding date","company latest funding stage","company funding events","company funding event amount","company funding event amount printed","company funding event date","company funding event stage","company funding event link","company technology count","company technology names","company technology list","company active job postings","company active job titles"]},{"provider":"Reverse Contact","api":"Cached person enrichment","website":"https://www.reversecontact.com","pricingPage":"https://www.reversecontact.com/pricing","pitch":"Get a person's full professional profile from any details you have.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"Customer may cache or store Data retrieved via the Services in Customer's own systems for a maximum period of twelve (12) months from the date of retrieval (the \"Caching Period\"). Upon expiration of the Caching Period for any given Data record, Customer shall either re-validate the record by making a new API request or delete the cached copy. [...] Customer shall, within thirty (30) days of the effective date of termination, permanently delete or destroy all Data in Customer's possession or control (including copies stored in Customer's databases, backup systems, or applications) [...] provided, however, that Customer may retain individual Data records relating to specific contacts with whom Customer has had a documented, responsive communication (i.e., the contact has replied to or otherwise affirmatively engaged with Customer's outreach) prior to the effective date of termination, solely to the extent necessary for Customer to maintain its existing business relationship with such contacts.","use":"Reverse Contact grants Customer a limited, non-exclusive, non-transferable, non-sublicensable right to access and use the API solely for Customer's internal business purposes during the Subscription Term. [...] The use of the Services on behalf of, or for the primary benefit of, third parties (including Customer's own clients, whether under an agency, consultancy, or outsourcing arrangement) does not constitute an internal business purpose unless Customer has obtained Reverse Contact's prior written authorization or is operating under an Embedded Use arrangement in accordance with Section 9.7. [...] Customer may access and use the Services solely for legitimate B2B purposes, including sales prospecting, market research, lead enrichment, contact verification, and other professional business intelligence activities, in each case subject to the restrictions set forth in this Section 9 and the remainder of this Agreement. [...] Customer represents, warrants, and undertakes that it will not use the Data, in whole or in part, as a factor in determining: (a) the eligibility of any individual for consumer credit or insurance; (b) employment, promotion, or reassignment decisions; (c) eligibility for a license or other benefit granted by a governmental authority; (d) eligibility for housing; or (e) any other purpose governed by the FCRA or equivalent consumer protection laws in any jurisdiction [...] Customer shall not, and shall ensure that its Authorized Users do not: (a) Use the Services or Data to build, train, or improve any product, service, or database that competes with the Platform or any Services offered by Reverse Contact [...]; (b) Resell, sublicense, distribute, transfer, or otherwise make available Data or access to the Services to any third party without Reverse Contact's prior written authorization. For the avoidance of doubt, Customer may use Data internally within its own products and workflows in enriched, aggregated, or derived form, provided that Customer shall not build or operate a product, service, or database whose primary purpose is the redistribution of Data (whether raw, enriched, or derived) to third-party end users. Any such redistribution activity requires a separate written reseller or data redistribution agreement with Reverse Contact. [...] In the event of a breach of this Section 9.3(b), Customer agrees to pay Reverse Contact, as liquidated damages and not as a penalty, an amount equal to five (5) times the total Fees paid or payable by Customer under this Agreement during the twelve (12) months preceding the date of the breach [...]; (c) Reverse engineer, decompile, disassemble, or attempt to derive the source code, algorithms, or data structures underlying the Platform or Services; (d) Use automated tools, proxy services, credential rotation, or any other means to circumvent or exceed applicable rate limits, security measures, or access controls; (e) Use Data to harass, stalk, intimidate, threaten, defame, or harm any individual, or for any other purpose that violates applicable law; (f) Use Data to send unsolicited commercial messages in violation of applicable anti-spam or electronic marketing laws, including but not limited to the CAN-SPAM Act, the CASL, or the electronic communications provisions of applicable EU/EEA law; (g) Use Data to process personal data in violation of applicable data protection laws, including GDPR, CCPA/CPRA, or equivalent national or state-level privacy laws [...]; (h) Use the Services to transmit viruses, malware, or any other malicious code, or to conduct denial-of-service attacks, SQL injection, or other security attacks against the Platform or any third party; (i) Use the Services in connection with any content or activity involving, targeting, or exploiting minors; (j) Impersonate Reverse Contact, Reverse Contact's employees, or any other person or entity, or misrepresent Customer's affiliation with any person or entity in connection with the use of the Services; (k) Share API Keys or Workspace access with parties other than Customer's own Authorized Users, or permit access to the Services by or on behalf of third parties not bound by terms at least as protective of Reverse Contact as this Agreement; (l) Use the Services or receive Data while located in, or on behalf of any person or entity located in, any country or territory subject to comprehensive trade or economic sanctions administered by the United States (OFAC), the European Union, the United Nations Security Council, or France, or while designated on any restricted or denied party list maintained by any of the foregoing authorities [...]; (m) Use the Data, alone or in combination with any other data, to infer, derive, or predict special categories of personal data as defined in Article 9 of the GDPR (or equivalent categories under applicable Privacy Laws) [...]; (n) Use the Data in any manner that would constitute unlawful discrimination against any individual on the basis of race, color, religion, national origin, sex, age, disability, genetic information, sexual orientation, gender identity, or any other characteristic protected by applicable anti-discrimination laws [...]. [...] Integrating the Services, or any Data obtained through them, into a software product, service, or platform that Customer makes available to third parties, whether or not for a fee (an \"Embedded Application\"), is outside the scope of that right and requires Reverse Contact's prior written authorization. [...] Customer shall not extract and/or re-utilize all or a substantial part, qualitatively or quantitatively, of the contents of the database, nor systematically or repeatedly extract and/or re-utilize insubstantial parts of such contents in a manner that conflicts with a normal exploitation of the database or unreasonably prejudices the legitimate interests of Reverse Contact as database producer. [...] Customer shall use the Services in a manner consistent with this Agreement, the Documentation, and general fair use principles. Without limiting the Acceptable Use Policy in Section 9, Customer shall not: (a) use automated tools or scripts in a manner designed to circumvent rate limits or artificially inflate API usage; (b) make requests in patterns or volumes that materially exceed typical usage for Customer's stated use case; (c) share API Keys or Workspace credentials with third parties in a manner that effectively pools usage across multiple unrelated organizations; (d) create or operate multiple Workspaces or accounts for the purpose of circumventing rate limits, Credit expiration rules, trial limitations, or any other commercial or technical restriction applicable to a single Workspace or Plan. [...] Unmetered access under an Unlimited Plan remains subject to a maximum of one hundred thousand (100,000) profiles retrieved per Workspace per calendar day (UTC). [...] Customer represents, warrants, and undertakes that it shall have and maintain a valid legal basis under applicable Privacy Laws for all processing activities it conducts using Data retrieved via the Services, including prospecting, outreach, and enrichment activities. [...] Customer further acknowledges and agrees that it shall apply the principles of data minimization and storage limitation as set forth in Article 5(1)(c) and (e) of the GDPR (or equivalent principles under applicable Privacy Laws) to all personal data obtained via the Services, and shall not retain such personal data for longer than is necessary for the purposes for which it is processed. [...] Customer represents and warrants that it maintains a publicly accessible privacy policy that accurately describes its data processing practices, including its use of third-party data enrichment services, to the extent required by applicable Privacy Laws.","plan":"Pay-as-you-go, 40K credits","who":"professionals acting in their professional capacity, not as consumers","billing":"one-time","charged":null,"topUp":false,"pay":500,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":40000,"unit":"credit","renews":"never","expires":"3 months","costUnits":2,"calls":20000,"monthlyCap":null,"perThousand":25,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Person profile","Person profile live","Company profile","Company profile live","People search","Company search","People lookalike","Agentic Search","Agentic Company Search","Enrich company","Find Email","Find Phone"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":1.67,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/v2/enrich/persons","send":"at least one of email, firstName, lastName, companyDomain or companyName","fields":["provider record ID","username","member ID","profile URL","first name","last name","headline","about","pronouns","open to work","premium","verified","memorialized","profile picture","cover image","account created","followers","connections","skills","city","state","country","country code","location","current title","current job description","current employment type","current company","current company ID","current company LinkedIn ID","current company URL","current company location","current company logo","start date","jobs","job title","job description","job employment type","job company","job company ID","job company LinkedIn ID","job company URL","job company location","job company logo","job start date","job end date","schools","school degree","school field of study","school description","school grade","school name","school URL","school logo","school start date","school end date","languages","language proficiency","certifications","certification name","certification issuer","certification issuer URL","certification issue date","recommendations","recommendation caption","recommendation text","recommender name","recommender URL","test scores","test name","test score","test date","updated at","full profile","alternative persons","success","request ID","execution time","credits consumed","credits remaining","minute rate limit","daily limit"]},{"provider":"Societeinfo","api":"Cached person enrichment","website":"https://societeinfo.com","pricingPage":"https://societeinfo.com/tarifs","pitch":"Spécifiez uniquement les datas donc vous disposez (prenom, nom, nom société, domaine, linkedin...). Et nos algos de matching feront le reste !","strengths":[],"aggregators":[],"freshness":"1 day","fieldFreshness":null,"history":null,"keep":"no API terms","use":"no API terms","plan":"Business","who":"anyone","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"EUR","exchangeRate":1.1253,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Get Company","Enrich Company","Search Companies","Search Companies By Officiers","Search Contacts","Get Contacts By Company","Get Contacts By Company (without SIREN)","Get Financial","Get Events","Get Bodacc"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Enrich contact","method":"GET","path":"/app/rest/api/v2/contact.json","send":"nothing required; first_name, last_name, full_name, name, street, postal_code, city, domain_name, registration_number, email, linkedin_url, company_linkedin_url, withEmail, withLinkedin, contact_score","fields":["contact ID","civility","first name","last name","birth date","domain code","domain label","level code","level label","role","email","email score","email test result","email test reason","email test date","webmail","LinkedIn URL","extraction date","hashcode","contact score","company ID","company SIREN","company SIRET","company legal form","company establishment type","company name","company corporate object","company formatted address","company APE code","company APE label","company street","company postal code","company city","company legal form code","company legal form name","company website URL","company LinkedIn URL","company generic email","company generic phone","company last sales","company last profit","company last staff","company INSEE category code","company INSEE category name"]},{"provider":"Sumble","api":"Cached person enrichment","website":"https://sumble.com","pricingPage":"https://sumble.com/pricing","pitch":"Provide either a list of people to resolve (list mode) [...] and compose exactly which attributes you get back.","strengths":[],"aggregators":[],"freshness":"1 day","fieldFreshness":null,"history":null,"keep":"You will not, and will not permit any third party to: (a) download, modify, copy, distribute, transmit, display, perform, reproduce, duplicate, publish, license, create derivative works from, or offer for sale any information contained on, or obtained from or through, the Services, except for temporary files that are automatically cached by your web browser for display purposes, or as otherwise expressly permitted in these Terms [...] If the Agreement terminates, then (a) all rights and access to the Services will terminate unless otherwise described in these Terms","use":"Company grants you a limited, non-exclusive, non-transferable, non-sublicensable right to access and use the Services, including the APIs, solely for your internal business purposes, in accordance with the Agreement and all relevant Documentation, and only by Authorized Users for whom you have purchased a valid subscription or seat license [...] You shall not exceed any API usage limits, quotas, or other restrictions set forth in the applicable ordering documents, Documentation, or otherwise communicated by Company from time to time [...] You will only use the Services for your legitimate internal business purposes and in accordance with these Terms. Your use of the Services will at all times comply with all applicable laws. You will not, and will not permit any third party to: (a) download, modify, copy, distribute, transmit, display, perform, reproduce, duplicate, publish, license, create derivative works from, or offer for sale any information contained on, or obtained from or through, the Services, except for temporary files that are automatically cached by your web browser for display purposes, or as otherwise expressly permitted in these Terms; (b) duplicate, decompile, reverse engineer, disassemble or decode the Services (including any underlying idea or algorithm), or attempt to do any of the same; (c) use, reproduce or remove any copyright, trademark, service mark, trade name, slogan, logo, image, or other proprietary notation displayed on or through the Services; (d) use automation software (bots), hacks, modifications (mods) or any other unauthorized third-party software designed to modify the Services; (e) exploit the Services for any commercial purpose, except as otherwise permitted under these Terms; (f) access or use the Services, the APIs or MCP Service in excess of applicable usage limits, licensed scope or authorized access methods; (g) access or use the Services in any manner that could disable, overburden, damage, disrupt or impair the Services or interfere with any other party's access to or use of the Services [...]; (h) attempt to gain unauthorized access to, interfere with, damage or disrupt the Services, or the computer systems or networks connected to the Services; (h) circumvent, remove, alter, deactivate, degrade or thwart any technological measure or content protections of the Services; (i) use any robot, spider, crawlers, scraper, or other automated means to access the Services for any purpose without Company's express prior written permission; provided, however, that you may use authorized APIs, integrations, automated workflows, agents, the MCP Service, and other programmatic access methods expressly permitted under these Terms and the applicable Documentation; (j) introduce any viruses, trojan horses, worms, logic bombs or other materials that are malicious or technologically harmful into our systems; (k) submit, transmit, display, perform, post or store any content that is inaccurate, unlawful, defamatory, obscene [...] or otherwise objectionable [...]; (l) use the Services, whether accessed via the Website, API, MCP Services or any other means, as training data, fine-tuning data, or evaluation data or in any other manner to develop or improve any machine learning model, large language model or AI system; (m) violate any applicable law or regulation in connection with your access to or use of the Services; or (n) access or use the Services in any way not expressly permitted by these Terms","plan":"Pro","who":"anyone who can form a binding contract with Sumble and is at least 18 (the terms: 'You may only use the Services if you can form a binding contract with Company', 'you are at least 18 years of age'); a subscription per user (the pricing page: 'USD 99/month'; the terms: 'only by Authorized Users for whom you have purchased a valid subscription or seat license')","billing":"monthly","charged":null,"topUp":null,"pay":99,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":9900,"unit":"credit","renews":"month","expires":"monthly credits reset each billing cycle; unused ones do not roll over","costUnits":1,"calls":9900,"monthlyCap":null,"perThousand":10,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Organizations","Organization signals","Organization tech stack","Signals search","Priority Signals search","Intelligence briefs","Job posts","Teams","Job function & level lookup","Organization lists","GET /v9/contact-lists","Technologies find","Technologies lookup","Technology categories lookup","Projects lookup"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[{"fields":["LinkedIn URL"],"perThousand":10},{"fields":["job title"],"perThousand":10},{"fields":["job function"],"perThousand":10},{"fields":["job level"],"perThousand":10},{"fields":["location"],"perThousand":10},{"fields":["country"],"perThousand":10},{"fields":["current employer"],"perThousand":10},{"fields":["technologies"],"perThousand":10},{"fields":["person score"],"perThousand":10},{"fields":["experience"],"perThousand":10},{"fields":["summary"],"perThousand":10}],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":1000,"answer":"by polling","latencyMs":null,"call":null,"method":"POST","path":"/v9/people","send":"people[].linkedin_url or people[].person_id, select; file_name, request_id","fields":["name","person ID","Sumble URL"]},{"provider":"Swarmhit","api":"Cached person enrichment","website":"https://www.swarmhit.com","pricingPage":"https://www.swarmhit.com/pricing","pitch":"Full database profile for one person, from their LinkedIn URL: experience, education, skills, follower counts, and with `includeEmail` their verified work email.","strengths":[],"aggregators":[],"freshness":"1 week","fieldFreshness":null,"history":null,"keep":"no limit","use":"You will not use Swarmhit to: Send unlawful, harassing, deceptive, or discriminatory messages. Impersonate another person or business or misrepresent your affiliation. Scrape, resell, or sublicense Swarmhit’s data, software, or AI outputs. Bypass the sending limits, safeguards, rate limits, or other technical controls we apply. Send messages to prospects in jurisdictions where you lack a lawful basis (for example, B2C contacts under GDPR or CASL without consent). [...] You own your customer content. You grant Swarmhit a worldwide, non-exclusive licence to host, transmit, and process that content strictly to provide the service. [...] Purchased, scraped, enriched, licensed, or publicly available data may be used only where Customer has assessed the source, rights, notice obligations, accuracy, and lawful basis for the intended use. [...] Customer must not: [...] bypass throttling, rate limits, safety controls, account limits, technical restrictions, or verification measures; use bots, scripts, or tools outside supported functionality to interfere with the Services; create excessive Accounts or use multiple Accounts to evade enforcement; probe, scan, or test Swarmhit systems without written authorization; use the Services in a way that degrades reliability for others.","plan":"LinkedIn senders 1-50","who":"anyone at least 18 and authorized to bind their organization, with a LinkedIn account to connect as a sender","billing":"monthly","charged":null,"topUp":null,"pay":16.9,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":null,"costUnits":65,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Send a connection request","Message a connection","Send an InMail","Visit a profile","Follow a lead","Look up a profile","Like the lead's last post","Comment on the lead's last post","Start a LinkedIn search import"],"sharesBudgetWith":["Search people in the database","Search companies in the database","Enrich a company","Find a person's email","Find a person's phone","Find a lead's email or phone","Find emails or phones for many leads"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[{"fields":["has business email","has personal email","has phone","business emails"],"perThousand":null}],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/database/people/enrich","send":"linkedinUrl; includeEmail","fields":["ID","name","first name","last name","headline","job title","location","country","profile picture","LinkedIn URL","current company name","current company job title","current company domain","current company LinkedIn URL","current company ID","current company employee count","current company employee count range","current company industries","current job start date","current job end date","past companies","education school","education degree","education field of study","years of experience","saved as lead","summary","connection count","follower count","skills","websites"]}],"total":143,"freshness":["Live","Within an hour","Within a day","Within a week","Within a month","Within a year","Stored, age unknown"],"providers":[{"label":"A to K","kids":[{"label":"Apollo","value":"Apollo on its own site"},{"label":"Autobound","value":"Autobound on its own site"},{"label":"Bytemine","value":"Bytemine on its own site"},{"label":"Context.dev","value":"Context.dev on its own site"},{"label":"Diffbot","value":"Diffbot on its own site"},{"label":"GetLeads","value":"GetLeads on its own site"},{"label":"Kendo","value":"Kendo on its own site"}],"range":true},{"label":"M to S","kids":[{"label":"MoltSets","value":"MoltSets on its own site"},{"label":"Parsers VC","value":"Parsers VC on its own site"},{"label":"Prospeo","value":"Prospeo on its own site"},{"label":"Reverse Contact","value":"Reverse Contact on its own site"},{"label":"Societeinfo","value":"Societeinfo on its own site"},{"label":"Sumble","value":"Sumble on its own site"},{"label":"Swarmhit","value":"Swarmhit on its own site"}],"range":true}],"at":[2,9,19,27,42,56,62,69,77,95,109,123,125,128],"fields":{"Cached person enrichment":["first name","last name","country","LinkedIn URL","email","headline","skills","city","job title","name","company name","location","company LinkedIn URL","current title","state","company description","company domain","company ID","company industry","country code","credits remaining","current company","email status","Facebook URL","full name","job company","job end date","job start date","jobs","person ID","profile picture","provider record ID","success","summary","updated at","about","birth date","company city","company employee count","company employee range","company is B2B","company NAICS codes","company revenue","company revenue range","company SIC codes","company website","company website URL","connection count","credits consumed","current company ID","current job description","education","follower count","GitHub URL","ID","interests","job company logo","job description","job is current","languages","profile URL","region","request ID","school degree","school description","school end date","school field of study","school name","school start date","schools","seniority","start date","status","time zone","title","Twitter URL","username","work email","account created","added at","age","all descriptions","all names","all URIs","alternative persons","AngelList URL","articles written","awards","birth place","blog URL","business email","business email deliverability grade","business email MD5s","business email SHA256s","business email validated at","certification issue date","certification issuer","certification issuer URL","certification name","certifications","checked at","children","civility","colleagues","company active job postings","company active job titles","company AI description","company APE code","company APE label","company corporate object","company country","company country code","company Crunchbase URL","company email domain","company employee count confidence","company employee count maximum","company employee count minimum","company employee count on Prospeo","company employees on LinkedIn","company establishment type","company Facebook URL","company formatted address","company founded","company founded year","company funding count","company funding event amount","company funding event amount printed","company funding event date","company funding event link","company funding event stage","company funding events","company generic email","company generic phone","company has demo","company has downloadable","company has free trial","company has mobile apps","company has online reviews","company has pricing","company headquarters city","company headquarters country","company headquarters state","company HQ phone","company HQ phone country","company HQ phone country code","company HQ phone international","company HQ phone national","company industries","company industry confidence","company INSEE category code","company INSEE category name","company Instagram URL","company is B2C","company keywords","company last profit","company last sales","company last staff","company latest funding date","company latest funding stage","company legal form","company legal form code","company legal form name","company LinkedIn ID","company LinkedIn industry","company logo","company MX provider","company NAICS code","company NAICS title","company other websites","company postal code","company provider record ID","company raw address","company revenue confidence","company revenue max","company revenue min","company SEO description","company SIC code","company SIC title","company SIREN","company SIRET","company state","company street","company technology count","company technology list","company technology names","company total funding","company total funding printed","company Twitter URL","company type","company YouTube URL","connections","contact ID","contact score","cover image","crawl timestamp","credits used","Crunchbase URL","current company domain","current company employee count","current company employee count range","current company industries","current company job title","current company LinkedIn ID","current company LinkedIn URL","current company location","current company logo","current company name","current company URL","current employment type","current job as of","current job company domain","current job company ID","current job company name","current job department","current job end date","current job location","current job seniority","current job start date","current job title","current position ID","current role start date","current seniority","current title start date","daily limit","death date","death place","department","description","descriptors","Diffbot URI","domain code","domain label","education degree","education field of study","education school","email addresses","email MX provider","email revealed","email score","email test date","email test reason","email test result","email type","email verification date","email verification method","emails","employment address","employment company ID","employment company name","employment current","employment degree","employment description","employment emails","employment end date","employment grade level","employment history","employment kind","employment major","employment record created date","employment record ID","employment record key","employment record updated date","employment start date","employment title","enriched","entity ID","entity type","entity types","execution time","experience","experience company","experience company LinkedIn URL","experience description","experience end date","experience function","experience is current","experience seniority","experience start date","experience title","extraction date","extrapolated email confidence","eye color","failed","followers","formatted address","free repeat","full profile","functional area","gender","Google+ URL","has current position","hashcode","height","homepage URL","image","images","importance","incoming edges","index","industries of employers","Instagram URL","job company ID","job company LinkedIn ID","job company location","job company provider record ID","job company URL","job departments","job duration","job employment type","job location","job seniority","language proficiency","last job change detected at","last updated at","level code","level label","LinkedIn member ID","LinkedIn profile ID","locations","match confidence","match score","match status","member ID","memorialized","minute rate limit","mobile","mobile revealed","mobile status","name parts","nationalities","net worth","no match","non-canonical facts","NPI numbers","number of origins","open to work","origin details","origin hashes","origins","parents","partial profile","past companies","person type","personal email","personal email deliverability grade","personal email validated at","personal emails","personal emails deliverability grade","personal emails validated at","personal website","phone numbers","photo","political affiliation","position ID","position summary","postal code","premium","processed","profile only","pronouns","recommendation caption","recommendation text","recommendations","recommender name","recommender URL","records remaining 1w","records remaining 5h","records reset 1w","records reset 5h","related locations","religion","response time","results","role","saved as lead","school grade","school logo","school URL","SEP professional license numbers (Mexico)","siblings","skipped","social links","street","Sumble URL","test date","test name","test score","test scores","time zone offset","total","unions","URI details","verified","warnings","webmail","websites","weight","Wikipedia pageviews last month","Wikipedia pageviews last quarter","Wikipedia pageviews last year","Wikipedia pageviews month-over-month growth","Wikipedia pageviews quarter-over-quarter growth","Wikipedia pageviews year-over-year growth","Wikipedia URL","work history","X URL","years of experience","YouTube URL"]},"same":["api","strengths","waterfall","resultsCap","startPerCall","monthlyFee","addons","catchAllPerThousand","bounceRefund","history"],"facets":["defaults","provider","price","fields","billing","who","freshness","use","answer","paysFor"],"ties":{"Cached person enrichment":{"tied":["Diffbot, $299 monthly","Diffbot, $299 monthly, Startup","GetLeads, $497 monthly","GetLeads, $497 monthly, Unlimited","Parsers VC, $19 monthly","Parsers VC, $19 monthly, Starter","Parsers VC, $19 monthly, Starter, GET /persons","Parsers VC, $19 monthly, Starter, GET /persons, 2,000 credits a month","Prospeo, $249 monthly","Prospeo, $249 monthly, Pro","Prospeo, $249 monthly, Pro, POST /enrich-person","Prospeo, $249 monthly, Pro, POST /enrich-person, 15,000 credits a month"],"movedPages":{"Parsers VC, $19 monthly, Starter, GET /persons, List people":"/cached-person-enrichment-apis/parsers-vc/19-monthly-starter-get-persons","Prospeo, $249 monthly, Pro, POST /enrich-person, Enrich Person":"/cached-person-enrichment-apis/prospeo/249-monthly-pro-post-enrich-person"},"canonicals":{"Apollo":"free","Autobound":"free","Bytemine":"free","Context.dev":"free","Diffbot\nPOST /kg/v3/enhance/bulk":"free-free-post-kg-v3-enhance-bulk","Diffbot":"free-free-get-kg-v3-enhance-combine","GetLeads":"free-1000-credits-post-api-v1-enrich-csv","Kendo":"free","MoltSets":"free","Parsers VC\nGET /persons\nList people":"free-free-get-persons","Parsers VC":"free-free-get-persons-id","Prospeo\nPOST /enrich-person\nEnrich Person":"49-monthly-starter-post-enrich-person","Prospeo":"49-monthly-starter-post-bulk-enrich-person","Reverse Contact":"free","Sumble":"free","Swarmhit":"free"}}},"shared":[],"notes":{"name":"The row's name, unique on the sheet: the provider, then the plan's price, like \"API Builderz, $50 monthly\", \"HarvestAPI, $280 pack\", \"Crawlbase, pay as you go\", \"Bright Data, top-up\" (a prepaid balance of any amount), \"AnyAPI, top-up from $10\" (a balance you top up by $10 or more), \"free\" or \"contact us\". If two plans share a price, we add the plan's name, then the call's method and path, its units and the call's name, until no two rows share a name. We build the name for the sheet and leave it out of the sheet's CSV and JSON. datacircle.json and datacircle.csv have the name from its API's sheet.","api":"This column names each row's API. \"Employee profile\" returns a person's LinkedIn profile, on LinkedIn profiles. \"Cached employee profile\" returns it from the provider's copy of LinkedIn, on Cached LinkedIn profiles, which lists the LinkedIn profile plans whose Freshness says a copy. \"Employee email\" finds a person's work email, on Find email. \"Cached employee email\", on the Find cached email sheet, finds a person's work email in the provider's stored data. \"Email validation\" checks whether an address takes mail, on Validate email. On the Cached email validation sheet, \"Cached email validation\" may answer from data the provider keeps, without asking the mail server. \"Employee phone\" finds a person's phone number, on Find phone. \"Cached employee phone\", on the Find cached phone sheet, finds a person's phone number in the provider's stored data. \"Company profile\" returns a company's LinkedIn page, on LinkedIn company profiles. \"Cached company profile\", on the Cached LinkedIn company profiles sheet, returns a company's LinkedIn page from the provider's copy of LinkedIn. \"Company headcount\" counts a company's staff, on its own sheet. \"Cached company headcount\", on the Cached company headcount sheet, counts a company's staff from the provider's stored data. \"Phone validation\" checks whether a phone number is valid, on Validate phone. \"Cached phone validation\", on the Cached phone validation sheet, checks a phone number against data the provider has stored. \"Post comments\" returns the comments on a LinkedIn post, on LinkedIn post comments. \"Post reactions\" returns who reacted to a LinkedIn post and how, on LinkedIn post reactions. \"Employee lookalikes\" returns people similar to the one you send, on Similar people. On the Cached similar people sheet, \"Cached employee lookalikes\" returns similar people from a copy the provider keeps. On the Similar companies sheet, \"Company lookalikes\" returns companies similar to the company you send. On the Cached similar companies sheet, \"Cached company lookalikes\" returns similar companies from a copy the provider keeps. \"Company technologies\" returns the tools a company uses, on its own sheet. \"Cached company technologies\" returns the tools a company uses, from a copy the provider saved earlier. \"Company job count\" counts the jobs a company has open on LinkedIn, on its own sheet. \"Employee posts\" returns a person's LinkedIn posts, on LinkedIn person posts. \"Company posts\" returns a company's LinkedIn posts, on LinkedIn company posts. \"Cached employee posts\" and \"Cached company posts\", on Cached LinkedIn person posts and Cached LinkedIn company posts, return them from the provider's copy of LinkedIn. \"Company funding\" returns a company's funding rounds, on its own sheet. \"Cached company funding\", on the Cached company funding sheet, returns them from the provider's stored data. \"Company jobs\" returns the jobs a company has open, on Company open jobs. On the Cached company open jobs sheet, \"Cached company jobs\" returns a company's open jobs from a copy the provider keeps. \"Employee search\" finds people by job title, company and place, on LinkedIn people search. \"Cached employee search\", on the Cached LinkedIn people search sheet, finds people in the provider's copy of LinkedIn. \"Company search\" finds companies by industry, size and place, on LinkedIn company search. \"Cached company search\" finds companies by industry, size and place in the provider's copy of LinkedIn. It is on the Cached LinkedIn company search sheet. \"Job search\" finds jobs by title, company and place, on LinkedIn job search. \"Cached job search\" finds jobs by title, company and place in a copy of LinkedIn's jobs. It is on the Cached LinkedIn job search sheet. \"Reverse email lookup\" finds the person behind an email, on its own sheet. \"Cached reverse email lookup\" finds who owns an email address in data the provider already holds. It is on the Cached reverse email lookup sheet. \"Post search\" finds posts by keyword, on LinkedIn post search. \"Cached post search\" finds posts by keyword in a copy of LinkedIn posts. It is on the Cached LinkedIn post search sheet. \"Post details\" returns a post from its URL or ID, on LinkedIn post details. \"Job details\" returns a job from its URL or ID, on LinkedIn job details. \"Employee comments\" returns the comments a person left on posts, on LinkedIn person comments. On the Cached LinkedIn person comments sheet, \"Cached employee comments\" returns a person's comments from a copy the provider keeps. \"Employee reactions\" returns the posts a person reacted to, on LinkedIn person reactions. \"Post reposts\" returns the people who reposted a LinkedIn post, on LinkedIn post reposts. \"Employee recommendations\" returns the recommendations on a person's LinkedIn profile, on LinkedIn person recommendations. \"Job lookalikes\" returns jobs similar to the one you send, on Similar jobs. \"Employee articles\" returns a person's LinkedIn articles, on LinkedIn person articles. \"Company enrichment\" returns a company's profile from the provider's own database, on Company enrichment. \"Cached company enrichment\", on the Cached company enrichment sheet, returns a company's profile from the provider's stored data. \"People search\" finds people in the provider's own database. \"Cached people search\", on the Cached people search sheet, finds people in the provider's stored data. \"Company discovery\" finds companies in the provider's own database. \"Cached company discovery\", on the Cached company discovery sheet, finds companies in the provider's stored data. \"Job postings\" finds job postings in the provider's own database. \"Cached job postings\", on the Cached job postings sheet, finds job postings in a copy the provider keeps. \"Job posting details\" returns a job posting from its ID. On the Cached job posting details sheet, \"Cached job posting details\" returns a job posting from a copy the provider keeps. \"Person enrichment\" returns a person's profile. On the Cached person enrichment sheet, \"Cached person enrichment\" returns a person's profile from a copy the provider keeps. \"Leadership changes\" returns the new hires, promotions and departures in a company's senior roles. \"Cached leadership changes\" returns a company's leadership changes from a copy the provider keeps. \"Company hierarchy\" returns a company's parent companies and subsidiaries. Pick an API from the GTM APIs list on the left of the sheet. Pick \"All GTM APIs\" in the GTM APIs list to see every API in one sheet. We name each folder in the zip after its API.","score":"We score each plan out of 100 on five parts: price, data, cost to get started, bundled calls and performance. We score data and performance from our benchmark of the provider's call. Until we benchmark the call, the plan's data, performance and Overall scores are N/A. A plan whose data score is 0 has an Overall score of 0, whatever its other scores. Each API's sheet shows what we measured on each benchmarked plan, in the columns after its price. We rank a plan's price per 1,000 against the price per 1,000 of its API's other scored plans. We score cost to get started and bundled calls on the plan alone. We give N/A to yearly and contact us plans, plans over $500 to start, plans bought on a marketplace and plans that need your own LinkedIn account. A free plan gets N/A unless it has no limit and the provider has no paid plan for that call. Then we score it. Click Score in the sheet's bar to set the five weights. The JSON, datacircle.json and datacircle.csv give each plan's score at the default weights. A plan with N/A has an empty score there. The sheet's CSV has no scores.","Price score":"The plan's price score out of 100. We rank the plan's $ per 1,000 against the $ per 1,000 of the other scored plans of its API. We also count the cost of a call that finds nothing. Some plans give no $ per 1,000. For those plans, when each call returns one result, we use the price our benchmark paid per call. We scale that price by what a credit costs on the plan. We skip our benchmark's price for a plan if another paid plan for the same call lists its own $ per 1,000. Plans for one call can each charge a different price per call. On the sheet, hover over or tap the score to see how we worked it out.","Data score":"The plan's data score out of 100, from our benchmark of its provider's call: how complete the call's answer is, or how often it is right, depending on the API. Until we benchmark the call, the score is N/A, and so is the Overall score. On the sheet, point at the score to see how we scored it. Each API's sheet shows what we measured on each benchmarked plan, in the columns after its price.","Cost to get started score":"The plan's score out of 100 for getting your first result: who can get it, how you pay, and the least you pay before it. On the sheet, point at the score to see why.","Bundle score":"The plan's score out of 100 for the other calls its price gets you, as its pages list them under Also pays for. On the sheet, point at the score to see why.","Performance score":"The plan's performance score out of 100, from our benchmark of its provider's call. We divide the fastest benchmarked provider's median time by this provider's median time. A median under 0.1 s counts as 0.1 s, since the baseline we take off varies by about that much. The Performance score and the Overall score are N/A until we benchmark the call. If the call gave no answer we could time, the Performance score is N/A and the Overall score counts it as 0. The Performance score is N/A if we timed no other call in the same benchmark. The Overall score then leaves Performance out. On the sheet, point at the score to see how we scored it. Each API's sheet shows what we measured on each benchmarked plan, in the columns after its price.","perThousand":"The price of 1,000 people on this plan, in dollars. It is 0 on a free plan. On a plan that charges by the page, we divide 1,000 by the most people one page holds. We round that up to whole pages and add up what the pages cost. We leave it blank when the provider doesn't say how many people a page holds. On a flat fee, we take the most people the plan allows in one month and multiply by the number of months the fee covers. We divide the fee by that total. Then we multiply by 1,000. We leave it blank when the provider doesn't say how many people the plan allows. On a flat fee with no cap on people, the sheet shows \"no limit\", and the CSV and JSON leave it blank. On a waterfall's paid plan, we show the average cost of a call. We take the price of each provider listed under Waterfall. We weight each price by how often a call reaches that provider. We leave it blank when the waterfall doesn't list a hit rate or a page size for a provider a call can reach. On a plan with a Monthly fee, we first subtract one month of the fee from the plan's units. Then we divide the plan's price by the number of people the remaining units buy. Then we multiply by 1,000. We leave it blank when the Monthly fee uses up all the plan's units. Some plans limit calls per day or per month. If that limit allows fewer people than the units pay for, we divide the plan's price by the people the limit allows, and multiply by 1,000. We leave it blank on a top-up, because a top-up buys no fixed number of people. We also leave it blank when the provider's website doesn't say what a person costs on this plan, or how many people the plan's price buys.","billing":"How you pay: \"free\", \"on-demand\" (you pay for what you use, with nothing to buy first), \"one-time\" (a pack or a top-up you pay for first, then use), \"contact\" (no public price: you ask the provider for one), or a subscription: \"monthly\", \"quarterly\" (every three months), \"half-yearly\" (every six months) or \"yearly\". The sheet shows \"one-time\" as \"pay first\" and \"on-demand\" as \"pay as you go\".","perMonth":"On a subscription: its price for one month in dollars, its Pay divided by the months it buys (termMonths), 12 on most yearly plans. We work it out for the sheet, to the cent. We leave it out of the sheet's CSV and JSON, and datacircle.json and datacircle.csv have it. Blank (null) on every other plan.","notFoundPerThousand":"Dollars for 1,000 people the provider can't find. 0 when the provider charges nothing for them, as on free plans. On a waterfall, the cost of a call when no provider finds the answer: the sum of the prices of the providers that charge for a miss.","strengths":"The plan's strengths, which we work out from its row: each one is a band that many plans of its API are in. Each API has its own strengths, listed and explained under Strengths on datacircle.dev/fields, and Validate email, Find phone, Validate phone, LinkedIn company profiles, Company headcount, LinkedIn post comments, LinkedIn post reactions, Similar people, Similar companies, Company technologies, Company job count, LinkedIn person posts, LinkedIn company posts, Company funding, Company open jobs, LinkedIn people search, LinkedIn company search, LinkedIn job search, Reverse email lookup, LinkedIn post search, LinkedIn post details, LinkedIn job details, LinkedIn person comments, LinkedIn person reactions, LinkedIn post reposts, LinkedIn person recommendations, Similar jobs, LinkedIn person articles, Company enrichment, People search, Company discovery, Job postings, Job posting details, Person enrichment, Leadership changes and Company hierarchy have none yet. Cached LinkedIn profiles and Find cached email have the strengths of LinkedIn profiles and Find email, but never \"read live\" or \"found live\". The other cached sheets have none yet. Blank ([] in the JSON) when the plan has none, and we leave Strengths off its page. Under Filters, you see only the rows with every strength you tick.","aggregators":"Aggregators like treg and Deepline sell the row's call. With one aggregator account, you reach many providers. Each cell says what a call costs through the aggregator with your own provider key. It also says what 1,000 people cost when you pay the aggregator and have no account at the provider: \"treg: your key free, paid $1.50\". We add \"per 1,000 results\" when the aggregator charges per person it finds, and say \"paid, no fixed price\" when the aggregator publishes no price. For an aggregator that charges by the page, we take the largest page size and price the full pages you need for 1,000 results. We write \"paid, page size not stated\" when the aggregator doesn't say how many results a page holds. We write \"listed, how it's sold not stated\" when the aggregator lists the call but doesn't say if you pay the aggregator or use your own key. When the aggregator sells one of the provider's calls without saying which, the cell ends with \"this call or another\", the provider's name and \"call\": \"this call or another Pubrio call\". A cell says \"none\" when no aggregator we checked for the row's API sells the call. A blank cell (null in the JSON) means we haven't checked any aggregator for that API. We skip calls an aggregator doesn't list. In the JSON, each aggregator has these keys. aggregator is its name. url is its page for the call. ownKey is what a call costs there with your own key, or null when you can't use yours. paid is true when you can pay the aggregator. paid and ownKey are both null when the aggregator doesn't say how it sells the call. callStated is false when the aggregator sells this call or another of the provider's and doesn't say which. usd is its price in dollars for one per, or null when it sets no price. perThousand is its price in dollars for 1,000. per is \"call\", \"result\" or \"page\". resultsPerPage is the most results a page holds, or null. So far we have read AnyAPI, Clay, ColdIQ, Databar, Deepline, Monid, Orthogonal, RouterGrowth, treg and Unified.to.","waterfall":"Some routers, like treg's, try one provider after another until one finds the person. On a router's call, the Waterfall column lists each provider the router tries, in order. Each provider shows the router's name for its call in brackets. Then comes its price per 1,000 on this plan, then how often it finds the person. We add \"misses billed\" when the provider charges for a miss. For a provider that charges by the page, we count the full pages that hold 1,000 results at the largest page size, and we write \"page size not stated\" when the provider doesn't say how many results a page holds. The router publishes how often each provider finds a person over all its calls. We assume each provider finds people at that same rate on the calls the earlier providers miss. We leave the Waterfall column blank on calls with a single provider. In the JSON, each step has these keys. provider is the provider's name. call is the provider's call, which you can also make on its own. perThousand, per and resultsPerPage mean the same as on a plan's row. hitRate is from 0 to 1, or null when the router gives none. missesBilled is true when the provider charges for a miss.","repeatFree":"On a call that costs units: how long you can get a person again free on this plan after you pay for it. On a flat fee with a daily or monthly limit: how long you can get a person again without using up the limit after you first get the person. We copy it from the provider's pages, like \"20 minutes\". \"no limit\" means the provider never charges again for a person you paid for once. \"never\" means the provider says it charges each time you get the person again. Blank when the provider's pages don't say.","per":"The price counts a \"call\" or a \"result\". A call asks for one person. A result is each person a call returns. Some calls return a page of results: a post's comments, reactions or reposts, a person's or company's posts, a person's articles, comments or reactions, a company's open jobs, the people, companies, jobs or posts a search finds, or people, companies or jobs similar to the one you send. \"result\" counts each person on the page. \"page of 50\" counts each page, and you pay for a whole page even when it holds fewer than 50. resultsPerPage is the most people a page holds. It is null when the price doesn't count pages or the provider doesn't say the page size. \"page, size not stated\" means the provider doesn't say how many people a page holds.","resultsCap":"For a search API, the most results you can get from one search on this plan, however many pages you ask for. \"no limit\" when the provider says you can get every match. Blank (null in the JSON) when the provider's docs don't say, or when the API isn't a search.","startPerCall":"A fee in dollars you pay once for each call, on top of the price per person, like an Apify Actor's start fee. You pay the same fee for a call of 1,000 people or a call of one person. We leave this fee out of the $ per 1,000. It is $0.00 on a free plan. It is blank when the plan has no start fee. Some providers' pages give a range, like \"2-3 credits\". When the page gives a range, startPerCall is the lowest fee and startPerCallMax is the highest. The sheet and the CSV show \"$0.04 to $0.06\". startPerCallMax is blank on a plan with one start fee or none.","monthlyFee":"A monthly fee the call needs. The provider takes it from the plan's units. For example, RouterGrowth charges $9.625 a month for each LinkedIn account you connect. monthlyFee is the fee in dollars. monthlyFeePer is what one fee pays for, like \"LinkedIn account\". The Enough for and $ per 1,000 columns count what is left after one month of the fee. Blank (null in the JSON) when the call has no monthly fee.","extras":"Fields that cost more. Each has its fields and its perThousand on top of the row's.","Also pays for":"The other calls you get for the plan's price. Each has its own limit. We use the provider's words. When a plan pays for more than 40 other calls, we write their count instead, like \"300 other calls\". We leave out apps, extensions, MCP servers, proxies and storage, since they are not calls. We also leave out features you can use only in the provider's app, like sending its email campaigns. For example, gtm-api.com's account price also buys 100 searches, 50 messages and 25 connection requests a day. \"nothing\" when you get only the row's call. The row's $ per 1,000 is for that call alone, since providers don't say how to split their price. Blank (null in the JSON) until we read the provider's plan. Also blank on a \"contact\" plan whose pages don't say what its price buys.","overagePerThousand":"On a subscription: dollars for each 1,000 people you get past the plan's units, when the provider sells extra people.","addons":"On an email API's subscription: the packs of units the provider sells on top of the plan, as its pricing page lists them. Each has its units, its pay in the plan's currency, when it renews (\"month\" or \"year\" when you pay for it again with the plan, \"never\" when you buy it once), and its perThousand, dollars for 1,000 emails at its price. The sheet's CSV says \"500 credits a month for $10 ($20.00 per 1,000)\". An empty list when the provider sells none. Blank (null) on every other plan.","catchAllPerThousand":"On an email API: dollars for 1,000 calls that return an address at a catch-all domain. Such a domain takes mail for any address, so you can't check whether the person's mailbox exists, and the email may bounce. 0 when they cost nothing, or when the provider returns no such address. The same as the row's $ per 1,000 when the provider charges for any address it finds. Blank when its pages don't say.","bounceRefund":"On an email API: the credit or refund the provider gives when an address it charged you for bounces, and the conditions, in its pages' words, like \"the credit, reported from the dashboard or the API and reviewed\". \"never\" when its pages say a bounced address stays charged. Blank when they don't say.","pitch":"How the provider sells the row's call, quoted from the call's own page, or the provider's own pitch when one page covers all its calls. \"[...]\" marks a cut.","freshness":"How old the answer may be, from the provider's pages. \"live\": the provider reads LinkedIn, the company's website or its job board, or finds or checks the email or phone number, when you call. A plan is \"live\" too when the provider keeps each answer for an hour or less and gives it again to anyone who asks the same question in that time. Renidly keeps each answer for 20 minutes. \"1 month\" or \"30 days\": the provider answers from a copy it refreshes that often. \"as of 2025-11-13\": from a copy last refreshed that day. \"stored\": from a copy the provider's pages don't date. We also mark an email or phone check \"stored\" when it reads only the format, the domain's DNS and the provider's own lists. That check never asks the mail server or the carrier. We leave it blank (null in the JSON) when the provider's pages don't say how fresh the answer is, or don't agree with each other. The cached sheets are Cached LinkedIn profiles, Find cached email, Cached LinkedIn company profiles, Cached company headcount, Cached company enrichment, Cached people search, Cached company discovery, Cached company funding, Cached email validation, Cached LinkedIn people search, Find cached phone, Cached reverse email lookup, Cached LinkedIn job search, Cached LinkedIn company search, Cached LinkedIn post search, Cached company technologies, Cached phone validation, Cached LinkedIn person posts, Cached LinkedIn company posts, Cached job postings, Cached leadership changes, Cached person enrichment, Cached similar people, Cached similar companies, Cached company open jobs, Cached LinkedIn person comments and Cached job posting details. We put a plan on its API's cached sheet when the plan's Freshness says the provider answers from a copy. We put every other plan on its API's own sheet. In brackets, we list the fields whose freshness differs on the provider's pages. fieldFreshness gives each of them its own freshness. Bright Data's LinkedIn profile is \"live (current title, jobs, schools: as of 2025-11-13)\", since LinkedIn put those three behind its login wall and Bright Data serves them from its cache.","history":"How far back the answers reach, on an API whose answers are dated, such as a company's funding rounds or its open jobs. \"since 2016\": back to 2016. \"open only\": only what is open now. \"the last 7 days\": a window that ends today. \"no limit\": every one ever. \", closed only\" after it: the closed ones alone. Blank (null in the JSON) when the provider's pages don't say, or when the answers aren't dated.","keep":"How long the provider's terms let you keep its API's answers. \"no limit\" when they set none. \"no API terms\" when the provider has no API terms.","use":"What the provider's terms let you use its API's answers for, and what they ask in return, like a link back or a credit. \"any\" when they limit nothing and ask nothing. \"no API terms\" when the provider has no API terms.","pay":"The plan's price, in its currency. On a subscription, the price covers the months in termMonths. In the sheet's CSV, we write the months after the price: \"$39.00/month\", \"€99.00/month\" on a plan in euros, or \"$468.00/15 months\" on gtm-api.com's yearly plan. A pack's Pay is its price. A top-up's Pay is the smallest amount you can top up. On a top-up with no minimum from the provider, Pay is blank (null in the JSON). A free plan's Pay is $0.00. On a usage tier, Pay is what you pay each month for your calls below that tier. Each of those calls costs the price of its own tier. Some tiers have a minimum. If your calls below the tier cost less than the minimum, you pay the minimum. When a usage tier sits on a subscription, you also pay the plan's price. Crawlbase has a tier for the next 10M requests. On that tier, Pay is $583: what you pay each month for your calls below it. On Mailgun's Foundation plan, you pay $95 a month for up to 5,000 validations: the $35 plan plus $60 for the validations. On a pay-as-you-go plan, the sheet's Pay column shows Charged.","units":"What the plan gives for its price, counted in unit. On a usage tier, where the tier starts: \"from the 51st call a month\".","calls":"The number of people you get for the plan's price, counted in per. A call and a result are each one person. On a plan that charges by the page, calls and monthlyCap count pages. calls is the number the plan's units pay for: \"100 calls, once\" for a free trial, \"1,250 results a month\" for an allowance. Some plans limit calls per day or per month. On those plans, calls is the most calls the limit allows before the units renew. This counts each call as one person or one page. A plan with 10,000 requests a month and a limit of 200 calls a day gives you 6,000 calls a month. monthlyCap is for a call that costs 0 units, like a call on a flat fee. monthlyCap is the most people you get a month, or \"no limit\". On a plan that limits calls per day or per month, monthlyCap is the most calls the limit allows in 30 days: 90,000 for 3,000 calls a day. The Enough for column shows 3,000 calls a day as \"90,000 calls a month\". On a free trial shorter than 30 days, monthlyCap is the most calls the plan allows over the whole trial. The trial gives these calls one time only. A 7-day trial with 1,000 calls a day shows as \"7,000 calls, once\". Enough for shows calls, or monthlyCap when a row has no calls. On a plan with a Monthly fee, calls is the number of calls left after the provider takes one month's fee from the plan's units. We count the calls again each time the provider refills the plan's units. Enough for says \"0 calls left after the monthly fee\" when the fee uses up all the plan's units. Enough for is blank when the provider doesn't say how many people you get. Enough for is also blank on pay as you go plans, on top-ups, and on subscriptions that charge for each person on top of the fee. Enough for is also blank when a waterfall's average call costs nothing. calls and monthlyCap are null when Enough for is blank.","expires":"When the units you don't use lapse, in the provider's words: \"never\", \"365 days\", \"at renewal: unused credits do not carry over\". Blank when its pages don't say.","perDay":"The most calls a day.","perSecond":"The most calls a second you can keep up. When the provider counts a limit over a longer window, we divide it: a limit per minute by 60, per 5 minutes by 300, per hour by 3,600. When it sets several, we show the tightest: 25 a second and 40 a minute is 0.67. We round it to two decimals, and a rate under 0.1 to two digits past its zeros: 5 an hour is 0.0014.","concurrent":"The most calls running at once, or \"no limit\". \"n/a\" when the provider sets no cap on calls at once but limits them by the second: its \"Per second\" limits you. Blank (null) when the provider's pages don't say.","batch":"The most people one call takes on this plan. 1 when it takes one at a time. \"no limit\" when the provider says a call takes any number. Blank (null) when a call takes a list and the provider's pages don't say how long.","answer":"The way you get the call's answer. \"in the call\" when the call's response holds the answer. \"by polling or webhook\" when the call returns a job. Once the job is done, you get the answer from another call or at your webhook. \"in the call or by polling\" when the call returns the answer if it is ready in time. If it isn't ready, the call returns a job you check later. An Apify Actor returns a job when it runs past 5 minutes. \"in the call or by webhook\" when you choose in your request. \"by polling\" when only another call gets the answer. \"by webhook\" when only a URL you give gets the answer. Blank (null) when the provider's pages don't say.","latencyMs":"The median time a call takes. If we benchmarked the row's call, we show our benchmark's median, as in its API's benchmark columns: each call's time minus the mean time of three free calls to the same provider before it. If that mean is longer than the call, we use the provider's median baseline, capped at the call's time, so no time is below zero. For other rows, it is the time the provider's pages give, or one we measured when we added the row. Blank (null) when we have neither, or when we benchmarked the call and it gave no answer we could time. Milliseconds in the JSON and datacircle.csv, seconds on the sheet and in its CSV.","send":"What you give the call: a person's name, email or profile URL. The call needs the inputs before \"Optional:\". The optional ones come after it, or after a semicolon in the CSV and the JSON.","method":"The call's HTTP method.","path":"We give the path from the provider's docs. When that path fails, we give the path that works. Each plan of a call has the same path. A plan the provider serves at its own address has its own path.","plan":"The plan, as the provider names it on its pricing page.","who":"Who the provider offers the plan to: \"anyone\", or the condition its pages set, like \"anyone with a work email\" or \"on approval of an application\".","readFrom":"The pages we read the row's values from. They are the sheet's last column: click a cell to see each page, or press ⌘C to copy them all."},"billed":{"free":"Free: nothing to pay","on-demand":"Nothing to buy first: you pay as you go","one-time":"You pay first for a pack of credits, then spend them on calls","contact":"No public price: you ask the provider for one","monthly":"A monthly subscription","quarterly":"A quarterly subscription","half-yearly":"A subscription for 6 months","yearly":"A yearly subscription"},"defaults":["No contact us plans","No free plans","No yearly plans","$500 or less to start"],"kept":14,"paid":{"ranked":{"Cached person enrichment":[0.0415,0.0415,0.0828,0.0828,0.247,0.6036,2.5201,3.32,3.32,5.2667,5.2667,5.81,6,7.4999,9.0007,9.2167,9.5,9.5,9.7,9.7,10,10,10,12,12.9,16.6,16.6,16.625,18,18,19.8,19.8,20,22.6667,24.5,24.5,24.75,25,25,26,28.3333,29.9,29.9,33.3333,40,40,166,198,245]},"bench":{"Cached person enrichment|Context.dev|/v1/people/enrich":{"data":0.7758,"performance":0.08857442348008386,"median":1908,"measured":1908,"fastest":"Prospeo","fastestMedian":169,"fastestMeasured":169,"called":20,"inputs":20,"fewer":true,"days":["2026-10-25"],"row":"Context.dev"},"Cached person enrichment|Prospeo|/enrich-person|Enrich Person":{"data":0.5895,"performance":1,"median":169,"measured":169,"fastest":"Prospeo","fastestMedian":169,"fastestMeasured":169,"called":5,"inputs":20,"fewer":true,"days":["2026-10-25"],"row":"Prospeo"},"Cached person enrichment|Autobound|/v1/contacts/enrich":{"data":0.2225,"performance":0.3572938689217759,"median":473,"measured":473,"fastest":"Prospeo","fastestMedian":169,"fastestMeasured":169,"called":20,"inputs":20,"fewer":true,"days":["2026-10-25"],"row":"Autobound"},"Cached person enrichment|Parsers VC|/persons|List people":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Prospeo","fastestMedian":169,"fastestMeasured":169,"called":20,"inputs":20,"fewer":true,"days":["2026-10-25"],"row":"Parsers VC","untimed":"Nothing to time means the provider found none of the profiles we asked for."}}},"alert":true,"bench":{"groups":[{"name":"Time per profile","note":"On 25 October 2026, we sent each provider up to 20 people, all from the same list. We made one call per person. Time is each call minus a baseline, so the distance to the provider's servers drops out. Each value is a call's time minus a baseline time we explain below. We count only our first call on each profile, and only when the provider found that profile. Where we called the providers again, side by side on the same profiles, beside ones we added later, each one called there is timed on that run instead, so those are timed on the same day. Any other later call on the same profile isn't timed, since the provider may answer it from its cache. We don't time a call the provider billed as a repeat of one of our earlier searches. The baseline is the mean of three free calls to the same provider just before the call, on the same connection. If that mean is longer than the call, we use the provider's median baseline, capped at the call's time, so no time is below zero. Sometimes a provider's app is slow on every free call, even for a page that doesn't exist. When a provider's app is that slow, we use three pages of its website for its baseline. We read those pages on a later day. If we checked for a provider's answer every few seconds, the time is when we saw the answer. The answer may have come a few seconds earlier. Nothing to time means the provider found none of the profiles we asked for.","columns":[{"name":"Median","kind":"ms","values":{"Context.dev":1908,"Prospeo":169,"Autobound":473,"Parsers VC":null}},{"name":"10th percentile","kind":"ms","values":{"Context.dev":1288,"Prospeo":142,"Autobound":42,"Parsers VC":null}},{"name":"90th percentile","kind":"ms","values":{"Context.dev":2994,"Prospeo":298,"Autobound":779,"Parsers VC":null}},{"name":"Fastest","kind":"ms","values":{"Context.dev":961,"Prospeo":139,"Autobound":15,"Parsers VC":null}},{"name":"Slowest","kind":"ms","values":{"Context.dev":3878,"Prospeo":346,"Autobound":1308,"Parsers VC":null}},{"name":"Baseline","kind":"ms","values":{"Context.dev":287,"Prospeo":283,"Autobound":299,"Parsers VC":null}}]},{"name":"Profiles enriched","note":"Called: the people we called each provider on. Found: the person we asked for, by their LinkedIn profile. Another person: someone else, which counts as not found. Parts returned: the fields below that its answer held at least once.","columns":[{"name":"Called","kind":"count","values":{"Context.dev":[20,20],"Prospeo":[5,20],"Autobound":[20,20],"Parsers VC":[20,20]}},{"name":"Found","kind":"count","values":{"Context.dev":[19,20],"Prospeo":[5,5],"Autobound":[18,20],"Parsers VC":[0,20]}},{"name":"Another person","kind":"count","values":{"Context.dev":[0,20],"Prospeo":[0,5],"Autobound":[0,20],"Parsers VC":[0,20]}},{"name":"Parts returned","kind":"count","values":{"Context.dev":[16,18],"Prospeo":[12,18],"Autobound":[6,18],"Parsers VC":[0,18]}}]},{"name":"The person enrichment call","note":"The provider's own person enrichment call, with the person's name, company domain and LinkedIn profile and no options, and what one person cost on this run.","columns":[{"name":"Call","kind":"text","values":{"Context.dev":"POST api.context.dev/v1/people/enrich, the name, the company's domain and the LinkedIn URL","Prospeo":"POST api.prospeo.io/enrich-person, the name, the company's website and the LinkedIn URL","Autobound":"POST signals.autobound.ai/v1/contacts/enrich, the LinkedIn URL, no signals","Parsers VC":"GET vcapi.parsers.vc/v2/persons, filtered by the LinkedIn URL"}},{"name":"Charged per person","kind":"text","values":{"Context.dev":"$0.04, nothing when not found","Prospeo":"$0.0245 with the email found, nothing without or when not found","Autobound":"$0.01 a person with no signals, nothing with its signals left out or when not found","Parsers VC":"$0.0095, found or not"}}]},{"name":"Sections","note":"Items the answers held, out of the highest count in any answer or on LinkedIn. Not in the answer means the call has no such field.","columns":[{"name":"Jobs","kind":"count","values":{"Context.dev":[152,168],"Prospeo":[44,50],"Autobound":null,"Parsers VC":null}},{"name":"Schools","kind":"count","values":{"Context.dev":[42,45],"Prospeo":null,"Autobound":null,"Parsers VC":null}},{"name":"Skills","kind":"count","values":{"Context.dev":[300,683],"Prospeo":[0,209],"Autobound":null,"Parsers VC":null}}]},{"name":"Their profile","note":"Profiles where the answer held this field, out of the profiles where any answer or the person's own LinkedIn profile held it. A value that differs from their profile doesn't count, like a past job given as the current one. Not in the answer means the call has no such field.","columns":[{"name":"First name","kind":"count","values":{"Context.dev":[19,20],"Prospeo":[5,5],"Autobound":[18,20],"Parsers VC":[0,20]}},{"name":"Last name","kind":"count","values":{"Context.dev":[19,20],"Prospeo":[5,5],"Autobound":[18,20],"Parsers VC":[0,20]}},{"name":"Headline","kind":"count","values":{"Context.dev":null,"Prospeo":[4,5],"Autobound":null,"Parsers VC":null}},{"name":"Location","kind":"count","values":{"Context.dev":[17,20],"Prospeo":[4,5],"Autobound":[6,20],"Parsers VC":[0,20]}},{"name":"Websites","kind":"count","values":{"Context.dev":[5,7],"Prospeo":null,"Autobound":null,"Parsers VC":null}},{"name":"LinkedIn URL","kind":"count","values":{"Context.dev":[19,20],"Prospeo":[4,5],"Autobound":[18,20],"Parsers VC":[0,20]}}]},{"name":"Their current job","note":"Profiles where the answer held this field, out of the profiles where any answer or the person's own LinkedIn profile held it. A value that differs from their profile doesn't count, like a past job given as the current one. Not in the answer means the call has no such field.","columns":[{"name":"Title","kind":"count","values":{"Context.dev":[16,20],"Prospeo":[4,5],"Autobound":[8,20],"Parsers VC":null}},{"name":"Company","kind":"count","values":{"Context.dev":[18,20],"Prospeo":[4,5],"Autobound":[8,20],"Parsers VC":null}}]},{"name":"Each job","note":"Items in each answer that carry this field, out of all the items it held. Not in the answer means the call has no such field.","columns":[{"name":"Title","kind":"count","values":{"Context.dev":[152,152],"Prospeo":[44,44],"Autobound":null,"Parsers VC":null}},{"name":"Company name","kind":"count","values":{"Context.dev":[152,152],"Prospeo":[44,44],"Autobound":null,"Parsers VC":null}},{"name":"Start date","kind":"count","values":{"Context.dev":[151,152],"Prospeo":[44,44],"Autobound":null,"Parsers VC":null}},{"name":"Company logo","kind":"count","values":{"Context.dev":null,"Prospeo":[44,44],"Autobound":null,"Parsers VC":null}}]},{"name":"Each school","note":"Items in each answer that carry this field, out of all the items it held. Not in the answer means the call has no such field.","columns":[{"name":"School name","kind":"count","values":{"Context.dev":[42,42],"Prospeo":null,"Autobound":null,"Parsers VC":null}},{"name":"Degree","kind":"count","values":{"Context.dev":[34,42],"Prospeo":null,"Autobound":null,"Parsers VC":null}},{"name":"Dates","kind":"count","values":{"Context.dev":[34,42],"Prospeo":null,"Autobound":null,"Parsers VC":null}}]}],"inputs":{"said":"We don't list the 20 people we called, as they hold people's data.","keys":[],"rows":[]}},"more":"/assets/sheet-cafxsmlb.json"}