{"api":"Employee comments","apiRows":{"Employee profile":2979,"Cached employee profile":1257,"Employee email":2364,"Cached employee email":975,"Email validation":3519,"Cached email validation":611,"Employee phone":824,"Cached employee phone":465,"Company profile":996,"Cached company profile":195,"Company headcount":214,"Cached company headcount":162,"Phone validation":572,"Cached phone validation":165,"Post comments":357,"Post reactions":335,"Employee lookalikes":160,"Cached employee lookalikes":54,"Company lookalikes":470,"Cached company lookalikes":196,"Company technologies":165,"Cached company technologies":187,"Company job count":53,"Employee posts":349,"Cached employee posts":14,"Company posts":336,"Cached company posts":10,"Company funding":100,"Cached company funding":133,"Company jobs":143,"Cached company jobs":50,"Employee search":938,"Cached employee search":278,"Company search":389,"Cached company search":210,"Job search":350,"Cached job search":30,"Reverse email lookup":289,"Cached reverse email lookup":358,"Post search":239,"Cached post search":57,"Post details":384,"Job details":351,"Employee comments":208,"Cached employee comments":14,"Employee reactions":178,"Post reposts":106,"Employee recommendations":80,"Job lookalikes":34,"Employee articles":47,"Company enrichment":446,"Cached company enrichment":1065,"People search":543,"Cached people search":1099,"Company discovery":350,"Cached company discovery":1249,"Job postings":10,"Cached job postings":206,"Job posting details":15,"Cached job posting details":76,"Person enrichment":88,"Cached person enrichment":157,"Leadership changes":17,"Cached leadership changes":71,"Company hierarchy":93},"treeCounts":{"Employee profile":{"best":90,"top":3},"Cached employee profile":{"best":63,"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":58,"top":3},"Cached employee phone":{"best":28,"top":3},"Company profile":{"best":61,"top":3},"Cached company profile":{"best":13,"top":3},"Company headcount":{"best":15,"top":3},"Cached company headcount":{"best":8,"top":3},"Phone validation":{"best":42,"top":3},"Cached phone validation":{"best":15,"top":3},"Post comments":{"best":28,"top":3},"Post reactions":{"best":26,"top":3},"Employee lookalikes":{"best":6,"top":3},"Cached employee lookalikes":{"best":6,"top":3},"Company lookalikes":{"best":22,"top":3},"Cached company lookalikes":{"best":13,"top":3},"Company technologies":{"best":22,"top":3},"Cached company technologies":{"best":19,"top":3},"Company job count":{"best":6,"top":3},"Employee posts":{"best":32,"top":3},"Cached employee posts":{"best":2,"top":2},"Company posts":{"best":32,"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":29,"top":3},"Cached company jobs":{"best":6,"top":3},"Employee search":{"best":33,"top":3},"Cached employee search":{"best":16,"top":3},"Company search":{"best":19,"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":37,"top":3},"Job details":{"best":28,"top":3},"Employee comments":{"best":16,"top":3},"Cached employee comments":{"best":2,"top":2},"Employee reactions":{"best":13,"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":46,"top":3},"Cached company enrichment":{"best":61,"top":3},"People search":{"best":48,"top":3},"Cached people search":{"best":49,"top":3},"Company discovery":{"best":38,"top":3},"Cached company discovery":{"best":65,"top":3},"Job postings":{"best":4,"top":3},"Cached job postings":{"best":17,"top":3},"Job posting details":{"best":12,"top":3},"Cached job posting details":{"best":6,"top":3},"Person enrichment":{"best":11,"top":3},"Cached person enrichment":{"best":15,"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-profile-post-api","Best LinkedIn profile 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"],"Cached company jobs":["/best-company-open-jobs-api","Best company open jobs 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-profile-comment-api","Best LinkedIn profile comment API in 2026"],"Employee reactions":["/best-linkedin-profile-reaction-api","Best LinkedIn profile 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":"AnyAPI","api":"Employee comments","website":"https://getanyapi.com","pricingPage":"https://getanyapi.com/catalog","pitch":"List the comments a LinkedIn member has left on other people's posts - the comment text, its permalink and timestamp, plus the post it was left on and that post's author and engagement.","strengths":[],"aggregators":[],"freshness":null,"fieldFreshness":null,"history":null,"keep":"no limit","use":"You are solely responsible for ensuring that your collection and use of Customer Data is lawful. This includes compliance with applicable laws (including data protection, intellectual property, and computer-access laws) and, where they apply to you, the terms of the websites and services from which data originates. [...] Do not collect non-public data (data accessible only behind a login, paywall, or other access control) without authorization from the source. [...] Comply with all data protection and privacy laws that apply to the personal data you collect (including the GDPR and US state privacy laws), including having a legal basis and honoring data-subject rights. Do not collect or use personal data to stalk, harass, dox, surveil, or otherwise harm individuals. Do not build profiles of individuals from sensitive data (such as health, biometric, or precise-location data) without a lawful basis. [...] Do not use the Service to engage in, support, or promote: Any unlawful activity, or any violation of third-party rights. Phishing, malware distribution, or any form of fraud or deception, including advertising or click fraud and obtaining the Service with intent to avoid payment. Spam or unsolicited bulk messaging, or building contact lists for them. Fake engagement: fabricated reviews, votes, followers, accounts, or coordinated disinformation. Harassment, threats, or incitement of violence. Child sexual abuse material in any form: zero tolerance; we report it to the relevant authorities. Violations of export-control or sanctions laws. [...] Do not resell raw access to the Service or operate a service that merely proxies it, without our written agreement.","plan":"Manual top-up","who":"anyone 18 or over, for business or professional use, not in an embargoed jurisdiction or on a restricted-party list","billing":"one-time","charged":null,"topUp":true,"pay":10,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":10,"unit":"usd","renews":"never","expires":"never","costUnits":0.0029,"calls":3448.275862,"monthlyCap":null,"perThousand":0.029,"waterfall":null,"listPerThousand":0.029,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["468 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[{"fields":["edited","is author"],"perThousand":0.021}],"per":"page","resultsPerPage":100,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":3002,"call":"LinkedIn Profile Comments","method":"POST","path":"/v1/run/linkedin.profile_comments","send":"url; limit, postedLimit, requireFields, source, allowFallbacks, ignoreSources, preferLatencyUnderMs","fields":["actor ID","actor image","actor LinkedIn URL","actor name","actor title","actor type","commentary","created utc","replies","reactions","shares","ID","post author headline","post author image","post author name","post author profile URL","post author username","post engagement comments","post engagement reactions","post engagement reposts","post ID","post posted utc","post text","post URL","URL","found","amount charged","result ID","replayed","serving source","results returned"]},{"provider":"Anysite","api":"Employee comments","website":"https://anysite.io","pricingPage":"https://anysite.io/pricing/api","pitch":"Returns comments made by the user on LinkedIn posts.","strengths":[],"aggregators":[],"freshness":null,"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":0.0789,"waterfall":null,"listPerThousand":null,"overagePerThousand":0.145,"addons":null,"notFoundPerThousand":1.5789,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"never","alsoPaysFor":[],"sharesBudgetWith":["6,270 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":20,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/api/linkedin/user/comments","send":"urn, count; timeout, commented_after","fields":["comment ID","comment URL","text","date","replies","reactions by type","by post author","commenter ID","commenter name","commenter URL","commenter headline","commenter picture","post ID","post URL","post text","post date","post share URN","post comments","post reposts","post reactions by type","post media","post reshared post","post author ID","post author name","post author URL","post author headline","post author picture","post author username"]},{"provider":"Bridgly","api":"Employee comments","website":"https://bridgly.app","pricingPage":"https://bridgly.app/pricing","pitch":"LinkedIn user comments API: list the comments any LinkedIn member has written on other posts, with the comment text, time, link and the post it was on.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"The Services may not be used in connection with any commercial endeavors except those that are specifically endorsed or approved by us. [...] As a user of the Services, you agree not to: Systematically retrieve data or other content from the Services to create or compile, directly or indirectly, a collection, compilation, database, or directory without written permission from us. [...] Use any information obtained from the Services in order to harass, abuse, or harm another person. Use the Services in a manner inconsistent with any applicable laws or regulations. Engage in any automated use of the system, such as using scripts to send comments or messages, or using any data mining, robots, or similar data gathering and extraction tools. [...] Use the Services as part of any effort to compete with us or otherwise use the Services and/or the Content for any revenue-generating endeavor or commercial enterprise not approved by us.","plan":"Scale","who":"anyone with the legal capacity to agree to its terms, not a minor where they live","billing":"one-time","charged":null,"topUp":false,"pay":300,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":300000,"unit":"credit","renews":"never","expires":"never","costUnits":1,"calls":300000,"monthlyCap":null,"perThousand":1,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":1,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["almost all 86 endpoints"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":16.67,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/linkedin/get-profile-comments","send":"publicId; cursor, count","fields":["comment URN","comment text","commenter name","comment date","comment URL","post URN","parent comment URN","next cursor","execution time","credits consumed"]},{"provider":"Edges","api":"Employee comments","website":"https://edges.run","pricingPage":"https://edges.run/pricing","pitch":"Extract the comment activity history of a LinkedIn profile, showing posts they have commented on.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"to automate any task on a Third-Party Service, to the extent that such automation is lawful. For clarification purposes, the Client cannot carry out any automation that would infringe on a third-party's rights. [...] The Client will use the Services in compliance with the applicable laws and regulations (in particular the Data Protection Laws and Regulations) and the Documentation; [...] The Client will respect all intellectual property rights held by third parties, including those of Third-Party Services. [...] The Client warrants Edges Labs that it has the rights and/or authorizations to collect the Data on Third-Party Services and that such collection complies with applicable law and regulations. [...] The Client agrees not to [...] license, sublicense, sell, assign, resell, rent, lease, loan, transfer, assign, distribute, share, copy the Services, or all or any part of the Platform, including on a time-sharing basis, or in any other way commercially exploit the Services or make them available to third parties other than End Users; [...] use the Services or any part of the Platform to store, transmit, upload, link to, post or otherwise store any material (e.g., documents, data, text, images or other content) that is unlawful, racist, hateful, abusive, defamatory, obscene, libelous, deceptive, unfair, inaccurate/misleading, discriminatory, or in any way violates these TOS, any applicable laws and regulations [...]; use the Services or any part of the Platform for any purpose other than its Purpose; use the Services or any part of the Platform in a manner that harms (or is likely to harm) any third party; use the Services or all or part of the Platform to store or transmit any sensitive data within the meaning of Article 9 of the GDPR; [...] use or launch any automated system that accesses all or part of the Services (i.e., bot) in a manner that sends more request messages to a Service server in a given period of time than a human can reasonably produce in that same time period, by using a conventional online web browser","plan":"SILVER, 20,000 credits / month","who":"professionals (anyone acting for their commercial, industrial or liberal activity)","billing":"monthly","charged":null,"topUp":null,"pay":440,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":20000,"unit":"credit","renews":"month","expires":"no rollover: credits reset each month","costUnits":0.075,"calls":266666.666667,"monthlyCap":null,"perThousand":1.6493,"waterfall":null,"listPerThousand":null,"overagePerThousand":1.6493,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["70 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/actions/linkedin-extract-people-comment-activity/run/live","send":"input.linkedin_profile_url and identity_mode \"managed\" (or identity_ids, LinkedIn accounts you connect, without the 1.5 times charge of managed); cursor (the X-Pagination-Next of the page before), input.custom_data","fields":["reactions","replies","comment ID","comment URL","text","post author reply","date","post ID","post URL","comment type","activity ID","post author first name","post author last name","post author username","post author ID","post author Sales Navigator ID","post author URL","post author company ID","post author company","post author company logo","post author company URL","post reshared post ID","post reshared post URL","post reshared post text","post reshared post author first name","post reshared post author last name","post reshared post author username","post reshared post author ID","post reshared post author Sales Navigator ID","post reshared post author URL","post reshared post author company ID","post reshared post author company","post reshared post author company logo","post reshared post author company URL","commenter first name","commenter last name","commenter username","commenter ID","commenter Sales Navigator ID","commenter URL"]},{"provider":"EnrichGraph","api":"Employee comments","website":"https://enrichgraph.io","pricingPage":"https://www.enrichgraph.io/pricing","pitch":"Retrieve a token-paginated person activity feed. [...] comments returns posts on which the person commented, including an available matching highlighted comment or reply.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"You agree not to use the Services for any purpose that is unlawful or prohibited by these Terms. Specifically, you agree not to: Use the data for spamming, harassment, or any illegal purpose; Resell, redistribute, or sublicense the data without authorization","plan":"Standard Rate","who":"anyone","billing":"one-time","charged":null,"topUp":true,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":"never","expires":null,"costUnits":null,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":null,"resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/activities/personal-feed","send":"entity_urn, activity_type \"comments\"; count, pagination_token, bypass_cache","fields":["profile URN","activity type","results on page","next page token","has more","activity ID","update URN","thread URN","action type","reaction type","share URN","is root share","text","activity header","author type","author name","author first name","author last name","author headline","author URN","author object URN","author username","author numeric ID","author universal name","author picture","author URL","post URL","date","posted ago","comments","reactions","reposts","reactions by type","can comment","media","media type","media title","media subtitle","media description","media URL","images URL","media thumbnail URL","video URL","media duration","media manifest URL","document transcript URL","document slides","poll question","poll options","poll votes","poll option has most votes","poll voter count","poll is open","poll time remaining","top comments","comment URN","comment thread URN","comment text","commenter type","commenter name","commenter first name","commenter last name","commenter headline","commenter URN","commenter object URN","commenter username","commenter numeric ID","commenter universal name","commenter picture","commenter URL","comment URL","comment date","comment reactions","comment replies","comment shares","comment reactions by type","reshared post"]},{"provider":"EnvoAPI","api":"Employee comments","website":"https://envoapi.com","pricingPage":"https://envoapi.com/pricing","pitch":"Retrieve a profile's recent comments by username with EnvoAPI.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"a limited, non-exclusive, non-transferable, non-sublicensable right to use Output Data during the applicable term for Permitted Business Purposes. [...] Customer may store Output Data in Customer’s internal systems, including CRM, data warehouse, applicant tracking system, sales engagement platform, customer support system, or analytics system, only as reasonably necessary for Permitted Business Purposes and subject to Customer’s legal obligations. [...] Customer must delete Output Data where required by law, these Terms, an Order Form, or EnvoAPI’s written instruction","use":"Customer must use the Services only for lawful, professional, and B2B purposes. [...] a limited, non-exclusive, non-transferable, non-sublicensable right to use Output Data during the applicable term for Permitted Business Purposes. [...] “Permitted Business Purposes” means lawful B2B sales operations, CRM hygiene, account enrichment, company research, professional profile matching, recruiting workflow support, talent sourcing support, fraud prevention, business analytics, and other professional business purposes that comply with these Terms and applicable law. [...] Unless an Order Form expressly permits embedded or external use, the Services and Output Data may be used only for Customer’s internal business purposes. [...] Customer must not use the Services to request, obtain, infer, reconstruct, or process non-public data or Sensitive Data. [...] Customer must not use the Services or Output Data as the sole or determinative basis for decisions involving: credit, lending, insurance, housing, education admissions, government benefits, healthcare eligibility, criminal justice, or similar eligibility determinations; employment eligibility, hiring, firing, promotion, compensation, disciplinary action, or other adverse employment decisions; consumer reports, investigative consumer reports, background checks, tenant screening, creditworthiness, or insurance underwriting; legally significant decisions based solely on automated processing where prohibited or restricted by applicable law. [...] Customer must not use the Services to collect, infer, classify, profile, target, segment, rank, or make decisions based on Sensitive Data or protected characteristics, including race, ethnicity, religion, political opinion, union membership, health, disability, genetic data, biometric data, sexual orientation, age, gender, pregnancy status, citizenship, immigration status, veteran status, or other legally protected categories. [...] Customer must not use the Services or Output Data to send unlawful, deceptive, excessive, or non-compliant email, SMS, calls, direct messages, ads, or other communications. [...] Except as expressly allowed in an Order Form, Customer must not: resell, sublicense, rent, lease, publish, disclose, distribute, or make available Output Data as a standalone dataset, database, data feed, API, enrichment service, lead list, or data brokerage product; use the Services or Output Data to build, train, validate, benchmark, or improve a product or service that competes with EnvoAPI; use the Services to create a persistent shadow database substantially similar to EnvoAPI’s proprietary databases; remove, obscure, or alter proprietary notices, source metadata, suppression flags, field timestamps, or compliance indicators. [...] Customer must not knowingly use the Services to re-identify, re-add, enrich, sell, contact, or otherwise process a person or record that EnvoAPI has identified as suppressed, opted out, deleted, or restricted.","plan":"Scale","who":"anyone, for lawful, professional B2B purposes, not in a sanctioned jurisdiction 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":250000,"unit":"credit","renews":"month","expires":"monthly credits reset at renewal","costUnits":1,"calls":250000,"monthlyCap":null,"perThousand":0.1996,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["57 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":10,"resultsCap":null,"perDay":null,"perSecond":5,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/v1/profiles/comments","send":"username; cursor","fields":["text","date","edited","commenter name","commenter headline","commenter URL","reactions","reply count","post URL","post text","post author name","post author headline","page size","results on page","has more","next cursor","credits consumed","credits remaining","request ID"]},{"provider":"Fetchin","api":"Employee comments","website":"https://fetchin.io","pricingPage":"https://fetchin.io/pricing","pitch":"Each item already embeds the post it was written on — its text, author, media and engagement counts — so you rarely need a follow-up call to Get Posts to make a comment actionable.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"You agree to use the Services only for lawful purposes and in accordance with these Terms. You must not: Use the Services to violate any applicable local, national, or international law or regulation. Use the data obtained through the Services for unsolicited bulk communications (spam), harassment, discrimination, or any unlawful purpose. Attempt to circumvent rate limits, usage quotas, or other technical restrictions. Reverse engineer, decompile, or disassemble any part of the Services. Resell or sublicense raw access to the Services, or use the data obtained through them to build a competing data API. Use automated means to access the Services beyond the intended API interfaces. Interfere with or disrupt the integrity or performance of the Services. Redistribution within your own product is permitted. You may display data obtained through the Services to your end users, combine it with your own data, and pass it on to your customers and their end users through your own product or API. No separate written consent is required. You are responsible for ensuring that your use of the data obtained through our Services complies with all applicable data protection laws, including the GDPR and any applicable local regulations. [...] You are responsible for ensuring that your use of data obtained through the Services complies with all applicable privacy and data protection laws, including obtaining any necessary consents or providing any required notices to data subjects.","plan":"Subscription 50K","who":"anyone 18 or over with the legal capacity to enter into the terms","billing":"monthly","charged":null,"topUp":null,"pay":50,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":50000,"unit":"credit","renews":"month","expires":"at renewal: unused credits do not carry over","costUnits":1,"calls":50000,"monthlyCap":null,"perThousand":0.01,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":1,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"never","alsoPaysFor":[],"sharesBudgetWith":["Company","Companies (batch)","Posts","Search posts","Company posts","Post comments","Post reactions","Post engagement","Profile reactions","Profile","Profile articles","Apify-compatible actors"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":100,"resultsCap":null,"perDay":null,"perSecond":5,"concurrent":"n/a","batch":1,"answer":"in the call","latencyMs":2828,"call":null,"method":"GET","path":"/api/v1/profile/comments","send":"profileUrlOrUrn; count, paginationToken","fields":["text","date","comment URL","post URL","post text","replies","post author name","post author URL","post author headline","comment ID","comment activity URN","pinned","reactions","reactions by type","commenter name","commenter URL","commenter headline","commenter picture","commenter ID","post ID","post share URN","post date","post type","post reactions","post comments","post reposts","post reactions by type","post media","post reshared post","post author ID","post author type","post author picture","post author username","next cursor","has more"]},{"provider":"HarvestAPI","api":"Employee comments","website":"https://harvestapi.io","pricingPage":"https://harvestapi.io/#pricing","pitch":"Get comments made by a LinkedIn profile.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"You will not store or cache data for longer than is reasonably necessary for your specific, legitimate use case","use":"You agree to: Use the API in full compliance with all applicable laws and regulations. Respect the rate limits and quotas associated with your purchased fund packages. Not attempt to circumvent any of our security measures or technical limitations. Store and process data in a manner that complies with all relevant privacy regulations (like GDPR, CCPA, etc.). [...] You must maintain a clear and appropriate privacy policy for your users regarding how you use this data. You will not use the data for any illegal, unethical, or malicious purposes.","plan":"Pro","who":"anyone","billing":"one-time","charged":null,"topUp":false,"pay":280,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":280,"unit":"usd","renews":"never","expires":"365 days","costUnits":0.0023,"calls":121739.130435,"monthlyCap":null,"perThousand":0.023,"waterfall":null,"listPerThousand":0.023,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Get Profile","Get Profile with findEmail","Search LinkedIn profiles","Search Leads","Profile Posts","Profile reactions","Get Company","Search Companies","Company Posts","Company People Stats","Search Accounts","Account Insights","Search Posts","Get post","Post comments","Post reactions","Comment replies","Comment reactions","Get Job","Search Jobs","Get Group","Search Groups","Search Ad Library","Search Profile Services","Search GeoID","My Received Connections","My Sent Connections","Send Connection","Send Message"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":100,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":20,"batch":1,"answer":"in the call","latencyMs":2635,"call":null,"method":"GET","path":"/linkedin/profile-comments","send":"profile; postedLimit, page, paginationToken","fields":["comment ID","comment URL","text","date","replies","shares","impressions","reactions by type","post ID","commenter ID","commenter name","commenter URL","commenter headline","commenter picture","by post author","pinned","contributed","edited","total results","total pages","page","page size","next page token"]},{"provider":"InsightSocial","api":"Employee comments","website":"https://www.insightsocial.app","pricingPage":"https://www.insightsocial.app/pricing","pitch":"Returns the comments a LinkedIn member left on other people's posts, with the comment text, the post it sits under, and the timestamp.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"You are responsible for using InsightSocial in compliance with the terms of service of each platform or site you scrape, and with applicable law (including data protection laws such as GDPR and CCPA where they apply to you) [...] You agree not to use the Service to harvest personal data for harassment, stalking, mass unsolicited contact, or any unlawful purpose.","plan":"250 credits","who":"anyone","billing":"one-time","charged":null,"topUp":false,"pay":2,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":250,"unit":"credit","renews":"never","expires":"never","costUnits":50,"calls":5,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"never","alsoPaysFor":[],"sharesBudgetWith":["301 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":1,"concurrent":10,"batch":1,"answer":"in the call","latencyMs":null,"call":"Profile › Comments","method":"GET","path":"/v1/linkedin/profile/comments","send":"url; urn, dry_run","fields":["text","post URL","date"]},{"provider":"Pipecorn","api":"Employee comments","website":"https://pipecorn.com","pricingPage":"https://pipecorn.com/pricing","pitch":"Extract comments left by a LinkedIn profile on other posts.","strengths":[],"aggregators":[],"freshness":null,"fieldFreshness":null,"history":null,"keep":"no limit","use":"exclusively for professional needs and in compliance with their intended purpose; must use the Services lawfully and only for the intended purposes defined in the Terms and Conditions, and not engage in any activities that would violate applicable laws or infringe on intellectual property rights","plan":"Grow, 9,000 credits a month","who":"the natural person or legal entity entering into the Terms and Conditions for professional purposes","billing":"monthly","charged":null,"topUp":null,"pay":149,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":9000,"unit":"credit","renews":"month","expires":"never, while the subscription is active","costUnits":null,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Search leads by filters","Search leads by filters, from the Pipecorn people database","Search accounts by filters","Search accounts by filters, from the Pipecorn companies database","Find company lookalikes","Find company lookalikes, from the Pipecorn companies database","Asynchronous Single Contact Enrichment","Synchronous Single Contact Enrichment","Enrich people","Enrich people, live on LinkedIn","Enrich account","Enrich account, live on LinkedIn","Reverse email lookup","Reverse phone lookup","Department headcount","Department headcount, live on Sales Navigator","# people at company","# people at company, live on Sales Navigator","Company hiring (job postings)","Company stack (technographics)","Find companies hiring","Find companies by tech stack"],"sharesBudgetWith":null,"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":null,"resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Extract comments from LinkedIn profile","method":"POST","path":"/intents/leads/comments","send":"linkedin_url, limit; Idempotency-Key header, linkedin_profile_url","fields":["comment ID","comment URL","commenter name","commenter URL","text","date","comment URN"]},{"provider":"Renidly","api":"Employee comments","website":"https://renidly.com","pricingPage":"https://renidly.com/pricing","pitch":"Comments authored by a person","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"Subject to your compliance with these Terms, we grant you a non-exclusive, non-transferable, revocable licence to access and use the Service for your internal business purposes during the term. [...] You agree not to: Use the Service to violate any law, regulation, or third-party right. Re-sell, sub-license, or repackage the Service or its raw data outputs as a competing data product without our prior written agreement. [...] Build profiles to harass, dox, or discriminate against individuals, or to make automated decisions producing legal or similarly significant effects on a person without an adequate lawful basis and human review. Use the Service to send unsolicited bulk communications in violation of applicable anti-spam laws (including CAN-SPAM, CASL, GDPR/ePrivacy and equivalents). [...] You are responsible for: [...] Ensuring your downstream use of enriched data complies with all applicable laws.","plan":"Hobby","who":"anyone 18 or over with a work email (Gmail, Yahoo, Outlook and other free providers aren't accepted)","billing":"one-time","charged":null,"topUp":false,"pay":50,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":6000,"unit":"credit","renews":null,"expires":"never","costUnits":1,"calls":6000,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"20 minutes","alsoPaysFor":[],"sharesBudgetWith":["45 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":0.5,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/api/v2/activity/replies/by-author","send":"entityId; cursor, start","fields":["text","next cursor"]},{"provider":"RichAPI","api":"Employee comments","website":"https://richapi.ai","pricingPage":"https://richapi.ai/pricing","pitch":"Get a profile's recent posts, comments and reactions for engagement analysis.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no API terms","use":"no API terms","plan":"Starter","who":"anyone","billing":"one-time","charged":null,"topUp":false,"pay":100,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":5000,"unit":"credit","renews":"never","expires":"never","costUnits":2,"calls":2500,"monthlyCap":null,"perThousand":40,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["69 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Profile Activities","method":"POST","path":"/profile_activities","send":"urn, type \"COMMENT\"; limit, pagination_token","fields":["URL","text","activity type","likes","comments","date","next page token","request ID","credits consumed","credits remaining","response time","credits status","credits reason code","credits reason","estimated credits"]},{"provider":"Social Fetch","api":"Employee comments","website":"https://www.socialfetch.dev","pricingPage":"https://www.socialfetch.dev/pricing","pitch":"List comments authored by a LinkedIn person.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"You agree not to: Use the Services in violation of applicable law. Use outputs to harass, surveil, discriminate against, or harm individuals or groups. Send spam, manipulate platforms, or engage in deceptive or fraudulent activity. Infringe intellectual property or other rights of third parties. Attempt to access non-public data, bypass rate limits or technical controls, or probe our systems in ways that could harm availability or security. Resell or redistribute the Services in ways that misrepresent their source, or use them to build a substantially similar competing API without our written consent. [...] On any plan you may incorporate Social Fetch data outputs into your own products and services, present them under your own brand without attribution to us, and supply them to your own customers. You may not share or resell API keys or other access credentials, expose the Social Fetch API itself as a like-for-like API, or build a substantially similar competing API. This gives you no right beyond what we hold ourselves in the underlying data: the terms of the source platforms, restrictions that apply to us and applicable law, including data-protection law, still apply, and you remain responsible for how your own customers use what you supply. [...] Subject to these Terms, we grant you a limited, non-exclusive, non-transferable right to use the Services for your internal business purposes or to power your applications for your end users, in each case as intended.","plan":"Starter","who":"anyone; for an organisation, someone with the authority to bind it","billing":"one-time","charged":null,"topUp":false,"pay":14,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":1000,"unit":"credit","renews":"never","expires":"never","costUnits":3,"calls":333.333333,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":42,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"never","alsoPaysFor":[],"sharesBudgetWith":["263 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":200,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/v2/linkedin/people/{entityId}/comments","send":"entityId; cursor, start","fields":["commenter name","commenter headline","commenter ID","commenter URN","commenter URL","commenter picture","commenter type","text","date","comment URL","edited","reactions","reactions by type","reply count","shares","replies","post URL","post ID","post text","post activity header","post mentions","post author name","post author headline","post author ID","post author URN","post author URL","post author picture","post author type","post date","post edited","post reactions","post comments","post reposts","post reactions by type","post media","post reshared post","post reposted by","post repost date","next cursor","has more","offset","results on page","total results"]},{"provider":"SocialCrawl","api":"Employee comments","website":"https://www.socialcrawl.dev","pricingPage":"https://www.socialcrawl.dev/pricing","pitch":"Lists the comments a LinkedIn member has left on posts, newest first, as one fixed window of up to 20: each with the comment text, its time and reactions, and the post it was left on (text, media, author and engagement).","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"You may use the Service for lawful purposes that comply with these Terms, applicable laws, and the terms of service of the social media platforms from which data is retrieved. [...] You must not: Resell raw data: You may not redistribute, resell, or sublicense raw Platform Data retrieved through the Service without adding meaningful transformation, analysis, or value. You must not operate a service that merely proxies or mirrors SocialCrawl responses. Violate platform terms: You must not use the Service in a manner that violates the terms of service of any social media platform from which data is retrieved. Harass or harm: You must not use the Service to stalk, harass, doxx, or otherwise harm any individual. Surveillance and identification of individuals: You must not use the Service or Platform Data to (a) perform facial recognition, biometric identification, or biometric verification of any individual, or build or enrich any facial-recognition or biometric database; (b) conduct surveillance, tracking, or behavioural monitoring of identified or identifiable individuals, including for law-enforcement, intelligence, or employment-vetting purposes; (c) re-identify individuals from aggregated, pseudonymised, or anonymised data; (d) profile individuals based on special categories of personal data (such as health, religion, political opinions, or sexual orientation); or (e) compile databases of individuals' personal data for sale or licensing as such. Circumvent restrictions: You must not attempt to bypass any usage limits, access controls, or security measures of the Service. Reverse engineer: You must not reverse engineer, decompile, or disassemble any part of the Service or its underlying infrastructure. Overload the Service: You must not engage in activity designed to degrade, disrupt, or place an unreasonable burden on the Service or its infrastructure. Illegal activity: You must not use the Service for any purpose that violates applicable law, including but not limited to data protection legislation, intellectual property law, or export control regulations. Automated abuse: You must not use automated systems to create accounts, generate API Keys, or consume Credits in a manner intended to exploit the Service. [...] You are solely responsible for: Ensuring your use of Platform Data complies with all applicable laws, including data protection and privacy legislation (such as the UK GDPR and the Data Protection Act 2018). Respecting the intellectual property rights of content creators whose data is accessed through the Service. [...] Complying with the terms of service of the social media platforms from which data originates. [...] Subject to your compliance with these Terms, we grant you a limited, non-exclusive, non-transferable, revocable licence to access and use the Service for your internal business or personal purposes. You retain ownership of any data, applications, or materials that you create using Platform Data retrieved through the Service, subject to: The intellectual property rights of the original content creators on social media platforms. Any applicable terms of service of the social media platforms from which the data originates. The restrictions set out in Section 7 (Acceptable Use Policy) of these Terms.","plan":"Growth","who":"anyone 18 or over","billing":"one-time","charged":null,"topUp":false,"pay":49,"currency":"GBP","exchangeRate":1.3335,"termMonths":null,"from":null,"graduated":null,"units":20000,"unit":"credit","renews":"never","expires":"never","costUnits":5,"calls":4000,"monthlyCap":null,"perThousand":0.8168,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"5 minutes","alsoPaysFor":[],"sharesBudgetWith":["674 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":20,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":50,"batch":1,"answer":"in the call","latencyMs":null,"call":"List a member's comments","method":"GET","path":"/v1/linkedin/profile/comments","send":"url; urn","fields":["success","credits consumed","credits remaining","request ID","from cache","replayed","next cursor","has more","page size","text","date","reactions","post text","post media","post author name","post author username","post author picture","post reactions","post comments","post reposts"]},{"provider":"Up2Data","api":"Employee comments","website":"https://up2data.ai","pricingPage":"https://up2data.ai/#pricing","pitch":"Get one profile's authored posts, comments, reactions, or reposts, one kind per call.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no API terms","use":"no API terms","plan":"100K","who":"anyone","billing":"one-time","charged":null,"topUp":false,"pay":200,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":100000,"unit":"credit","renews":"never","expires":"never","costUnits":2,"calls":50000,"monthlyCap":null,"perThousand":0.16,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":4,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":"never","alsoPaysFor":[],"sharesBudgetWith":["Enrich a profile","Get profile recommendations","Get profile interests","Enrich a company","Count company job openings","Get company posts","Find custom headcount","Enrich a job","Search jobs","Enrich a post","Search posts","Get post comments","Get post reactions","Get post reposts","Search people","Search people (Sales Navigator)","Search people (standard)","Search companies","Search companies (Sales Navigator)","Search companies (standard)","Create a batch job"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":25,"resultsCap":null,"perDay":null,"perSecond":83.33,"concurrent":6000,"batch":1,"answer":"in the call","latencyMs":3321,"call":"Get profile activity","method":"POST","path":"/v1/profiles/activity","send":"one of url or urn, kind \"comments\"; page, per_page, pagination_token","fields":["text","date","replies","commenter name","commenter URL","commenter headline","commenter URN","post URL","post ID","post share URN","post text","post author name","post author URL","post author headline","scraped at","profile URL","profile URN","results returned","page","page size","has more","total results","next page token","credits consumed","credits remaining","charged","request ID","execution time"]},{"provider":"Zooq","api":"Employee comments","website":"https://zooq.dev","pricingPage":"https://zooq.dev/pricing","pitch":"Comments authored by a person across posts.","strengths":[],"aggregators":[],"freshness":"live","fieldFreshness":null,"history":null,"keep":"no limit","use":"Comply with all applicable laws (GDPR, CASL, CAN-SPAM, etc.). Don't use Zooq for harassment, scraping protected data, or anything in our AUP. Honor opt-out requests from individuals whose data you process. [...] You agree not to use Zooq to: Harass, stalk, or threaten any individual. Send unsolicited bulk messaging (spam) in violation of CAN-SPAM, CASL, or other anti-spam laws. Build databases of EU residents' personal data without a lawful basis under GDPR. Resell raw LinkedIn data to third parties (you may use it in your own products and analytics). Attempt to circumvent our rate limits, credit accounting, or abuse free trials. Use Zooq to enrich profiles of minors, protected classes for discriminatory purposes, or anyone who has explicitly opted out. Run automated content generation that misleads the recipients about its origin.","plan":"Builder","who":"anyone","billing":"one-time","charged":null,"topUp":false,"pay":20,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":2500,"unit":"credit","renews":"never","expires":"never","costUnits":10,"calls":250,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":80,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["other Profile endpoints","Companies endpoints","Search endpoints","Jobs endpoints","Posts endpoints","Comments endpoints","Lookups endpoints","Email endpoints"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"page","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":2,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/api/v1/comments/all","send":"one of handle or entityId; cursor, start","fields":["comment ID","text","activity ID","post URL","date","next cursor"]}],"total":208,"freshness":["Live","Within an hour","Within a day","Within a week","Within a month","Within a year","Stored, age unknown"],"providers":[{"label":"A to H","kids":[{"label":"AnyAPI","value":"AnyAPI on its own site"},{"label":"Anysite","value":"Anysite on its own site"},{"label":"Bridgly","value":"Bridgly on its own site"},{"label":"Edges","value":"Edges on its own site"},{"label":"EnrichGraph","value":"EnrichGraph on its own site"},{"label":"EnvoAPI","value":"EnvoAPI on its own site"},{"label":"Fetchin","value":"Fetchin on its own site"},{"label":"HarvestAPI","value":"HarvestAPI on its own site"}],"range":true},{"label":"I to Z","kids":[{"label":"InsightSocial","value":"InsightSocial on its own site"},{"label":"Pipecorn","value":"Pipecorn on its own site"},{"label":"Renidly","value":"Renidly on its own site"},{"label":"RichAPI","value":"RichAPI on its own site"},{"label":"SocialCrawl","value":"SocialCrawl on its own site"},{"label":"Social Fetch","value":"Social Fetch on its own site"},{"label":"Up2Data","value":"Up2Data on its own site"},{"label":"Zooq","value":"Zooq on its own site"}],"range":true}],"at":[6,11,18,28,42,52,65,95,98,119,149,159,165,177,191,203],"fields":{"Employee comments":["text","date","post URL","commenter name","commenter URL","comment URL","commenter headline","next cursor","post author name","post ID","post text","reactions","replies","comment ID","has more","post author headline","commenter ID","commenter picture","credits consumed","post author URL","post author username","reactions by type","credits remaining","next page token","page size","post author ID","post author picture","post comments","post media","post reposts","request ID","activity ID","comment URN","commenter URN","edited","post date","post reactions","post reactions by type","post reshared post","post share URN","results on page","shares","total results","activity type","by post author","comment date","comment text","commenter first name","commenter last name","commenter type","commenter username","comments","execution time","page","pinned","post author type","profile URN","replayed","reply count","results returned","URL","action type","activity header","actor ID","actor image","actor LinkedIn URL","actor name","actor title","actor type","amount charged","author first name","author headline","author last name","author name","author numeric ID","author object URN","author picture","author type","author universal name","author URL","author URN","author username","can comment","charged","comment activity URN","comment reactions","comment reactions by type","comment replies","comment shares","comment thread URN","comment type","commentary","commenter numeric ID","commenter object URN","commenter Sales Navigator ID","commenter universal name","contributed","created utc","credits reason","credits reason code","credits status","document slides","document transcript URL","estimated credits","found","from cache","ID","images URL","impressions","is root share","likes","media","media description","media duration","media manifest URL","media subtitle","media thumbnail URL","media title","media type","media URL","offset","parent comment URN","poll is open","poll option has most votes","poll options","poll question","poll time remaining","poll voter count","poll votes","post activity header","post author company","post author company ID","post author company logo","post author company URL","post author first name","post author image","post author last name","post author profile URL","post author reply","post author Sales Navigator ID","post author URN","post edited","post engagement comments","post engagement reactions","post engagement reposts","post mentions","post posted utc","post repost date","post reposted by","post reshared post author company","post reshared post author company ID","post reshared post author company logo","post reshared post author company URL","post reshared post author first name","post reshared post author ID","post reshared post author last name","post reshared post author Sales Navigator ID","post reshared post author URL","post reshared post author username","post reshared post ID","post reshared post text","post reshared post URL","post type","post URN","posted ago","profile URL","reaction type","reposts","reshared post","response time","result ID","scraped at","serving source","share URN","success","thread URN","top comments","total pages","update URN","video URL"]},"same":["api","strengths","aggregators","waterfall","resultsCap","startPerCall","monthlyFee","addons","catchAllPerThousand","bounceRefund","history"],"facets":["defaults","provider","price","fields","billing","who","freshness","use","answer","paysFor"],"ties":{"Employee comments":{"tied":["AnyAPI, top-up from $10","AnyAPI, top-up from $10, Manual top-up","AnyAPI, top-up from $10, Manual top-up, POST /v1/run/linkedin.profile_comments","AnyAPI, top-up from $10, Manual top-up, POST /v1/run/linkedin.profile_comments, $10","Up2Data, $200 pack","Up2Data, $200 pack, 100K"],"movedPages":{"AnyAPI, top-up from $10, Manual top-up, POST /v1/run/linkedin.profile_comments, LinkedIn Profile Comments":"/linkedin-person-comment-apis/anyapi/top-up-from-10"},"canonicals":{"AnyAPI":"free-trial-key","Anysite":"free","Bridgly":"free","Edges":"free","EnrichGraph":"top-up","EnvoAPI":"free","Fetchin":"free","HarvestAPI":"free","InsightSocial":"free","Pipecorn":"149-monthly","Renidly":"free","RichAPI":"free","Social Fetch":"free","SocialCrawl":"free","Up2Data\nPOST /v1/profiles/activity":"25-pack-10k-post-v1-profiles-activity","Up2Data":"25-pack-10k-post-v1-batch","Zooq":"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 comments 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 comments 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 comments a page holds. On a flat fee, we take the most comments 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 comments the plan allows. On a flat fee with no cap on comments, 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 comments 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 comments than the units pay for, we divide the plan's price by the comments 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 comments. We also leave it blank when the provider's website doesn't say what a comment costs on this plan, or how many comments 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 comments 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 comment 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 comment. 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 comment. 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 comment over all its calls. We assume each provider finds comments 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 comment 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 comment again without using up the limit after you first get the comment. We copy it from the provider's pages, like \"20 minutes\". \"no limit\" means the provider never charges again for a comment you paid for once. \"never\" means the provider says it charges each time you get the comment again. Blank when the provider's pages don't say.","per":"The price counts a \"call\" or a \"result\". A call asks for one comment. A result is each comment 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 comment 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 comments 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 comments 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 comment, like an Apify Actor's start fee. You pay the same fee for a call of 1,000 comments or a call of one comment. 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 comments you get past the plan's units, when the provider sells extra comments.","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 comments you get for the plan's price, counted in per. A call and a result are each one comment. 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 comment 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 comments 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 comments you get. Enough for is also blank on pay as you go plans, on top-ups, and on subscriptions that charge for each comment 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 buy credit first, as a pack or any amount you like, then spend it 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 subscription for 12 or 15 months"},"defaults":["Ignore plans that need your LinkedIn","No contact us plans","No free plans","No yearly plans","$500 or less to start"],"kept":16,"paid":{"ranked":{"Employee comments":[0.0095,0.01,0.01,0.01,0.015,0.015,0.015,0.023,0.029,0.029,0.032,0.04,0.05,0.05,0.0789,0.1,0.16,0.16,0.1633,0.1996,0.2,0.2,0.298,0.299,0.396,0.49,0.58,0.6645,0.8168,1,1.6493,1.6667,2,2.0003,2.0618,2.4743,3.2993,36,40]},"bench":{"Employee comments|Fetchin|/api/v1/profile/comments":{"data":0.91,"performance":0.9317538896746818,"median":2828,"measured":2828,"fastest":"HarvestAPI","fastestMedian":2635,"fastestMeasured":2635,"called":20,"inputs":20,"fewer":false,"days":["2026-10-25"],"row":"Fetchin"},"Employee comments|HarvestAPI|/linkedin/profile-comments":{"data":0.9629,"performance":1,"median":2635,"measured":2635,"fastest":"HarvestAPI","fastestMedian":2635,"fastestMeasured":2635,"called":20,"inputs":20,"fewer":false,"days":["2026-10-25"],"row":"HarvestAPI"},"Employee comments|Up2Data|/v1/profiles/activity":{"data":0.32,"performance":0.7934357121348992,"median":3321,"measured":3321,"fastest":"HarvestAPI","fastestMedian":2635,"fastestMeasured":2635,"called":20,"inputs":20,"fewer":false,"days":["2026-10-25"],"row":"Up2Data"},"Employee comments|AnyAPI|/v1/run/linkedin.profile_comments|LinkedIn Profile Comments":{"data":0.6585,"performance":0.8777481678880746,"median":3002,"measured":3002,"fastest":"HarvestAPI","fastestMedian":2635,"fastestMeasured":2635,"called":20,"inputs":20,"fewer":false,"days":["2026-10-25"],"row":"AnyAPI"}}},"alert":true,"bench":{"groups":[{"name":"Time per profile","note":"We called each provider once on the same 20 profiles, on 25 October 2026. Time is each call minus a baseline, so the distance to the provider's servers drops out. Each value is a call's time minus a baseline time we explain below. We count only our first call on each profile, and only when the provider found that profile. Where we called the providers again, side by side on the same profiles, beside ones we added later, each one called there is timed on that run instead, so those are timed on the same day. Any other later call on the same profile isn't timed, since the provider may answer it from its cache. We don't time a call the provider billed as a repeat of one of our earlier searches. The baseline is the mean of three free calls to the same provider just before the call, on the same connection. If that mean is longer than the call, we use the provider's median baseline, capped at the call's time, so no time is below zero. Sometimes a provider's app is slow on every free call, even for a page that doesn't exist. When a provider's app is that slow, we use three pages of its website for its baseline. We read those pages on a later day. If we checked for a provider's answer every few seconds, the time is when we saw the answer. The answer may have come a few seconds earlier. Nothing to time means the provider found none of the profiles we asked for.","columns":[{"name":"Median","kind":"ms","values":{"Fetchin":2828,"HarvestAPI":2635,"Up2Data":3321,"AnyAPI":3002}},{"name":"10th percentile","kind":"ms","values":{"Fetchin":1541,"HarvestAPI":712,"Up2Data":2469,"AnyAPI":2004}},{"name":"90th percentile","kind":"ms","values":{"Fetchin":4606,"HarvestAPI":4771,"Up2Data":5256,"AnyAPI":4937}},{"name":"Fastest","kind":"ms","values":{"Fetchin":1081,"HarvestAPI":558,"Up2Data":1847,"AnyAPI":1897}},{"name":"Slowest","kind":"ms","values":{"Fetchin":6177,"HarvestAPI":4870,"Up2Data":10109,"AnyAPI":9174}},{"name":"Baseline","kind":"ms","values":{"Fetchin":403,"HarvestAPI":330,"Up2Data":325,"AnyAPI":245}}]},{"name":"Profiles","note":"Called: the profiles we called each provider on. Found: those it returned. Parts returned: the fields below that its answer held at least once.","columns":[{"name":"Called","kind":"count","values":{"Fetchin":[20,20],"HarvestAPI":[20,20],"Up2Data":[20,20],"AnyAPI":[20,20]}},{"name":"Found","kind":"count","values":{"Fetchin":[18,20],"HarvestAPI":[18,20],"Up2Data":[17,20],"AnyAPI":[18,20]}},{"name":"Parts returned","kind":"count","values":{"Fetchin":[25,28],"HarvestAPI":[27,28],"Up2Data":[10,28],"AnyAPI":[18,28]}}]},{"name":"Their comments checked","note":"We asked for 10 comments of each person, by their LinkedIn profile, and read each comment returned on its own LinkedIn page. Returned: comments in the answer. Theirs: comments whose page names the person as the author, out of the most any answer held. Not theirs: someone else's comments. Not read: comments LinkedIn shows only to members, like replies, counted neither way.","columns":[{"name":"Returned","kind":"count","values":{"Fetchin":[166,200],"HarvestAPI":[166,200],"Up2Data":[156,200],"AnyAPI":[166,200]}},{"name":"Theirs","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}},{"name":"Not theirs","kind":"count","values":{"Fetchin":[0,166],"HarvestAPI":[0,166],"Up2Data":[0,156],"AnyAPI":[0,166]}},{"name":"Not read","kind":"count","values":{"Fetchin":[58,166],"HarvestAPI":[58,166],"Up2Data":[57,156],"AnyAPI":[58,166]}}]},{"name":"The profile comments call","note":"This table shows the provider's call for comments, looked up by the person's LinkedIn profile. It also shows what one profile cost on this run. Fetchin can return fewer comments than you ask for. One credit pays for up to 100 comments, so we ask Fetchin for 100 and count the first 10 in each answer.","columns":[{"name":"Call","kind":"text","values":{"Fetchin":"GET api.fetchin.io/api/v1/profile/comments?count=100","HarvestAPI":"GET api.harvest-api.com/linkedin/profile-comments","Up2Data":"POST api.up2data.ai/v1/profiles/activity kind comments, per_page 10","AnyAPI":"POST api.getanyapi.com/v1/run/linkedin.profile_comments"}},{"name":"Charged per profile","kind":"text","values":{"Fetchin":"$0.001","HarvestAPI":"$0.004","Up2Data":"$0.005","AnyAPI":"$0.0029, found or not"}}]},{"name":"The comments","note":"The person's comments where the answer held this field, out of the most comments any answer held it on, person by person. A value that differs from the comment's LinkedIn page doesn't count. Not in the answer means the call has no such field.","columns":[{"name":"Comment URL","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[108,108]}},{"name":"Comment ID","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[108,108]}},{"name":"Activity ID","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":null}},{"name":"Text","kind":"count","values":{"Fetchin":[107,107],"HarvestAPI":[107,107],"Up2Data":[99,107],"AnyAPI":[107,107]}},{"name":"Posted at","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}},{"name":"Pinned","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":null,"Up2Data":null,"AnyAPI":null}},{"name":"Edited","kind":"count","values":{"Fetchin":null,"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[0,108]}},{"name":"Contribution","kind":"count","values":{"Fetchin":null,"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":null}}]},{"name":"The comments' engagement","note":"The person's comments where the answer held this field, out of the most comments any answer held it on, person by person. A value that differs from the comment's LinkedIn page doesn't count. Not in the answer means the call has no such field.","columns":[{"name":"Reactions","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[108,108]}},{"name":"Reactions by type","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":null}},{"name":"Replies","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}}]},{"name":"The post commented on","note":"The person's comments where the answer held this field, out of the most comments any answer held it on, person by person. A value that differs from the comment's LinkedIn page doesn't count. Not in the answer means the call has no such field.","columns":[{"name":"Post URL","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}},{"name":"Post ID","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[51,108],"AnyAPI":[108,108]}},{"name":"Post share URN","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":null}},{"name":"Post text","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}},{"name":"Post posted at","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[108,108]}},{"name":"Post author's name","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}},{"name":"Post author's URL","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}},{"name":"Post author's ID","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":null}},{"name":"Post author's headline","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":[99,108],"AnyAPI":[108,108]}},{"name":"Post author's picture","kind":"count","values":{"Fetchin":[106,106],"HarvestAPI":[106,106],"Up2Data":null,"AnyAPI":[106,106]}},{"name":"Post reactions","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[108,108]}},{"name":"Post comments","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[108,108]}},{"name":"Post reposts","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[108,108],"Up2Data":null,"AnyAPI":[108,108]}},{"name":"Post reactions by type","kind":"count","values":{"Fetchin":[108,108],"HarvestAPI":[107,108],"Up2Data":null,"AnyAPI":null}}]},{"name":"The comments' mentions and the post's media","note":"Items the answer held over the person's comments, out of the most any answer held, person by person. Not in the answer means the call has no such field.","columns":[{"name":"Mentions","kind":"count","values":{"Fetchin":null,"HarvestAPI":[27,27],"Up2Data":null,"AnyAPI":null}},{"name":"Post media","kind":"count","values":{"Fetchin":[109,109],"HarvestAPI":[109,109],"Up2Data":null,"AnyAPI":null}}]}],"inputs":{"said":"We don't list the 20 profiles we called, as they hold people's data.","keys":[],"rows":[]}},"more":"/assets/sheet-pZOIUN6j.json"}