{"api":"Cached employee lookalikes","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":"Anysite","api":"Cached employee lookalikes","website":"https://anysite.io","pricingPage":"https://anysite.io/pricing/api","pitch":"Find LinkedIn people by role, seniority, company, industry, company size, location, skills and education. Built for ICP discovery, buying-committee mapping, alumni lists and lookalikes.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"lawful, legitimate use only; no unsolicited mass messaging, and no reselling or sublicensing of the API, credits or resources without Anysite's written approval; you answer for your lawful rights to the data, the consents and data protection law, and the source sites' terms","plan":"Scale","who":"anyone at least 18 years old or of the age of majority in their jurisdiction","billing":"monthly","charged":null,"topUp":null,"pay":300,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":190000,"unit":"credit","renews":"month","expires":"at every renewal: unused plan credits do not carry over","costUnits":1,"calls":190000,"monthlyCap":null,"perThousand":1.5789,"waterfall":null,"listPerThousand":null,"overagePerThousand":2.9,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"never","alsoPaysFor":[],"sharesBudgetWith":["6,270 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":null,"answer":"in the call","latencyMs":5875,"call":"/linkedin/search/sql/users","method":"POST","path":"/api/linkedin/search/sql/users","send":"count, one of similar_to or also_viewed; timeout, keywords, name, headline, summary, alias, urn, member_id, last_name, first_initial, current_title, any_title, seniority, seniority_min, function, any_function, current_company_name, current_company_id, current_company_domain, any_company_id, past_company_id, any_company_domain, industry, any_industry, employee_range, employee_count_min, employee_count_max, country, location, skills, languages, edu_slug, edu_institution, edu_field, edu_ended_year_min, edu_ended_year_max, months_in_role_max, months_in_role_min, experience_years_min, months_since_change_max, n_roles_min, n_roles_max, n_companies_min, n_companies_max, promotion_count_min, avg_tenure_months_min, avg_tenure_months_max, profile_score_min, is_creator, is_influencer, is_top_voice, is_premium, open_to_work, hiring, verified, follower_count_min, connection_count_min, has_current_role, has_industry, has_company_size, has_education, has_roles, has_role_dates, has_engagement, fetched_after, bucket_total, bucket_index, dry_run","fields":["profile ID","name","first name","last name","username","profile URL","headline","headline locale","primary headline","about","top skills","followers","connections","profile picture","cover image","location","country code","country","city","pronouns","custom pronouns","open to work","hiring","verified","premium","top voice","scraped at","jobs","job title","job company","job company ID","job company URL","job company logo","job company universal name","job start date","job end date","job duration","job location","job description","job employment type","job workplace type","job media ID","job media title","job media URL","job media text","job media image","schools","school name","school ID","school URL","school logo","school slug","school field of study","school start date","school end date","school description","honors","award name","award issuer","award date","award description","certifications","certification name","certification issuer","certification issuer ID","certification issuer URL","certification issue date","certification URL","certification label","languages","language name","language proficiency","patents","patent name","patent ID","patent date","patent description","patent URL","patent inventor count","skills","skill ID","job company industry","job company size"]},{"provider":"Kooperativa","api":"Cached employee lookalikes","website":"https://kooperativa.io","pricingPage":"https://kooperativa.io/pricing","pitch":"People with matching seniority, industry, and country","strengths":[],"aggregators":[],"freshness":"90 days","fieldFreshness":null,"history":null,"keep":"no limit","use":"The Services are intended exclusively for use by businesses and the professionals who act on their behalf, in the course of a business activity. [...] Reasonable professional outreach (for example, a sales or recruiting message sent to a work contact about a legitimate business opportunity) is the intended use of the Services and is not itself a violation of this section. [...] use the Services solely for legitimate business purposes, on behalf of a company, and not for personal, family, or household purposes [...] not use, resell, embed, or otherwise make the Services or the Data available to, or accessible by, consumers, including as part of any consumer-facing website, app, or lookup tool [...] Use the Services for your own business account; do not resell, sublicense, or grant access to the API or dashboard to a third party without our prior written consent, except for your own employees and contractors acting on your behalf within a single workspace. [...] You may not copy, extract, or systematically redistribute the Data, in raw, enriched, or derived form, to a third party, or use it to build a database or dataset made available to a third party, whether for a fee or free of charge, without our prior written consent. [...] This does not prevent ordinary internal use: storing enriched records in your own CRM or data warehouse for your own business's use, or sharing a specific record with a colleague inside your organization as part of normal work, is not redistribution. [...] You may not use the Data: as a factor in determining an individual's eligibility for credit, insurance, employment, housing, or a government benefit or license, or for any other purpose that would make it a \"consumer report\" under the U.S. Fair Credit Reporting Act or an equivalent law in any jurisdiction; to infer or derive special categories of personal data (health, religion, political opinion, trade union membership, genetic or biometric data, or sexual orientation) about an individual; to make an automated decision about an individual that produces a legal or similarly significant effect on them; or in a way that discriminates against an individual on the basis of race, color, religion, national origin, sex, age, disability, genetic information, sexual orientation, gender identity, or any other characteristic protected under applicable anti-discrimination law. [...] Do not use the data to research, monitor, or contact an individual in a personal capacity unrelated to their professional or business role, including for personal background checks, dating-related purposes, or any form of harassment or stalking. [...] send unsolicited bulk email or engage in spam [...] Maintain a valid legal basis under applicable data protection law (including GDPR, where relevant) for your own processing of any personal data you obtain through the Services, and respond appropriately to any data subject request you receive in connection with that processing.","plan":"License","who":"businesses and professionals acting for one, not consumers, on approval of an access request; not sanctioned or on a restricted-party list","billing":"monthly","charged":null,"topUp":null,"pay":499,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":"no limit","perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Create a monitor: 500 monitors"],"sharesBudgetWith":["Enrich Person","Enrich Company","Search People","Search Companies","Current Employees","Past Employees","Person Colleagues","Recent Job Changes","Headcount by Seniority","Hiring Signals","Bulk Enrich People","Check Person","Check Company","Account Info","List monitors","Delete a monitor","Institution Alumni","GET /company/decision-makers","Resolve Email","Enrich Person (Realtime)","Enrich Company (Realtime)"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":100,"resultsCap":null,"perDay":null,"perSecond":8.33,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Similar People","method":"GET","path":"/person/similar","send":"id; page, per_page","fields":["provider record ID","name","first name","last name","username","profile URL","member ID","profile ID","headline","about","city","country","country code","profile picture","cover image","premium","top voice","creator","open to work","hiring","locale country","locale language","current title","current company","current company ID","current company universal name","current seniority","jobs","job title","job company","job company ID","job company universal name","job company URL","job company logo","job location","job workplace type","job employment type","job is current","job start date","job end date","job description","job count","schools","school name","school ID","school degree","school field of study","school grade","school start date","school end date","school activities","school description","school URL","school logo","school count","skills","skill endorsement count","passed skill assessment","skill count","certifications","certification name","certification issuer","certification issue date","certification end date","certification count","honors","award name","award issuer","award date","award description","publications","publication name","publication publisher","publication URL","publication date","volunteering","volunteering title","volunteering company","volunteering company ID","volunteering company URL","volunteering company logo","volunteering start date","volunteering end date","volunteering description","languages","language proficiency","featured","courses","course name","course number","projects","scraped at","current company industry","current company size","job company industry","job company size","top skills","matched on","total results","page","page size","total pages"]},{"provider":"Ocean.io","api":"Cached employee lookalikes","website":"https://www.ocean.io","pricingPage":"https://www.ocean.io/pricing","pitch":"Search people using filters and/or people Ids","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"during the term of this Agreement","use":"a revocable, limited, non-exclusive, non-transferable, non-sublicensable license to access and use the Ocean.io services and any outputs generated therefrom solely for Customer’s internal business purposes during the term of this Agreement. Customer may share such outputs with its professional advisors, auditors, and clients as reasonably necessary in the ordinary course of business, provided that such third parties are bound by confidentiality obligations no less protective than those in this Agreement. [...] Customer agrees not to: Use bots, scrapers, or automated extraction tools; Reverse engineer, decompile, or probe security features; Upload malware or introduce security vulnerabilities; Resell the Services or use them to operate a service bureau; Misrepresent identity or impersonate other users; Violate the intellectual property rights of Ocean.io or third parties. [...] standard subscriptions do not include reseller, redistribution, or sublicensing rights unless otherwise expressly agreed in writing.","plan":"Growth","who":"anyone with a company email (no Gmail or other personal address)","billing":"yearly","charged":null,"topUp":null,"pay":3000,"currency":"USD","exchangeRate":1,"termMonths":12,"from":null,"graduated":null,"units":60000,"unit":"credit","renews":"year","expires":"12 months from the date they are assigned, and immediately when your subscription stops","costUnits":0.2,"calls":300000,"monthlyCap":null,"perThousand":10,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Search Companies","Enrich Company","Enrich Person","Enrich Companies (Batch)","Enrich People (Batch)","Lookup Companies","Lookup People","Autocomplete","Reveal Emails","Reveal Phones"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":1000,"perSecond":1,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":964,"call":"Lookalike people search","method":"POST","path":"/v3/search/people","send":"nothing required; peopleFilters.lookalikeLinkedinHandles, size, peopleFilters.countries, peopleFilters.includePeopleIds, peopleFilters.includeLinkedinHandles, peopleFilters.excludePeopleIds, peopleFilters.excludeLinkedinHandles, peopleFilters.excludeListId, peopleFilters.seniorities, peopleFilters.skills.allOf, peopleFilters.skills.anyOf, peopleFilters.skills.noneOf, peopleFilters.jobTitleKeywords.allOf, peopleFilters.jobTitleKeywords.anyOf, peopleFilters.jobTitleKeywords.noneOf, peopleFilters.jobTitleKeywords.exactMatch.anyOf, peopleFilters.jobTitleKeywords.exactMatch.allOf, peopleFilters.jobTitleKeywords.exactMatch.noneOf, peopleFilters.allJobDescriptions.allOf, peopleFilters.allJobDescriptions.anyOf, peopleFilters.allJobDescriptions.noneOf, peopleFilters.currentJobDescription.allOf, peopleFilters.currentJobDescription.anyOf, peopleFilters.currentJobDescription.noneOf, peopleFilters.profileDescription.allOf, peopleFilters.profileDescription.anyOf, peopleFilters.profileDescription.noneOf, peopleFilters.regions, peopleFilters.states[].country, peopleFilters.states[].abbreviation, peopleFilters.excludeStates[].country, peopleFilters.excludeStates[].abbreviation, peopleFilters.excludeCountries, peopleFilters.cities[].city, peopleFilters.cities[].country, peopleFilters.cities[].region.country, peopleFilters.cities[].region.abbreviation, peopleFilters.excludeCities[].city, peopleFilters.excludeCities[].country, peopleFilters.excludeCities[].region.country, peopleFilters.excludeCities[].region.abbreviation, peopleFilters.names, peopleFilters.departments.departments, peopleFilters.departments.mode, peopleFilters.excludeDepartments, peopleFilters.subDepartments.subDepartments, peopleFilters.subDepartments.mode, peopleFilters.excludeSubDepartments, peopleFilters.fieldsExist, peopleFilters.fieldsNotExist, peopleFilters.changedPositionAfter, peopleFilters.changedPositionBefore, peopleFilters.updatedWithinMonths, peopleFilters.connections.from, peopleFilters.connections.to, peopleFilters.followers.from, peopleFilters.followers.to, peopleFilters.laborStatusOpenToWork, peopleFilters.laborStatusHiring, companiesFilters.lookalikeDomains, companiesFilters.includeDomains, companiesFilters.excludeDomains, companiesFilters.excludeListId, companiesFilters.companySizes, companiesFilters.ecommerce, companiesFilters.yearFounded.from, companiesFilters.yearFounded.to, companiesFilters.countriesCount.from, companiesFilters.countriesCount.to, companiesFilters.revenues, companiesFilters.employeeCountOcean.from, companiesFilters.employeeCountOcean.to, companiesFilters.mobileApps.from, companiesFilters.mobileApps.to, companiesFilters.mobileAppsFilter.count.from, companiesFilters.mobileAppsFilter.count.to, companiesFilters.mobileAppsFilter.downloads.from, companiesFilters.mobileAppsFilter.downloads.to, companiesFilters.mobileAppsFilter.releaseYear.from, companiesFilters.mobileAppsFilter.releaseYear.to, companiesFilters.locationsCount.from, companiesFilters.locationsCount.to, companiesFilters.departmentSizes[].from, companiesFilters.departmentSizes[].to, companiesFilters.departmentSizes[].department, companiesFilters.employeeCountLinkedin.from, companiesFilters.employeeCountLinkedin.to, companiesFilters.industries.industries, companiesFilters.industries.mode, companiesFilters.excludeIndustries, companiesFilters.industryCategories.industryCategories, companiesFilters.industryCategories.mode, companiesFilters.excludeIndustryCategories, companiesFilters.linkedinIndustries, companiesFilters.excludeLinkedinIndustries, companiesFilters.fundingRound.raised.from, companiesFilters.fundingRound.raised.to, companiesFilters.fundingRound.types, companiesFilters.fundingRound.date.from, companiesFilters.fundingRound.date.to, companiesFilters.primaryLocations.includeCountries, companiesFilters.primaryLocations.excludeCountries, companiesFilters.primaryLocations.includeRegions[].country, companiesFilters.primaryLocations.includeRegions[].abbreviation, companiesFilters.primaryLocations.excludeRegions[].country, companiesFilters.primaryLocations.excludeRegions[].abbreviation, companiesFilters.primaryLocations.includeCities[].city, companiesFilters.primaryLocations.includeCities[].country, companiesFilters.primaryLocations.includeCities[].region.country, companiesFilters.primaryLocations.includeCities[].region.abbreviation, companiesFilters.primaryLocations.includeCities[].postalCode, companiesFilters.primaryLocations.excludeCities[].city, companiesFilters.primaryLocations.excludeCities[].country, companiesFilters.primaryLocations.excludeCities[].region.country, companiesFilters.primaryLocations.excludeCities[].region.abbreviation, companiesFilters.primaryLocations.excludeCities[].postalCode, companiesFilters.primaryLocations.geolocation.latitude, companiesFilters.primaryLocations.geolocation.longitude, companiesFilters.primaryLocations.geolocation.radius, companiesFilters.otherLocations.includeCountries, companiesFilters.otherLocations.excludeCountries, companiesFilters.otherLocations.includeRegions[].country, companiesFilters.otherLocations.includeRegions[].abbreviation, companiesFilters.otherLocations.excludeRegions[].country, companiesFilters.otherLocations.excludeRegions[].abbreviation, companiesFilters.otherLocations.includeCities[].city, companiesFilters.otherLocations.includeCities[].country, companiesFilters.otherLocations.includeCities[].region.country, companiesFilters.otherLocations.includeCities[].region.abbreviation, companiesFilters.otherLocations.includeCities[].postalCode, companiesFilters.otherLocations.excludeCities[].city, companiesFilters.otherLocations.excludeCities[].country, companiesFilters.otherLocations.excludeCities[].region.country, companiesFilters.otherLocations.excludeCities[].region.abbreviation, companiesFilters.otherLocations.excludeCities[].postalCode, companiesFilters.otherLocations.geolocation.latitude, companiesFilters.otherLocations.geolocation.longitude, companiesFilters.otherLocations.geolocation.radius, companiesFilters.webTraffic.visits.from, companiesFilters.webTraffic.visits.to, companiesFilters.webTraffic.views.from, companiesFilters.webTraffic.views.to, companiesFilters.socialMedias.medias.anyOf, companiesFilters.socialMedias.medias.allOf, companiesFilters.socialMedias.medias.noneOf, companiesFilters.socialMedias.minCount, companiesFilters.technologies.apps.anyOf, companiesFilters.technologies.apps.allOf, companiesFilters.technologies.apps.noneOf, companiesFilters.technologies.categories.anyOf, companiesFilters.technologies.categories.allOf, companiesFilters.technologies.categories.noneOf, companiesFilters.keywords.anyOf, companiesFilters.keywords.allOf, companiesFilters.keywords.noneOf, companiesFilters.minRelevance, companiesFilters.maxRelevance, companiesFilters.headcountGrowth.asPercentage, companiesFilters.headcountGrowth.growthRange.from, companiesFilters.headcountGrowth.growthRange.to, companiesFilters.headcountGrowth.months, companiesFilters.departmentHeadcountGrowth.anyOf[].asPercentage, companiesFilters.departmentHeadcountGrowth.anyOf[].growthRange.from, companiesFilters.departmentHeadcountGrowth.anyOf[].growthRange.to, companiesFilters.departmentHeadcountGrowth.anyOf[].months, companiesFilters.departmentHeadcountGrowth.anyOf[].department, companiesFilters.departmentHeadcountGrowth.allOf[].asPercentage, companiesFilters.departmentHeadcountGrowth.allOf[].growthRange.from, companiesFilters.departmentHeadcountGrowth.allOf[].growthRange.to, companiesFilters.departmentHeadcountGrowth.allOf[].months, companiesFilters.departmentHeadcountGrowth.allOf[].department, companiesFilters.updatedWithinMonths, companiesFilters.fieldsExist, companiesFilters.fieldsNotExist, companiesFilters.companyMatchingMode, companiesFilters.jobPostings.count.from, companiesFilters.jobPostings.count.to, companiesFilters.jobPostings.departments.anyOf, companiesFilters.jobPostings.departments.allOf, companiesFilters.jobPostings.departments.noneOf, companiesFilters.jobPostings.subDepartments.anyOf, companiesFilters.jobPostings.subDepartments.allOf, companiesFilters.jobPostings.subDepartments.noneOf, companiesFilters.jobPostings.seniorities.anyOf, companiesFilters.jobPostings.seniorities.allOf, companiesFilters.jobPostings.seniorities.noneOf, companiesFilters.jobPostings.countries.anyOf, companiesFilters.jobPostings.countries.allOf, companiesFilters.jobPostings.countries.noneOf, companiesFilters.jobPostings.states.anyOf[].country, companiesFilters.jobPostings.states.anyOf[].abbreviation, companiesFilters.jobPostings.states.allOf[].country, companiesFilters.jobPostings.states.allOf[].abbreviation, companiesFilters.jobPostings.states.noneOf[].country, companiesFilters.jobPostings.states.noneOf[].abbreviation, companiesFilters.buyingSignals.anyOf, companiesFilters.buyingSignals.allOf, peoplePerCompany, jobTitleThreshold, searchAfter, fields","fields":["person ID","company domain","full name","first name","last name","country","state","location","LinkedIn URL","seniorities","departments","sub-departments","profile picture","job title","job title in English","current job description","experience company domain","experience job title","experience start date","experience end date","experience description","experience company LinkedIn handle","summary","skills","phone numbers","phone status","email","email status","updated at","LinkedIn connections","LinkedIn followers","headline","open to work","hiring","company size","company logo","company name","company revenue","company employee count","company industries","company technologies","company funding round date","company funding round type","company funding round money raised in USD","company funding round Crunchbase URL","relevance","successful people","not found people","triggered domain people","missing company information people","total results","search after cursor","redirect map","credits used","include domains statuses"]},{"provider":"Pubrio","api":"Cached employee lookalikes","website":"https://pubrio.com","pricingPage":"https://pubrio.com/pricing","pitch":"Find people similar to a reference person or title.","strengths":[],"aggregators":[],"freshness":"1 day","fieldFreshness":null,"history":null,"keep":"This licence ends when your subscription ends. On termination you must stop using the Output Data and delete it within 30 days, except that you may keep records of individuals you have actually contacted where you need them to honour that person's opt-out, and you may keep copies required by law or held in routine backups until those backups expire.","use":"we grant you a non-exclusive, non-transferable, revocable licence to use the Service, and to use, store and copy the data we return to you (\"Output Data\"), for your own internal business purposes. You may not resell, redistribute, sublicense or publish the Output Data, nor use it to build, train or improve a competing dataset, database, product or model, whether in identified, de-identified or aggregated form. You may not scrape, crawl or systematically extract the Service, circumvent rate limits or access controls, or reverse engineer any part of it except to the extent the law says you may despite this restriction. [...] Use it only for legitimate business-to-business purposes. Not for consumer marketing, not for recruitment screening decisions taken without human review, not for credit, insurance, housing, employment or any other decision that requires a regulated basis, and never to harass, profile, stalk or endanger anyone. Comply with the law that applies to your outreach. That includes the GDPR and UK GDPR, ePrivacy and PECR, CAN-SPAM, CASL, the TCPA, and any equivalent in your market and your recipient's. [...] Honour opt-outs immediately. [...] Do not upload the Output Data to a third-party platform in a way that transfers rights in it, and do not use it to enrich a dataset you sell.","plan":"Scale","who":"AI agents with a registered agent credential, for themselves or their human, through Pubrio's agent storefront; business use only, of age","billing":"one-time","charged":null,"topUp":false,"pay":495,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"credit","renews":"never","expires":null,"costUnits":3,"calls":null,"monthlyCap":null,"perThousand":1.08,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Company Advertisement Insights [POST /companies/advertisements/insights]","Company Advertisement Lookup [POST /companies/advertisements/lookup]","Company Advertisement Search [POST /companies/advertisements/search]","Company Cloud Footprint Insights [POST /companies/cloud_footprints/insights]","Company Cloud Footprint Lookup [POST /companies/cloud_footprints/lookup]","Company Cloud Footprint Search [POST /companies/cloud_footprints/search]","Company Job Insights [POST /companies/jobs/insights]","Company Job Lookup [POST /companies/jobs/lookup]","Company Job Search [POST /companies/jobs/search]","LinkedIn Company Lookup (Realtime) [POST /companies/linkedin/lookup]","Company Lookup [POST /companies/lookup]","Company Lookup Enrichment [POST /companies/lookup/enrich]","Company News Insights [POST /companies/news/insights]","Company News Lookup [POST /companies/news/lookup]","Company News Search [POST /companies/news/search]","Company Search [POST /companies/search]","Search Similar Companies [POST /companies/search/similar]","Compare Company Expansions [POST /expansions/companies/compare]","Company Expansion Detail [POST /expansions/companies/lookup]","Company Signal Events [POST /expansions/companies/pulse_events]","Expansion Rankings [POST /expansions/companies/rankings]","Batch Company Expansion Summaries [POST /expansions/companies/summaries]","Expansion Overview","Expansion Search [POST /expansions/search]","Expansion Signal Search [POST /expansions/signals/search]","LinkedIn People Lookup (Realtime) [POST /people/linkedin/lookup]","People Lookup [POST /people/lookup]","People Search [POST /people/search]","Redeem People - Single [POST /redeem/people]","Contact Lookup - Single [POST /redeem/people/contact/lookup]","Contact Lookup - Bulk [POST /redeem/people/contact/lookup/batch]","Company Technology Lookup [POST /technologies/lookup]"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":25,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":null,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/people/search/similar","send":"people_search_id, linkedin_url, linkedin_urls, peoples or people_titles; search_term, people_name, management_levels, departments, department_functions, employees, people_locations, company_locations, company_linkedin_urls, companies, domains, filter_conditions, is_enable_similarity_search, similarity_score, per_page, page, company_filters","fields":["total results","total pages","pages available","page","page size","timed out","search parameters","similarity score","person ID","full name","first name","last name","current title","seniority","job functions","headline","tagline","introduction","description","departments","sub-departments","keywords","jobs","job title","job is current","job start date","job end date","job company","country","country code","location","state","city","Wantedly name","RocketPunch name","contacts","contact types","emails","phones","Facebook URL","GitHub URL","Twitter URL","LinkedIn URL","Wantedly URL","RocketPunch URL","saved lists","sequences","social metadata","current company","current company website","current company website active","current company domain","current company domain ID","current company domain IDs","current company ID","current company founded year","current company country","current company country code","current company location","current company phones","current company emails","current company contacts","current company Wantedly name","current company RocketPunch name","current company TikTok name","current company size","current company employee count","current company industry","current company specialties","current company logo","current company LinkedIn URL","current company Facebook URL","current company Twitter URL","current company Crunchbase URL","current company Instagram URL","current company YouTube URL","current company X URL","current company GitHub URL","current company TikTok URL","current company Wantedly URL","current company RocketPunch URL","current company social metadata"]},{"provider":"Reverse Contact","api":"Cached employee lookalikes","website":"https://www.reversecontact.com","pricingPage":"https://www.reversecontact.com/pricing","pitch":"Start from one profile you know is right: a buyer who signed, a hire who worked out. The API finds the people who do the same job, at the same level, in the same place, and returns their full profiles.","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":"Plus","who":"professionals acting in their professional capacity, not as consumers","billing":"monthly","charged":null,"topUp":null,"pay":449,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":"no limit","perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Person profile","Company profile","People search","Company search","Agentic Search","Agentic Company Search"],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","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/search/people/lookalike","send":"url or id, exactly one; cursor, perPage","fields":["provider record ID","username","profile ID","profile URL","first name","last name","headline","about","pronouns","open to work","premium","verifications","memorialized","profile picture","cover image","account created","followers","connections","city","state","country","country code","location","current title","current job description","current employment type","current company","current company 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 URL","job company location","job company logo","job start date","job end date","schools","school name","school degree","school field of study","school description","school grade","school URL","school logo","school start date","school end date","skills","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","page size","results on page","next page token","success","credits consumed","credits remaining","request ID","execution time","minute rate limit","daily limit"]},{"provider":"ZoomInfo","api":"Cached employee lookalikes","website":"https://gtm.ai","pricingPage":"https://gtm.ai/pricing","pitch":"Contact Lookalikes can be used to retrieve a ranked list of people who are most similar to a given reference person.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"3.3.1 Expiration or Termination for any Reason. Upon expiration or termination of the Agreement for any reason: (a) Licensee may continue to use Licensed Materials obtained during the Term subject to the terms of this Agreement; (b) Licensee shall immediately cease accessing or using ZoomInfo Technology; and (c) Licensee acknowledges and agrees that its access to the Services may be automatically terminated, all passwords and individual accounts removed, and all information that has been uploaded into ZoomInfo’s systems by Licensee destroyed. [...] 5.4 Personal Information. [...] Within the ZoomInfo Technology, ZoomInfo may publish a list of persons who have requested that their personal information be removed from ZoomInfo’s database. Licensee agrees to review such list on a regular basis (no less frequently than once per month) and to remove from its possession any Licensed Materials Contact records relating to such persons in its possession, unless Licensee has established an independent lawful basis to process such person’s personal information.","use":"2.3 Authorized Uses, Restrictions. Licensee shall not access or use the Services for any purpose except the business-to-business sales, marketing, recruiting, or business development activities of Licensee. Licensee shall not access or use the Licensed Materials for the benefit of or on behalf of any person or entity except Licensee. Subject to Licensee’s compliance with all applicable laws, rules, and regulations, Licensee may use the Services to: (a) view the Licensed Materials; (b) communicate with any Licensed Materials Contact in a manner that relates to such person’s profession, business, or employment; and (c) identify prospective sales opportunities, research Licensee’s existing customers and prospects, and otherwise analyze the Licensed Materials in a manner relating to Licensee’s business-to-business sales, marketing, recruiting, and business development activities. Licensee shall not permit anyone who is not an Authorized User to access or use the Services, including any Licensed Materials or any Authorized User login credentials. Licensee shall not distribute, sublicense, transfer, sell, offer for sale, disclose, or make available any of the Licensed Materials or any part of the Services to any third party. Except through services provided by ZoomInfo or its affiliates or as expressly permitted by ZoomInfo, Licensee shall not: (x) use the Licensed Materials to create audience segmentation for or otherwise place digital ads or ads in digital media (also known as onboarding or digital activation); or (y) utilize or incorporate any ZoomInfo API credentials into any Third Party Applications or use API access to create or develop audience segmentation outside of services provided by ZoomInfo. Licensee shall not incorporate any portion of the Services or Licensed Materials into Licensee’s own products or services. Licensee is solely responsible for any communications between Licensee or any Authorized User and any Licensed Materials Contact. Licensee shall not use the Services to determine a consumer’s eligibility for (a) credit or insurance for personal, family or household purposes, (b) employment or (c) a government license or benefit or (d) any other purpose governed by the Fair Credit Reporting Act. [...] 2.4 Permitted Use of ZoomInfo Technology, Restrictions. [...] Licensee will not [...] (g) disclose the results of any ZoomInfo Technology or program benchmark tests to any third parties without ZoomInfo’s prior written consent; [...]","plan":"100 data credits","who":"employees of the company that holds the account (a contractor only with ZoomInfo's prior permission), each with their own login and a business email address","billing":"one-time","charged":null,"topUp":false,"pay":45,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":100,"unit":"credit","renews":"never","expires":null,"costUnits":0,"calls":null,"monthlyCap":3888000,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Enrich Companies","Enrich Contacts","Enrich Corporate Hierarchy","Enrich Intent","Enrich Technologies"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":100,"resultsCap":null,"perDay":129600,"perSecond":3,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/copilot/v1/contacts/lookalikes","send":"filter[referencePersonId]; filter[targetCompanyId], page[size]","fields":["person ID","rank","similarity score","person brief","reference person ID","reference person brief"]}],"total":54,"freshness":["Live","Within an hour","Within a day","Within a week","Within a month","Within a year","Stored, age unknown"],"providers":[{"label":"Anysite","value":"Anysite on its own site"},{"label":"Kooperativa","value":"Kooperativa on its own site"},{"label":"Ocean.io","value":"Ocean.io on its own site"},{"label":"Pubrio","value":"Pubrio on its own site"},{"label":"Reverse Contact","value":"Reverse Contact on its own site"},{"label":"ZoomInfo","value":"ZoomInfo on its own site"}],"at":[3,8,10,16,37,41],"fields":{"Cached employee lookalikes":["country","first name","headline","job title","last name","city","country code","job company","job end date","job start date","jobs","location","open to work","profile picture","skills","about","certification issue date","certification issuer","certification name","certifications","cover image","current company","current company ID","current title","hiring","job company ID","job company logo","job company URL","job description","job employment type","language proficiency","languages","page size","person ID","premium","profile ID","profile URL","school description","school end date","school field of study","school logo","school name","school start date","school URL","schools","state","total results","username","award date","award description","award issuer","award name","certification issuer URL","connections","current company industry","current company location","current company logo","current company size","current job description","departments","followers","full name","honors","job company industry","job company size","job company universal name","job is current","job location","job workplace type","LinkedIn URL","name","page","pronouns","provider record ID","school degree","school grade","school ID","scraped at","similarity score","sub-departments","top skills","top voice","total pages","updated at","account created","certification count","certification end date","certification issuer ID","certification label","certification URL","company domain","company employee count","company funding round Crunchbase URL","company funding round date","company funding round money raised in USD","company funding round type","company industries","company logo","company name","company revenue","company size","company technologies","contact types","contacts","course name","course number","courses","creator","credits consumed","credits remaining","credits used","current company contacts","current company country","current company country code","current company Crunchbase URL","current company domain","current company domain ID","current company domain IDs","current company emails","current company employee count","current company Facebook URL","current company founded year","current company GitHub URL","current company Instagram URL","current company LinkedIn URL","current company phones","current company RocketPunch name","current company RocketPunch URL","current company social metadata","current company specialties","current company TikTok name","current company TikTok URL","current company Twitter URL","current company universal name","current company URL","current company Wantedly name","current company Wantedly URL","current company website","current company website active","current company X URL","current company YouTube URL","current employment type","current seniority","custom pronouns","daily limit","description","email","email status","emails","execution time","experience company domain","experience company LinkedIn handle","experience description","experience end date","experience job title","experience start date","Facebook URL","featured","GitHub URL","headline locale","include domains statuses","introduction","job company location","job count","job duration","job functions","job media ID","job media image","job media text","job media title","job media URL","job title in English","keywords","language name","LinkedIn connections","LinkedIn followers","locale country","locale language","matched on","member ID","memorialized","minute rate limit","missing company information people","next page token","not found people","pages available","passed skill assessment","patent date","patent description","patent ID","patent inventor count","patent name","patent URL","patents","person brief","phone numbers","phone status","phones","primary headline","projects","publication date","publication name","publication publisher","publication URL","publications","rank","recommendation caption","recommendation text","recommendations","recommender name","recommender URL","redirect map","reference person brief","reference person ID","relevance","request ID","results on page","RocketPunch name","RocketPunch URL","saved lists","school activities","school count","school slug","search after cursor","search parameters","seniorities","seniority","sequences","skill count","skill endorsement count","skill ID","social metadata","start date","success","successful people","summary","tagline","test date","test name","test score","test scores","timed out","triggered domain people","Twitter URL","verifications","verified","volunteering","volunteering company","volunteering company ID","volunteering company logo","volunteering company URL","volunteering description","volunteering end date","volunteering start date","volunteering title","Wantedly name","Wantedly URL"]},"same":["api","strengths","aggregators","waterfall","resultsCap","startPerCall","monthlyFee","extras","addons","catchAllPerThousand","bounceRefund","history","concurrent","answer"],"facets":["defaults","provider","price","fields","billing","freshness","paysFor"],"ties":{"Cached employee lookalikes":{"tied":[],"movedPages":{},"canonicals":{"Anysite":"free","Kooperativa":"free","Ocean.io":"free","Pubrio":"free-trial","Reverse Contact":"free","ZoomInfo":"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 profiles 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 and treg.","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 profiles 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 profile URL or a person's ID. 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":6,"paid":{"ranked":{"Cached employee lookalikes":[1.08,1.2,1.2,1.5789,2,2,2.5,3.2667,12.5,16.6667,20]},"bench":{"Cached employee lookalikes|Ocean.io|/v3/search/people":{"data":0.2723,"performance":1,"median":964,"measured":964,"fastest":"Ocean.io","fastestMedian":964,"fastestMeasured":964,"called":20,"inputs":20,"fewer":false,"days":["2026-10-25"],"row":"Ocean.io"},"Cached employee lookalikes|Anysite|/api/linkedin/search/sql/users":{"data":0.0113,"performance":0.1640851063829787,"median":5875,"measured":5875,"fastest":"Ocean.io","fastestMedian":964,"fastestMeasured":964,"called":20,"inputs":20,"fewer":false,"days":["2026-10-25"],"row":"Anysite"}}},"alert":true,"bench":{"groups":[{"name":"Similar people checked","note":"We called each provider once on the same 20 people, on 25 October 2026. Time is each call minus a baseline, so the distance to the provider's servers drops out. We asked for 10 similar people for each person we sent, then read the LinkedIn profile of each person the call gave back. Same industry: their profile shows the industry of the person we sent. Another industry: their profile shows a different industry. Not confirmed: we couldn't find their industry. We tried twice to read their LinkedIn profile and failed both times, or their profile shows no industry. No page: we had no LinkedIn profile to read. The call gave a link to a profile that no longer exists, or gave no link. The Data score leaves out Not confirmed people and counts No page people as wrong.","columns":[{"name":"Returned","kind":"count","values":{"Ocean.io":[199,200],"Anysite":[54,200]}},{"name":"Same industry","kind":"count","values":{"Ocean.io":[52,200],"Anysite":[2,200]}},{"name":"Another industry","kind":"count","values":{"Ocean.io":[136,200],"Anysite":[27,200]}},{"name":"Not confirmed","kind":"count","values":{"Ocean.io":[9,200],"Anysite":[23,200]}},{"name":"No page","kind":"count","values":{"Ocean.io":[2,200],"Anysite":[2,200]}}]},{"name":"Time per person","note":"Each time is how long the call took, minus a baseline. We time only right answers. We time our first call on each person. We didn't time every provider in the same test. Some days we added a provider and tested it beside providers we had tested before, on the same people. On some sheets we picked one or more days when we tested a new provider beside the others. On a sheet with picked days, we take a provider's time on a person from the earliest picked day we tested it on that person. When a provider answered from answers it saved earlier, the sheet uses the time of that provider's first call on each person. The rest of the times come from other tests, often on other days. A provider's speed can change from one day to the next. A provider may answer a repeat call from answers it saved. We time a repeat call only when we ran it beside a new provider. We sent a call again when it ran past our time limit. Sometimes the second call came back at once, because the first call had already started the search. We count the second call's answer but not its time. The baseline is the mean of three free calls to the same provider. We make the three free calls on the same connection, just before the timed call. If the three free calls take longer on average than the timed call, we use the median of all that provider's baselines instead. We never let the baseline be longer than the call. That way no time goes 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. A cell that says Nothing to time means we could not time the provider. Maybe the provider gave no right answer. Or maybe we did not check for its answer often enough to tell how fast it came. Or maybe its answers came through another provider's call. We timed that other call on a different day, so we can't compare the times. A provider with a Nothing to time cell gets a Performance score of N/A.","columns":[{"name":"Median","kind":"ms","values":{"Ocean.io":964,"Anysite":5875}},{"name":"10th percentile","kind":"ms","values":{"Ocean.io":762,"Anysite":5813}},{"name":"90th percentile","kind":"ms","values":{"Ocean.io":1772,"Anysite":5936}},{"name":"Fastest","kind":"ms","values":{"Ocean.io":600,"Anysite":5798}},{"name":"Slowest","kind":"ms","values":{"Ocean.io":2489,"Anysite":5951}},{"name":"Baseline","kind":"ms","values":{"Ocean.io":402,"Anysite":322}}]},{"name":"The similar people call","note":"Call: the provider's own similar people call. We sent it the person's LinkedIn profile. Charged per person: what the provider charged us on this run for each person it gave back.","columns":[{"name":"Call","kind":"text","values":{"Ocean.io":"POST api.ocean.io/v3/search/people","Anysite":"POST api.anysite.io/api/linkedin/search/sql/users"}},{"name":"Charged per person","kind":"text","values":{"Ocean.io":"$0.01 a person returned, $0.1 a page of 10","Anysite":"$0.0033 a person returned, nothing when none"}}]}],"inputs":{"said":"We don't list the 20 people we called, as they hold people's data.","keys":[],"rows":[]}},"more":"/assets/sheet-uI8yJ3kD.json"}