{"api":"Cached email validation","apiRows":{"Employee profile":2944,"Cached employee profile":1265,"Employee email":2347,"Cached employee email":971,"Email validation":3515,"Cached email validation":611,"Employee phone":820,"Cached employee phone":464,"Company profile":958,"Cached company profile":165,"Company headcount":146,"Cached company headcount":94,"Phone validation":572,"Cached phone validation":165,"Post comments":325,"Post reactions":303,"Employee lookalikes":160,"Cached employee lookalikes":54,"Company lookalikes":470,"Cached company lookalikes":163,"Company technologies":131,"Cached company technologies":187,"Company job count":53,"Employee posts":320,"Cached employee posts":14,"Company posts":307,"Cached company posts":10,"Company funding":100,"Cached company funding":133,"Company jobs":114,"Cached company jobs":30,"Employee search":828,"Cached employee search":214,"Company search":315,"Cached company search":181,"Job search":350,"Cached job search":30,"Reverse email lookup":275,"Cached reverse email lookup":358,"Post search":239,"Cached post search":57,"Post details":377,"Job details":351,"Employee comments":179,"Cached employee comments":14,"Employee reactions":149,"Post reposts":106,"Employee recommendations":80,"Job lookalikes":34,"Employee articles":47,"Company enrichment":441,"Cached company enrichment":1043,"People search":542,"Cached people search":1088,"Company discovery":295,"Cached company discovery":1237,"Job postings":19,"Cached job postings":192,"Job posting details":15,"Cached job posting details":53,"Person enrichment":88,"Cached person enrichment":143,"Leadership changes":17,"Cached leadership changes":71,"Company hierarchy":93},"treeCounts":{"Employee profile":{"best":90,"top":3},"Cached employee profile":{"best":65,"top":3},"Employee email":{"best":108,"top":3},"Cached employee email":{"best":42,"top":3},"Email validation":{"best":151,"top":3},"Cached email validation":{"best":27,"top":3},"Employee phone":{"best":59,"top":3},"Cached employee phone":{"best":28,"top":3},"Company profile":{"best":60,"top":3},"Cached company profile":{"best":13,"top":3},"Company headcount":{"best":15,"top":3},"Cached company headcount":{"best":7,"top":3},"Phone validation":{"best":42,"top":3},"Cached phone validation":{"best":15,"top":3},"Post comments":{"best":26,"top":3},"Post reactions":{"best":24,"top":3},"Employee lookalikes":{"best":6,"top":3},"Cached employee lookalikes":{"best":6,"top":3},"Company lookalikes":{"best":23,"top":3},"Cached company lookalikes":{"best":12,"top":3},"Company technologies":{"best":21,"top":3},"Cached company technologies":{"best":19,"top":3},"Company job count":{"best":6,"top":3},"Employee posts":{"best":31,"top":3},"Cached employee posts":{"best":2,"top":2},"Company posts":{"best":31,"top":3},"Cached company posts":{"best":1,"top":1},"Company funding":{"best":15,"top":3},"Cached company funding":{"best":12,"top":3},"Company jobs":{"best":28,"top":3},"Cached company jobs":{"best":5,"top":3},"Employee search":{"best":32,"top":3},"Cached employee search":{"best":16,"top":3},"Company search":{"best":18,"top":3},"Cached company search":{"best":12,"top":3},"Job search":{"best":28,"top":3},"Cached job search":{"best":3,"top":3},"Reverse email lookup":{"best":24,"top":3},"Cached reverse email lookup":{"best":25,"top":3},"Post search":{"best":23,"top":3},"Cached post search":{"best":5,"top":3},"Post details":{"best":36,"top":3},"Job details":{"best":28,"top":3},"Employee comments":{"best":15,"top":3},"Cached employee comments":{"best":2,"top":2},"Employee reactions":{"best":12,"top":3},"Post reposts":{"best":8,"top":3},"Employee recommendations":{"best":6,"top":3},"Job lookalikes":{"best":3,"top":3},"Employee articles":{"best":5,"top":3},"Company enrichment":{"best":45,"top":3},"Cached company enrichment":{"best":59,"top":3},"People search":{"best":49,"top":3},"Cached people search":{"best":48,"top":3},"Company discovery":{"best":38,"top":3},"Cached company discovery":{"best":64,"top":3},"Job postings":{"best":5,"top":3},"Cached job postings":{"best":17,"top":3},"Job posting details":{"best":12,"top":3},"Cached job posting details":{"best":5,"top":3},"Person enrichment":{"best":11,"top":3},"Cached person enrichment":{"best":14,"top":3},"Leadership changes":{"best":4,"top":3},"Cached leadership changes":{"best":4,"top":3},"Company hierarchy":{"best":12,"top":3}},"bestPages":{"Employee profile":["/best-linkedin-profile-api","Best LinkedIn profile API in 2026"],"Cached employee profile":["/best-cached-linkedin-profile-api","Best cached LinkedIn profile API in 2026"],"Employee email":["/best-email-finder-api","Best email finder API in 2026"],"Cached employee email":["/best-cached-email-finder-api","Best cached email finder API in 2026"],"Email validation":["/best-email-verification-api","Best email verification API in 2026"],"Cached email validation":["/best-cached-email-verification-api","Best cached email verification API in 2026"],"Employee phone":["/best-phone-finder-api","Best phone finder API in 2026"],"Cached employee phone":["/best-cached-phone-finder-api","Best cached phone finder API in 2026"],"Company profile":["/best-linkedin-company-data-api","Best LinkedIn company data API in 2026"],"Cached company profile":["/best-cached-linkedin-company-data-api","Best cached LinkedIn company data API in 2026"],"Phone validation":["/best-phone-validation-api","Best phone validation API in 2026"],"Post comments":["/best-linkedin-post-comment-api","Best LinkedIn post comment API in 2026"],"Post reactions":["/best-linkedin-post-reaction-api","Best LinkedIn post reaction API in 2026"],"Company technologies":["/best-company-technology-api","Best company technology API in 2026"],"Cached company technologies":["/best-cached-company-technology-api","Best cached company technology API in 2026"],"Employee posts":["/best-linkedin-person-post-api","Best LinkedIn person post API in 2026"],"Company posts":["/best-linkedin-company-post-api","Best LinkedIn company post API in 2026"],"Cached company funding":["/best-company-funding-api","Best company funding API in 2026"],"Employee search":["/best-linkedin-people-search-api","Best LinkedIn people search API in 2026"],"Cached employee search":["/best-cached-linkedin-people-search-api","Best cached LinkedIn people search API in 2026"],"Company search":["/best-linkedin-company-search-api","Best LinkedIn company search API in 2026"],"Cached company search":["/best-cached-linkedin-company-search-api","Best cached LinkedIn company search API in 2026"],"Job search":["/best-linkedin-job-search-api","Best LinkedIn job search API in 2026"],"Cached job search":["/best-cached-linkedin-job-search-api","Best cached LinkedIn job search API in 2026"],"Reverse email lookup":["/best-reverse-email-lookup-api","Best reverse email lookup API in 2026"],"Cached reverse email lookup":["/best-cached-reverse-email-lookup-api","Best cached reverse email lookup API in 2026"],"Post search":["/best-linkedin-post-search-api","Best LinkedIn post search API in 2026"],"Post details":["/best-linkedin-post-details-api","Best LinkedIn post details API in 2026"],"Job details":["/best-linkedin-job-details-api","Best LinkedIn job details API in 2026"],"Employee comments":["/best-linkedin-person-comment-api","Best LinkedIn person comment API in 2026"],"Employee reactions":["/best-linkedin-person-reaction-api","Best LinkedIn person reaction API in 2026"],"Cached company enrichment":["/best-company-enrichment-api","Best company enrichment API in 2026"],"People search":["/best-people-search-api","Best people search API in 2026"],"Cached people search":["/best-cached-people-search-api","Best cached people search API in 2026"],"Cached company discovery":["/best-company-discovery-api","Best company discovery API in 2026"],"Cached job postings":["/best-job-postings-api","Best job postings API in 2026"],"Job posting details":["/best-job-posting-details-api","Best job posting details API in 2026"],"Cached person enrichment":["/best-people-enrichment-api","Best people enrichment API in 2026"]},"first":[{"provider":"Anysite","api":"Cached email validation","website":"https://anysite.io","pricingPage":"https://anysite.io/pricing/api","pitch":"Verify email deliverability (syntax, MX, mailbox), or return a verdict already established for it.","strengths":[],"aggregators":[],"freshness":"1 year","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":"Starter","who":"anyone at least 18 years old or of the age of majority in their jurisdiction","billing":"monthly","charged":null,"topUp":null,"pay":49,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":15000,"unit":"credit","renews":"month","expires":"at every renewal: unused plan credits do not carry over","costUnits":40,"calls":375,"monthlyCap":null,"perThousand":130.6667,"waterfall":null,"listPerThousand":null,"overagePerThousand":116,"addons":[{"units":7000,"pay":20.3,"renews":"never","perThousand":116}],"notFoundPerThousand":130.6667,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["6,270 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":2483,"call":null,"method":"POST","path":"/api/emails/verify","send":"email; timeout","fields":["email","status","is personal","MX provider","resolved by"]},{"provider":"APIVerve","api":"Cached email validation","website":"https://apiverve.com","pricingPage":"https://apiverve.com/pricing","pitch":"Stop fake and mistyped emails before they reach your list.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":{"MX valid":"live","MX record":"live","null MX":"live","can receive mail":"live","has SPF":"live","has DMARC":"live"},"history":null,"keep":"You must not use the API [...] to cache, store, or redistribute Output beyond what the Documentation permits","use":"Free plan: \"Attribution required\", \"Non-commercial use\"; paid plans: \"Commercial license\", \"No attribution required\" (pricing page). Terms: \"You must not use the API to build a product that materially replicates or competes with the Product itself, to exceed or evade quotas, or to cache, store, or redistribute Output beyond what the Documentation permits.\" [...] \"you agree not to use the Products to violate any law, infringe any right, harm any person, transmit malicious code, harvest data unlawfully, circumvent security or usage limits, disrupt or overload our infrastructure, or resell or redistribute raw Product access in a manner the Product is not sold for.\"","plan":"Starter","who":"anyone 13 or over (under 18 only with the permission of a parent or legal guardian)","billing":"monthly","charged":null,"topUp":null,"pay":29.99,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":200000,"unit":"credit","renews":"month","expires":"credits reset each billing cycle, no rollover","costUnits":20,"calls":10000,"monthlyCap":null,"perThousand":2.999,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":0,"catchAllPerThousand":2.999,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["386 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":1,"concurrent":5,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/v1/emailvalidator","send":"email","fields":["email address","domain","username","regex valid","has typo","MX valid","valid","free email","company email","disposable","role account","MX record","null MX","can receive mail","has SPF","has DMARC","subaddressed","normalized email","did you mean","risk score","risk level"]},{"provider":"BigDataCloud","api":"Cached email validation","website":"https://www.bigdatacloud.com","pricingPage":"https://www.bigdatacloud.com/pricing","pitch":"Accepting an invalid email address at the point of entry creates problems downstream — bounced emails, failed OTP delivery, dirty CRM data, and in some cases fraudulent signups using disposable addresses. This API validates an email address before it reaches your database.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"Whenever you use our Services in any capacity you agree that you will not use them: in any manner prohibited by these terms and conditions or any other policy or set of restrictions published on our Website; for any unlawful purpose; at a frequency or in a way that is likely to make the system inaccessible to third parties; or for the purpose of creating, developing, refining or otherwise supporting a product or service that competes with our business, without our prior written permission [...] You may not at any time download, scrape or reverse engineer our services, API or Website.","plan":"Silver","who":"anyone with an account, giving true and complete information about themselves, their business and their contact details","billing":"monthly","charged":null,"topUp":null,"pay":79.9,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":100000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":100000,"monthlyCap":null,"perThousand":0.799,"waterfall":null,"listPerThousand":null,"overagePerThousand":0.799,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Phone Number Validation API","Phone Number Validation by IP Address API"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":"no limit","batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/data/email-verify","send":"emailAddress","fields":["email address","valid","syntax valid","mail server defined","known spammer domain","disposable"]},{"provider":"Botoi","api":"Cached email validation","website":"https://botoi.com","pricingPage":"https://botoi.com/pricing/","pitch":"Validates an email address with format checking, MX record verification, disposable domain detection, free provider detection, role-based address detection, and typo suggestions.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":{"MX found":"live","MX records":"live"},"history":null,"keep":"no limit","use":"By obtaining and using an API key, You agree to: Keep Your API key confidential and not share it with unauthorized parties; Not exceed the rate limits associated with Your plan tier; Not use the API for any unlawful purpose or to transmit harmful content; Not attempt to circumvent authentication, rate limiting, or other security measures; Not resell or redistribute API access without prior written consent from the Company","plan":"Starter","who":"anyone 18 or older","billing":"monthly","charged":null,"topUp":null,"pay":9,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":10000,"unit":"request","renews":"day","expires":"resets daily at midnight UTC","costUnits":1,"calls":10000,"monthlyCap":null,"perThousand":0.03,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["150 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":10000,"perSecond":0.5,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Validate an email address","method":"POST","path":"/v1/email/validate","send":"email","fields":["success","email address","valid","format valid","MX found","MX records","disposable","free provider","role address","domain","local part","did you mean","request ID","time taken"]},{"provider":"Bouncer","api":"Cached email validation","website":"https://www.usebouncer.com","pricingPage":"https://www.usebouncer.com/pricing/","pitch":"Bouncer Email Verification API lets you validate email address and verify its deliverability, in the way you want. It’s easy to integrate, powerful, robust, secure, ultrafast and affordable.","strengths":[],"aggregators":[],"freshness":"24 hours","fieldFreshness":null,"history":null,"keep":"no limit","use":"In order to use our Services, you must agree to verify only email addresses for which the Recipients have granted you verifiable permission for the messages to be sent – all Recipients must have opted-in to receive communications from you. [...] You may not use our Services to: verify email addresses without the subscriber’s permission to receive email communications from your entity; verify purchased lists (whether they are opt-in or not); verify harvested email addresses from web sites or other sources; verify permutations of email addresses; verify generated email addresses. [...] You may: verify email addresses for which a user has opted-in to receive email communications from you; verify email addresses provided by your end-users via a sign-up form. [...] As a user of the Site, you agree not to: [...] use any information obtained from the Site in order to harass, abuse, or harm another person; use the Site as part of any effort to compete with us or otherwise use the Site and/or the Content for any revenue-generating endeavor or commercial enterprise [...]; use the Site in a manner inconsistent with any applicable laws or regulations.","plan":"Monthly Subscription, 100,000 credits","who":"anyone 18 or over with a work email; a private one (Gmail, Hotmail) only after writing to Bouncer first","billing":"monthly","charged":null,"topUp":null,"pay":320,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":100000,"unit":"credit","renews":"month","expires":"never","costUnits":1,"calls":100000,"monthlyCap":null,"perThousand":3.2,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":0,"catchAllPerThousand":3.2,"bounceRefund":"money back (a credit or refund) for an address it said deliverable that bounces within 72 hours of the check, for an objective reason, not spam or soft bounces","repeatFree":"24 hours","alsoPaysFor":[],"sharesBudgetWith":["Verify email","Create batch request","Verify domain","Create toxicity list job","Email Verification"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":1.67,"concurrent":null,"batch":10000,"answer":"in the call","latencyMs":null,"call":"Process with email verification queue","method":"POST","path":"/v1.1/email/verify/batch/sync","send":"email; Content-Type","fields":["email","status","reason","domain","accept all","disposable","free","role","disabled","full mailbox","DNS type","DNS record","provider","score","toxic","toxicity","retry after","did you mean"]},{"provider":"BounceZero","api":"Cached email validation","website":"https://bouncezero.io","pricingPage":"https://bouncezero.io/pricing","pitch":"Integrate email verification directly into your sign-up forms, CRM pipelines, and data workflows with a single API call. BounceZero returns 65+ signal fields in JSON - including classification, score, SMTP result, catch-all status, and plain-English explanation.","strengths":[],"aggregators":[],"freshness":"7 days","fieldFreshness":null,"history":null,"keep":"no limit","use":"You may not access or use the Services for any purpose other than that for which we make the Services available. The Services may not be used in connection with any commercial endeavours 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. [...] Use the Services to validate email addresses for the purpose of sending unsolicited commercial email (spam) in violation of applicable anti-spam legislation, including but not limited to the CAN-SPAM Act, GDPR, and PECR.","plan":"Starter","who":"anyone 18 or over with the legal capacity to accept the terms","billing":"one-time","charged":null,"topUp":false,"pay":6,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":2000,"unit":"credit","renews":"never","expires":"never, as long as your account stays active","costUnits":1,"calls":2000,"monthlyCap":null,"perThousand":3,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":3,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Verify Single Email","Verify Realtime (SSE)","Verify Bulk (JSON)","Verify Bulk (CSV Upload)"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":1.67,"concurrent":null,"batch":100,"answer":"in the call","latencyMs":null,"call":"Verify Batch","method":"POST","path":"/verify/batch","send":"emails","fields":["results","email","score","classification","is deliverable","risk level","syntax check","domain valid check","not disposable check","not catch-all check","mailbox verified check","internal classification","refunded","catch-all unresolved","SMTP confirmed","response time","explanation","threat type","summary"]},{"provider":"Byteplant","api":"Cached email validation","website":"https://www.byteplant.com/phone-validator/","pricingPage":"https://www.byteplant.com/email-validator/pricing.html","pitch":"The Bulk API allows you to upload up to 100K email addresses for validation with a single API request.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"The Customer is granted a non-exclusive right to use the services to the agreed extent. The offered services are intended for normal business use. [...] The Customer shall not exceed the agreed scope of use of the services, allow third parties to use them, or make them accessible to third parties. In particular, the Customer is not permitted to reproduce, sell, or temporarily lease the underlying software or parts thereof, or to rent or loan the software or access to the services. [...] Byteplant may revoke the Customer's access authorization and/or terminate the contract if the Customer significantly exceeds the permitted use, significantly deviates from normal usage, or if there are indications that the Customer is not using the services in accordance with the contract (e.g., Namespace Mining).","plan":"Monthly, 50,000 credits","who":"businesses and professionals with a business email","billing":"monthly","charged":null,"topUp":null,"pay":661,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":50000,"unit":"credit","renews":"month","expires":"never, unused credits roll over","costUnits":1,"calls":50000,"monthlyCap":null,"perThousand":13.22,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Real-Time Email Verification API"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":100000,"answer":"by polling or webhook","latencyMs":null,"call":"Bulk Email Validation API","method":"POST","path":"/api/bulk-verify","send":"Request Body (file); TaskName, ValidationMode, NotifyEmail, NotifyURL","fields":["status","info"]},{"provider":"ContactOut","api":"Cached email validation","website":"https://contactout.com","pricingPage":"https://contactout.com/pricing","pitch":"Verify your email list to Reduce bounce rates, Protect sender reputation and Reach high-quality prospects","strengths":[],"aggregators":[],"freshness":"1 hour","fieldFreshness":null,"history":null,"keep":"governed by the subscription agreement and subscription order form entered into between you and ContactOut; they prevail over its Terms of Use","use":"governed by the subscription agreement and subscription order form entered into between you and ContactOut; they prevail over its Terms of Use","plan":"Team / API","who":"anyone","billing":"contact","charged":null,"topUp":null,"pay":null,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"credit","renews":null,"expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":null,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["LinkedIn Profile API from LinkedIn URL","LinkedIn Profile API from email address","People Enrich API","Contact Info API - Single","Contact Info API - Bulk","Company information from domains","People Search API","Decision Makers API","Company Search API","Email to LinkedIn API","Hashed Email API","People Count API","Contact Checker API - Personal Email Checker","Contact Checker API - Work Email Checker","Contact Checker API - Phone Number Checker"],"sharesBudgetWith":["Email Verifier API - Single"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":16.67,"concurrent":null,"batch":100,"answer":"by polling or webhook","latencyMs":null,"call":"Email Verifier API - Bulk","method":"POST","path":"/v1/email/verify/batch","send":"emails; callback_url","fields":["job ID","job status","result"]},{"provider":"EasyEmailAPI","api":"Cached email validation","website":"https://easyemailapi.com","pricingPage":"https://easyemailapi.com","pitch":"Check email syntax, MX records, disposable addresses, and free email providers before accepting a signup. Integrate email validation into your backend with a JSON API; Pro adds SMTP inbox and catch-all checks.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":{"valid MX":"live","MX":"live"},"history":null,"keep":"no limit","use":"free of charge for both personal and commercial use, within the limits and fair-use policies described here [...] You agree not to: Use the Service for unsolicited or bulk email activity (spam). Circumvent rate limits or disrupt Service availability. Resell or redistribute API access without written permission. We reserve the right to suspend or limit usage that negatively impacts performance or security.","plan":"Free","who":"anyone","billing":"free","charged":null,"topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":5000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":5000,"monthlyCap":null,"perThousand":0,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/api/verify/{email}","send":"email","fields":["email","valid","user","domain","TLD","role","disposable","free email","valid MX","MX","sub-address","score","max score","inbox check enabled"]},{"provider":"Elastic Email","api":"Cached email validation","website":"https://elasticemail.com","pricingPage":"https://elasticemail.com/email-api-pricing","pitch":"Validate and optimize your email lists at once. Boost deliverability, reduce bounces, and enhance your email sending performance with our precise verification tool.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"You agree that you will at all times use the Services in a manner consistent with: these Terms; the Acceptable Use Policy; any other applicable rules, policies, and guidelines established by Elastic in respect of the Services. [...] You represent and warrant that your use of the Services will comply with all applicable laws and regulations, including, without limitation, all applicable anti-spam and privacy laws [...] you will not send any emails other than Transactional Messages (as defined in Section 2.4) unless the email recipients have provided you with valid consent under the Regulations to receive communications from you. [...] Do not send email to purchased, rented or third-party email lists of any kind.","plan":"Email API Starter (100,000 emails/month)","who":"anyone at least the age of majority in their jurisdiction, with a registered account","billing":"monthly","charged":null,"topUp":null,"pay":29,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":100000,"unit":"request","renews":"month","expires":"the limit resets each month, along with the billing cycle","costUnits":1,"calls":100000,"monthlyCap":null,"perThousand":0.29,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Send Bulk Emails: 100,000 emails per month","View Email","Get Status","Send Bulk Emails CSV: 100,000 emails per month","Send Transactional Email: 100,000 emails per month","Get Suppressions","Get Suppression","Delete Suppression","Get Bounce List","Add Bounces","Add Bounces Async","Get Complaints List","Add Complaints","Add Complaints Async","Get Unsubscribes List","Add Unsubscribes","Add Unsubscribes Async","Load Events: 3 days of email logs","Load Email Events: 3 days of email logs","Load Channel Events: 3 days of email logs","Export Channel Events: 3 days of email logs","Check Channel Export Status","Export Events: 3 days of email logs","Check Export Status","Load Statistics","Load Campaigns Stats","Load Campaign Stats","Load Channels Stats","Load Channel Stats"],"sharesBudgetWith":["Verify Email","Start verification"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":20,"batch":null,"answer":"by polling","latencyMs":null,"call":"Upload File with Emails","method":"POST","path":"/verifications/files","send":"file","fields":["email address","account","domain","suggested spelling","disposable","role","reason","date added","result","predicted score","predicted status","verification ID","file name","verification status","emails count","duplicated emails count","source"]},{"provider":"Email Hippo","api":"Cached email validation","website":"https://www.emailhippo.com","pricingPage":"https://www.emailhippo.com/pricing","pitch":"Verify emails instantly with Email Hippo MORE. Prevent fake sign-ups, reduce fraud, and improve data accuracy with our secure, high-speed API.","strengths":[],"aggregators":[],"freshness":"30 days","fieldFreshness":null,"history":null,"keep":"no limit","use":"solely for Your internal business purposes. For the avoidance of doubt, You may not: (a) Modify, change or create any derivative works of Email Hippo Services, including translation or localization; (b) Copy, decompile, disassemble, decrypt, reverse engineer, or otherwise attempt to derive the source code for Email Hippo Services; (c) Redistribute, encumber, sell, rent, lease, sublicense, display, publish, disclose or otherwise transfer rights to Email Hippo Services, in whole or in part, to any other person or entity; (d) Remove or alter any trademark, logo, copyright or other proprietary notices, legends, symbols or labels in Email Hippo Services; (e) Permit any unauthorized person to access or use the Email Hippo Services or use the Hosted Services to provide services to third parties; (f) Interfere with or disrupt the integrity or performance of the Email Hippo Service or Hosted Services or the data contained therein; or (g) Attempt to gain unauthorized access to the service or its related systems or networks or make any alteration to the Platform, except as permitted by the documentation. You agree to comply with all applicable laws and regulations in connection with Your use of Email Hippo Services","plan":"MORE 100,000 Edition 2 (Monthly)","who":"anyone, as an individual or a duly authorized representative for an entity (USD, GBP or EUR set by country)","billing":"monthly","charged":null,"topUp":null,"pay":468,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":100000,"unit":"request","renews":"month","expires":"at each 30-day quota reset, no rollover","costUnits":1,"calls":100000,"monthlyCap":null,"perThousand":4.68,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":4.68,"catchAllPerThousand":4.68,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"GET email address verification result","method":"GET","path":"/v3/more/json/{k}/{e}","send":"e","fields":["API version","API version doc","record last modified at","cache expires at","email","top-level domain","domain","subdomain","local part","email MD5 hash","email SHA-1 hash","email SHA-256 hash","role address","free email","syntax valid","syntax reason","DNS found","MX found","domain IP addresses","www IP addresses","MX record preference","MX record exchange","MX record IP addresses","TXT records","primary result code","secondary reason code","service type identifier","mail server location","SMTP banner","web server alive","inbox quality score","send recommendation","disposable","dark web","gibberish domain","gibberish user","domain risk score","format risk score","profanity risk score","overall risk score","action recommendation","blocklist name","blocklisted","blocklist reason","blocklist details","spam trap","spam trap type","trust score","trust level","Gravatar image URL","Gravatar profile URL","syntax check time","DNS lookup time","spam assessment time","mailbox check time","web ping time","other processing time","execution time","diagnostic key"]},{"provider":"EmailDetective","api":"Cached email validation","website":"https://emaildetective.io","pricingPage":"https://emaildetective.io/pricing","pitch":"EmailDetective is an API that focuses on email validation and legitimacy scoring, helping to identify whether an email address is valid, gibberish, deliverable or disposable.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"a temporary copy: “Permission is granted to temporarily download one copy of the materials”; when the license ends, “you must destroy any downloaded materials in your possession whether in electronic or printed format”","use":"“By accessing this web site, you are agreeing to be bound by these web site Terms and Conditions of Use, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws.” [...] “Permission is granted to temporarily download one copy of the materials (information or software) on EmailDetective's web site for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not: modify or copy the materials; use the materials for any commercial purpose, or for any public display (commercial or non-commercial); attempt to decompile or reverse engineer any software contained on EmailDetective's web site; remove any copyright or other proprietary notations from the materials; or transfer the materials to another person or \"mirror\" the materials on any other server. This license shall automatically terminate if you violate any of these restrictions and may be terminated by EmailDetective at any time.”","plan":"Basic","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":19,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":25000,"unit":"credit","renews":"month","expires":null,"costUnits":1,"calls":25000,"monthlyCap":null,"perThousand":0.76,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Bulk email validation","CSV email validation"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Email validation","method":"GET","path":"/emails/{emailAddress}","send":"emailAddress","fields":["email","user","domain","did you mean","first name","last name","valid email","valid SPF","valid DMARC","valid MX","valid TLD","nonsense","role","free","disposable","score","suspicion rating"]},{"provider":"Emailit","api":"Cached email validation","website":"https://emailit.com","pricingPage":"https://emailit.com/pricing/","pitch":"Verify email addresses one at a time via API or 10,000 at once. Syntax, MX, disposable, role, catch-all, mailbox checks and AI gibberish detection.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":{"has MX records":"live"},"history":null,"keep":"no API terms","use":"no API terms","plan":"Pay as you go","who":"entrepreneurs acting in the course of their business","billing":"one-time","charged":null,"topUp":true,"pay":20,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":100000,"unit":"credit","renews":"never","expires":"never","costUnits":5,"calls":20000,"monthlyCap":null,"perThousand":1,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":1,"catchAllPerThousand":1,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Verify an address in full mode","Create a verification list","API or SMTP email","Inbound email received","Campaign email","Automation run"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Verify an address","method":"POST","path":"/email-verifications","send":"email; mode \"fast\"","fields":["verification ID","object","email address","status","score","risk","result","mode","valid syntax","disposable","role account","free email","gibberish","has MX records","domain age","mailbox","domain","suffix","root address","did you mean","MX record priority","MX record exchange","created at","updated at"]},{"provider":"FirstSales","api":"Cached email validation","website":"https://firstsales.io","pricingPage":"https://firstsales.io/developers/","pitch":"Check email addresses, DNS records and cold email copy from your own code, with no key.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"You agree to use the Service only for lawful B2B commercial outreach, and to follow all laws and regulations that apply. You must not do any of the following: [...] Resell, sublicense or white-label the Service, or make it available to anyone else, without written permission from FirstSales first. [...] Use automated scripts, bots or other tools to put artificial load on, overload or interfere with the Service's systems or the systems of mailbox providers. [...] Get around or turn off any rate limits, sending caps or security controls built into the Service.","plan":"Public, no key","who":"anyone at least 18 years old, for B2B commercial use only","billing":"free","charged":null,"topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":0,"calls":null,"monthlyCap":null,"perThousand":0,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Score an email domain for disposable/temporary-mailbox risk","Detect whether a domain accepts mail to any mailbox (catch-all)","Run one specific DNS/email-authentication/security check against a domain","Look up and validate a domain's DKIM record","Run SPF, DKIM, DMARC, and MX checks together with a confidence score","Reverse-DNS (PTR) lookup for an IPv4 address, with forward-confirmation","Get a domain's registration age and expiration via RDAP","Fetch every DNS record type for a domain in one call","Discover subdomains via Certificate Transparency logs","Score email content for spam-trigger risk","Score and improve a cold-email subject line","Grade a full cold-email draft across 8 deliverability/effectiveness dimensions","Score and improve a cold-email body","Detect and score personalization signals in cold-email content","Create a temporary test inbox","Read the received emails for a test inbox","List public tutorials","Get one tutorial by slug","Service health check"],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":0.33,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/api/v1/email/validate","send":"email","fields":["valid","domain","domain exists","has MX record","reserved domain","disposable","free provider","MX records","MX priority","error","message"]},{"provider":"Hunter","api":"Cached email validation","website":"https://hunter.io","pricingPage":"https://hunter.io/pricing","pitch":"Verify any email address with a simple API call.","strengths":[],"aggregators":[{"aggregator":"Clay","url":"https://www.clay.com/integrations/action/verify-email-hunter","ownKey":"no Data Credits, 1 Action per call (Actions start at less than $0.01 each)","paid":true,"perThousand":null,"usd":null,"per":"result","resultsPerPage":null,"callStated":true},{"aggregator":"Deepline","url":"https://deepline.com/integrations/hunter","ownKey":"free for 50,000 calls a month, then $5.00 per 1,000","paid":true,"perThousand":15,"usd":0.015,"per":"result","resultsPerPage":null,"callStated":true},{"aggregator":"Monid","url":"https://monid.ai/tools/hunterio","ownKey":null,"paid":true,"perThousand":12.25,"usd":0.01225,"per":"result","resultsPerPage":null,"callStated":true},{"aggregator":"Orthogonal","url":"https://orthogonal.com/discover/hunter","ownKey":null,"paid":true,"perThousand":10,"usd":0.01,"per":"call","resultsPerPage":null,"callStated":true},{"aggregator":"PayPerQ","url":"https://ppq.ai/data-providers","ownKey":null,"paid":true,"perThousand":34.5,"usd":0.0345,"per":"call","resultsPerPage":null,"callStated":true},{"aggregator":"treg","url":"https://treg.to/catalog/endpoints/hunter.people.email.verify","ownKey":"free","paid":true,"perThousand":12.25,"usd":0.01225,"per":"call","resultsPerPage":null,"callStated":true}],"freshness":"1 month","fieldFreshness":null,"history":null,"keep":"Data minimization: not storing data beyond what is needed for the stated purpose.","use":"Data accessed through Hunter may be used for the following purposes: B2B outreach and prospecting: identifying and contacting relevant professional contacts at target companies for legitimate business purposes, sales, marketing, partnership, or recruitment, where the individual is being contacted in their professional capacity. [...] CRM enrichment: verifying or enriching a company’s existing B2B contact database, where the individuals are professional contacts with whom a business relationship is sought or maintained. [...] Internal research and analysis: internal analysis of company-level contact patterns for legitimate business intelligence purposes. This does not extend to bulk export of individual-level personal data for redistribution, resale, or use outside the permitted purposes in this section. [...] API integration and testing: technical integration and testing of the API using test accounts and non-production data environments. [...] The following uses are prohibited under Hunter’s Terms of Service and, in many cases, applicable law. Sending unsolicited bulk commercial email using Hunter data, in violation of CAN-SPAM, CASL, the EU ePrivacy Directive, or equivalent applicable law. [...] Contacting individuals in a harassing, threatening, or abusive manner; facilitating stalking, doxing, or targeted harassment campaigns; sharing Hunter data in contexts designed to expose individuals to harm, ridicule, or unwanted public attention. [...] Processing Hunter data in violation of applicable data protection law; combining Hunter data with special category data to build legally non-compliant profiles; sharing or reselling Hunter data to third parties without prior written authorization from Hunter. [...] Using Hunter data for political campaigning, voter outreach, or micro-targeting based on inferred political opinions. [...] Using Hunter-sourced email addresses for credential stuffing, phishing, account compromise, or social engineering attacks. [...] Contacting individuals as private consumers rather than in a professional B2B context. Hunter’s database is limited to professional contact data and must not be used for B2C marketing. [...] Using Hunter data as the sole input to automated mass outreach sequences with no individualized relevance or genuine business purpose, i.e. spam with a company name attached. [...] Under this license you may not: Build a similar or competitive service without Hunter’s prior written consent.","plan":"Scale","who":"anyone 18 or over (in India, businesses only)","billing":"monthly","charged":null,"topUp":null,"pay":299,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":25000,"unit":"credit","renews":"month","expires":"at the monthly reset, credits don't roll over","costUnits":0.5,"calls":50000,"monthlyCap":null,"perThousand":5.98,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[{"units":100,"pay":5,"renews":"never","perThousand":25},{"units":1000,"pay":35,"renews":"never","perThousand":17.5},{"units":10000,"pay":200,"renews":"never","perThousand":10}],"notFoundPerThousand":0,"catchAllPerThousand":5.98,"bounceRefund":null,"repeatFree":"the same billing month","alsoPaysFor":["Discover: 900 included AI searches a month","Add a recipient to a sequence: 15,000 recipients per sequence, 30,000,000 Saved Leads"],"sharesBudgetWith":["Domain Search","Email Finder","Email Finder (Found)","Multi-Domain Search reveal","Email Enrichment","Company Enrichment","Combined Enrichment"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":5,"concurrent":null,"batch":1,"answer":"in the call or by polling","latencyMs":1949,"call":"Email Verifier","method":"GET","path":"/email-verifier","send":"email; domain_metadata","fields":["status","result","score","email","syntax valid","gibberish","disposable","free email","MX found","SMTP server reachable","SMTP check passed","catch-all","SMTP check blocked","verification ID","verification date","verification status","source ID","source domain","source URL","source first seen date","source last seen date","source still on page","deprecation notice","domain","company name","following domain","free email domain","search parameters"]},{"provider":"IP-API.io","api":"Cached email validation","website":"https://ip-api.io","pricingPage":"https://ip-api.io/","pitch":"Geolocation, ASN, fraud detection, email validation, and threat intelligence — all via one fast, reliable API.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no API terms","use":"no API terms","plan":"Small","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":10,"currency":"EUR","exchangeRate":1.1253,"termMonths":1,"from":null,"graduated":null,"units":100000,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":100000,"monthlyCap":null,"perThousand":0.1125,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Advanced email validation: 10,000 requests a month"],"sharesBudgetWith":["IP geolocation","Batch IP lookup","Risk score","DNS lookups","Domain lookups","Tor detection","IP reputation"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Comprehensive email validation and analysis","method":"GET","path":"/api/v1/email/{email}","send":"email","fields":["email address","disposable","has MX records","MX records","domain","username","syntax valid","syntax error reasons"]},{"provider":"KaijuVerifier","api":"Cached email validation","website":"https://kaijuverifier.com","pricingPage":"https://kaijuverifier.com/pricing","pitch":"Block fake signups, burner accounts, and hard bounces at the edge in 3 lines of code.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":{"DNS valid":"live","MX count":"live","MX providers":"live","MX grade":"live"},"history":null,"keep":"no limit","use":"You agree NOT to use the Service for: Sending SPAM or unsolicited bulk emails; Verifying email lists obtained illegally or without consent; Any activity that violates GDPR, CAN-SPAM, or other data protection laws; Attempting to reverse engineer, hack, or abuse the Service; Reselling or redistributing verification results without authorization","plan":"Starter","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":19,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":10000,"unit":"credit","renews":"month","expires":"unused monthly credits roll over to the next billing cycle, up to 1x the monthly limit","costUnits":1,"calls":10000,"monthlyCap":null,"perThousand":1.9,"waterfall":null,"listPerThousand":null,"overagePerThousand":2,"addons":[{"units":5000,"pay":19,"renews":"never","perThousand":3.8},{"units":25000,"pay":79,"renews":"never","perThousand":3.16},{"units":100000,"pay":249,"renews":"never","perThousand":2.49},{"units":500000,"pay":899,"renews":"never","perThousand":1.798}],"notFoundPerThousand":0,"catchAllPerThousand":0,"bounceRefund":"the verification credits in full, when the campaign's hard-bounce rate exceeds 2% on addresses verified as Valid","repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Verify a batch synchronously","Submit an async bulk job","Verify a single email with the SMTP probe (authenticated)","Verify a batch synchronously with the SMTP probe","Submit an async bulk job with the SMTP probe"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Verify a single email (authenticated)","method":"POST","path":"/api/v1/verify-single","send":"email; use_smtp","fields":["success","email","normalized email","safe to send","status","reason","confidence","score","grade","did you mean","syntax valid","DNS valid","catch-all","disposable","role address","free provider","MX count","MX providers","MX grade","quota limit","quota used this month","quota remaining"]},{"provider":"Mailgun","api":"Cached email validation","website":"https://www.mailgun.com","pricingPage":"https://www.mailgun.com/pricing/","pitch":"See better results from your email list. Embed our email validation API into your site, form, or application to automatically verify all incoming addresses before you hit send.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"You may use the Services for commercial and professional purposes only [...] With respect to any of the Services' email verification features or functionality, you may not: use the Services to verify the email address(es) of any person who has not affirmatively consented (i.e., opted-in) to, or who has expressly opted-out from receiving email communications from you; use the Services to validate email addresses that were purchased, rented or similarly obtained from a third party (i.e., third party email lists); or, use the Services to harvest or generate email addresses or otherwise determine the existence of unknown email addresses","plan":"Foundation, 50,000 emails a month, next 50,000 validations","who":"professional use only, not minors under the age of 18","billing":"monthly","charged":null,"topUp":null,"pay":455,"currency":"USD","exchangeRate":1,"termMonths":1,"from":50001,"graduated":true,"units":null,"unit":"credit","renews":"month","expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":5,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":["Send email API (50,000 emails a month)"],"sharesBudgetWith":["Single Validation"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":5,"batch":"no limit","answer":"by polling or webhook","latencyMs":null,"call":"Bulk Validation","method":"POST","path":"/v4/address/validate/bulk/{list_id}","send":"list_id; file","fields":["job ID","job status","created at","list size","records processed","download URL","result summary","risk summary","engaged","bot"]},{"provider":"MailSift","api":"Cached email validation","website":"https://mailsift.dev","pricingPage":"https://mailsift.dev/pricing","pitch":"MailSift is a fast, accurate email verification API and bulk CSV validator. It detects invalid, disposable, role-based, and risky email addresses using syntax, MX, SPF, DMARC, SMTP, and catch-all checks, returning a status and a 0–100 deliverability score.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":{"MX":"live","SPF":"live","DMARC":"live"},"history":null,"keep":"no limit","use":"You may not use MailSift to: send unsolicited email; harass individuals; build databases of contact information for sale; circumvent rate limits or terms; or for any unlawful purpose. [...] You are responsible for having a lawful basis to process the email addresses you submit, including, where applicable, consent under the GDPR. [...] We grant you a non-transferable, revocable license to use the service for its intended purpose.","plan":"Starter","who":"anyone 16 or older","billing":"one-time","charged":null,"topUp":false,"pay":10,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":25000,"unit":"credit","renews":"never","expires":"never","costUnits":1,"calls":25000,"monthlyCap":null,"perThousand":0.4,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":0,"catchAllPerThousand":0.4,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Verify one email with Deep Verification","Verify up to 100 emails at once","Verify up to 100 emails at once with Deep Verification","Verify a CSV in bulk","Verify a CSV in bulk with Deep Verification"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Verify one email","method":"GET","path":"/verify","send":"email; mode, Idempotency-Key","fields":["email","status","sub-status","score","mode","credits used","domain","MX records","free check","response time","checked at","engine version","normalized email","did you mean","MX provider","domain age","blocklist listings","SPF record","DMARC record","DMARC policy","catch-all confidence","reasons","syntax valid","free provider","disposable","MX","parked","relay","SPF","DMARC","catch-all","role address","blocklisted","MX routable","forwarder","SMTPUTF8","MTA-STS","TLS-RPT","BIMI"]},{"provider":"MailValid","api":"Cached email validation","website":"https://mailvalid.io","pricingPage":"https://mailvalid.io/pricing","pitch":"MailValid's email verification API checks syntax, DNS/MX records, and SMTP mailbox existence in a single REST call, returning a result in under 500ms.","strengths":[],"aggregators":[],"freshness":"30 days","fieldFreshness":null,"history":null,"keep":"no limit","use":"You agree NOT to use the Service to: Verify email addresses obtained without consent (spam, scraping, purchased lists); Violate any applicable laws, including anti-spam regulations (CAN-SPAM, GDPR, etc.); Resell, sublicense, or redistribute access to the Service without written permission; Attempt to reverse-engineer, decompile, or extract the Service's underlying technology; Exceed rate limits or attempt to disrupt the Service's infrastructure; Use the Service for any illegal, harmful, or fraudulent purpose","plan":"MailValid Plus 50,000 credits","who":"anyone at least 18 years old","billing":"monthly","charged":null,"topUp":null,"pay":79,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":50000,"unit":"credit","renews":"month","expires":"never, unused credits roll over","costUnits":1,"calls":50000,"monthlyCap":null,"perThousand":1.58,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[{"units":5000,"pay":19,"renews":"never","perThousand":3.8},{"units":10000,"pay":38,"renews":"never","perThousand":3.8},{"units":25000,"pay":79,"renews":"never","perThousand":3.16},{"units":50000,"pay":119,"renews":"never","perThousand":2.38},{"units":100000,"pay":179,"renews":"never","perThousand":1.79},{"units":250000,"pay":399,"renews":"never","perThousand":1.596},{"units":500000,"pay":599,"renews":"never","perThousand":1.198},{"units":1000000,"pay":899,"renews":"never","perThousand":0.899}],"notFoundPerThousand":0,"catchAllPerThousand":1.58,"bounceRefund":"the equivalent credits of misverified emails, on a batch of 1,000+ below 99% accuracy, reported with its batch ID and bounce rate data and confirmed","repeatFree":"never","alsoPaysFor":[],"sharesBudgetWith":["Bulk Email Verification"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":3.33,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":906,"call":"Single Email Verification","method":"POST","path":"/api/v1/verify/single","send":"email","fields":["success","credits used","email","status","is valid","syntax valid","domain","domain valid","has MX","MX records","SMTP checked","SMTP response code","disposable","role based","catch all","free provider","confidence score","status reason","provider","verification time","cached"]},{"provider":"SalesQL","api":"Cached email validation","website":"https://salesql.com","pricingPage":"https://salesql.com/pricing","pitch":"Reduce bounce rates and ensure your emails reach real inboxes with our reliable email verifier.","strengths":[],"aggregators":[],"freshness":"120 days","fieldFreshness":null,"history":null,"keep":"right to access Profile Data through the Services for the Customer's internal business purposes during the Subscription Term [...] On termination of these Terms or expiry of the Subscription Term: [...] the Customer must cease all use of Profile Data obtained from the Services, except for Profile Data that the Customer has lawfully integrated into its own systems and is processing as an independent controller in accordance with applicable law and these Terms [...] Where SalesQL informs the Customer that a Business Contact has objected to processing or has been removed from the Profiles Database, the Customer will, without undue delay, suppress that Business Contact's data in the Customer's own systems","use":"SalesQL grants the Customer a limited, non-exclusive, non-transferable, revocable right to access Profile Data through the Services for the Customer's internal business purposes during the Subscription Term. [...] The Customer must not, and must not allow any End User or third party to: access or use the Services in violation of applicable law, third-party rights, or these Terms; copy, modify, translate, adapt or create derivative works of the Services or the Profiles Database, except as expressly permitted; [...] create or operate multiple Accounts (including under different identities, email addresses or organisations) to obtain additional free-tier or promotional credits, or to evade rate limits, credit limits, suppressions or other restrictions under these Terms or the AUP (see the AUP, Section 4); access, scrape, copy or download the Services or the Profiles Database in bulk, including by means of automated tools other than SalesQL's official API or MCP Server used in accordance with the Documentation and the applicable rate limits; resell, sublicense, rent, lease, distribute or transfer the Services or the Profiles Database to any third party, or use the Services to provide services to third parties on a service-bureau, white-label or hosted basis; [...] attempt to circumvent any security, authentication, rate-limit, or access-control mechanism of the Services; [...] use the Services to develop a competing product or to benchmark the Services for the purpose of building a competing product. [...] the Customer must not: use Profile Data to build or contribute to a competing B2B contact database, sales-intelligence platform or data broker; combine Profile Data with consumer data or other data sets in a way that would create a profile for non-business purposes; use Profile Data for credit, employment, housing or insurance decisions; sell, license or otherwise commercialise Profile Data to third parties. [...] The Customer will not use the Services to target Recipients on the basis of, or to send communications relating to, special categories of personal data, including health, religion, political opinions, sexual orientation, trade-union membership, or other categories that benefit from heightened protection under applicable law, except where the Customer has obtained the explicit consent of the Recipient or has another valid lawful basis. The Customer will not use the Services for any of the following purposes: consumer-targeted marketing, except where the Recipient has provided informed consent under applicable laws; communications relating to gambling, adult content, weapons, controlled substances, get-rich-quick schemes, multi-level-marketing schemes, or fraudulent or deceptive schemes; harassment, threats, defamation, hate speech or unlawful discrimination; communications targeting individuals identified as employed by, or affiliated with, government, judicial, military, intelligence or law-enforcement institutions in their capacity as such, where such targeting would constitute interference with public functions under applicable law; communications relating to political campaigns or elections, except where the Customer is registered with the applicable electoral authorities and has complied with all applicable election laws; communications relating to personal injury solicitation, debt collection, or consumer financial products, except where the Customer is licensed to engage in those activities under applicable law; any other purpose prohibited by the AUP. [...] Data accessed or generated through a Customer-Authorized Tool is used exclusively by the Customer and its End Users for the Customer's internal business purposes, and is not redistributed, resold, sublicensed, made available, or otherwise disclosed to any third party, including the operator of the Customer-Authorized Tool except as strictly necessary for the technical operation of that tool on the Customer's behalf. [...] Making automated requests against non-public or undocumented endpoints is prohibited and can result in account suspension.","plan":"Premium","who":"at least 18 years old and capable of entering into a legally binding contract; for businesses and other organisations, not for personal, family or household use","billing":"monthly","charged":null,"topUp":null,"pay":119,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":20000,"unit":"credit","renews":"month","expires":null,"costUnits":1,"calls":20000,"monthlyCap":null,"perThousand":5.95,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":5.95,"catchAllPerThousand":5.95,"bounceRefund":null,"repeatFree":"never","alsoPaysFor":["Enrich Person: 12,000 credits a month","Email Lookup Person: 12,000 credits a month","Bulk Enrich Persons: 12,000 credits a month"],"sharesBudgetWith":["Bulk Verify Emails"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/emails/verify","send":"email","fields":["email","status","catch-all","problematic MX","valid MX","email type","from cache"]},{"provider":"Skrapp","api":"Cached email validation","website":"https://skrapp.io","pricingPage":"https://skrapp.io/pricing","pitch":"Check whether an email address is deliverable before you send to it. Add enrich=true to also get the company behind a professional address.","strengths":[],"aggregators":[],"freshness":"30 days","fieldFreshness":null,"history":null,"keep":"no limit","use":"you agree NOT to carry out such behavior within the platform or using data provided by Skrapp. In this regard, it is forbidden to : Resell Skrapp services without authorization, as well as to carry out any commercial use of the information extracted using our Services. [...] Transmit the insertion of messages or advertisements without complying with the legal requirements, and / or is considered to be spam and / or carrying out spamming behaviors (sending spam or unsolicited messages). [...] Collect, or attempt to collect, personal information of a third party without their knowledge or consent and / or without compliance with applicable personal data laws and regulations and/or the Data processing agreement.","plan":"Enterprise 50K","who":"anyone 18 or over","billing":"monthly","charged":null,"topUp":null,"pay":349,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":50000,"unit":"credit","renews":"month","expires":"unused credits roll over to the next month","costUnits":1,"calls":50000,"monthlyCap":null,"perThousand":6.98,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":null,"notFoundPerThousand":6.98,"catchAllPerThousand":6.98,"bounceRefund":"never","repeatFree":"no limit","alsoPaysFor":[],"sharesBudgetWith":["Email Finder","Bulk Email Finder","Bulk Email Verifier","Company enrich","Company bulk enrich"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":1129,"call":"Email Verifier","method":"GET","path":"/v3/verify","send":"email; enrich","fields":["email","domain","email status","message","format","mailbox status","mailbox type","mailbox exchange","consumed credit","company ID","company name","company domain","company website","company industry","company type","company logo","company employee range","company founded year","company revenue range","company headquarters address","company city","company country","company LinkedIn URL"]},{"provider":"StableEnrich","api":"Cached email validation","website":"https://stableenrich.dev","pricingPage":"https://stableenrich.dev/llms.txt","pitch":"Check if email addresses exist in the Minerva database. Returns validation status and last-seen timestamp. Use before resolve/enrich to pre-screen lists.","strengths":[],"aggregators":[],"freshness":"1 day","fieldFreshness":null,"history":null,"keep":"as the terms of the provider whose data it is say (\"Third-party data is subject to the respective provider's terms and conditions\"), StableEnrich's own setting no limit: PDL People Enrich's, People Data Labs': \"Data returned in API endpoints may not be saved in Customer databases (“Cached Data”) for longer than necessary to perform actions permitted via Service License.\"; Minerva Enrich's, Minerva's, until the agreement ends: \"Upon expiration or termination of this Agreement: (i) the rights granted pursuant to Section 4(a) [...] will terminate\"","use":"StableEnrich's terms, 4. Acceptable Use: \"You agree to use the Service only for lawful purposes. You shall not:\" \"Use data obtained through the Service to harass, stalk, or harm individuals\"; \"Violate any applicable laws, including data protection and privacy regulations\"; \"Resell or redistribute data in a manner that violates upstream provider terms\"; \"Attempt to circumvent payment requirements or exploit vulnerabilities in the Service\"; \"Use the Service for spam, phishing, or fraudulent activities\"; 5: \"Third-party data is subject to the respective provider's terms and conditions.\"; 6: \"Your use of such data is subject to their terms. You may not claim ownership of data retrieved through the Service or use it in ways that infringe on third-party rights.\"; Merit Systems' terms, 8. Acceptable Use: \"You may not use the Services to:\" \"violate any law, regulation, court order, sanction, or third-party right\"; \"harass, threaten, stalk, defame, exploit, or harm any person or entity\"; \"send spam, phishing, robocalls, deceptive outreach, or malware\"; \"scrape, enrich, surveil, profile, or use personal data in a manner that is unlawful, discriminatory, abusive, or without any required consent or lawful basis\"; \"impersonate another person or entity or misrepresent affiliation, authority, or origin\"; \"generate, host, upload, send, distribute, or facilitate illegal, infringing, fraudulent, or harmful content\"; \"use the Services or any output, data, enrichment, score, ranking, recommendation, or other result as a consumer report, investigative consumer report, or for determining a person's eligibility for employment, hiring, contracting, compensation, credit, lending, underwriting, housing, insurance, education, government benefits, licenses, immigration status, or any other purpose regulated by the Fair Credit Reporting Act or analogous law\"; \"evade payment requirements, fees, rate limits, moderation systems, anti-abuse controls, or access restrictions\"; \"probe, attack, reverse engineer, interfere with, or degrade the Services or supporting infrastructure, except to the extent prohibited by applicable law\"; \"use the Services for emergency services, weapons, unlawful surveillance, or other prohibited high-risk use cases.\"; \"You are solely responsible for ensuring that your conduct, communications, content, inputs, data sources, automations, and downstream use of outputs comply with all applicable law.\"; 7: \"You are solely responsible for verifying legality, consent, accuracy, and downstream rights before using any result.\"; PDL People Enrich's data, People Data Labs' Services Subscription Agreement: 2.2.1 \"a limited, revocable, non-exclusive, non-transferable, non-sublicensable right to license, access, and use the Data provided to Customer during the Subscription Period for the following purposes: (i) to display PDL-supplied Data to Customer’s own clients who engage with the data (“End Users”) on Customer’s platform or within Customer’s product; (ii) to maintain PDL-supplied Data in Customer’s database for the purpose of performing calculations and mapping PDL Data against Customer Data (as defined in 11.2); (iii) for any permitted uses outlined in Customer Order Form.\"; 1.3 \"Cached Data may not be provided or displayed to more than one End User.\"; 2.6.1 \"Customer shall not, and shall not permit any client or third party that may have access to the Data to: (i) resell, sublicense, distribute or otherwise provide access to the Services, Data, or information contained in or derived from the Services, to any third party or use the Services outside the scope of the license granted herein; (ii) copy, modify, adapt, translate, prepare derivative works from, reverse engineer, disassemble, or decompile the Services or otherwise attempt to discover any source code or trade secrets related to the Services; or (iii) use the trademarks, trade names, service marks, logos, domain names and other distinctive brand features or any copyright or other proprietary rights associated with the Services for any purpose without the express written consent of PDL.\"; 2.6.2 \"Customer may not use, resell, authorize or permit anyone to use, license, or make available Data they obtain from PDL, for any purposes prohibited in the Acceptable Data Use Policy.\"; 2.6.3 \"Customer may not build products from the Data that resemble or compete with PDL products. (I.e. Customer may not provide programmatic access to the Data to End Users in any way that would allow them access to any substantial set of the Data features or a material portion of the Data.)\"; 2.9 \"FCRA uses are prohibited in the ADUP.\"; its Acceptable Data Use Policy: \"you agree not to use, and not to encourage or allow any client or End User to use, the PDL Services in the following prohibited ways:\" \"In connection with or in any way encourage any illegal, fraudulent, abusive, or similar activities.\"; \"To promote or advertise guns, ammunition, or weapons, adult content or services (such as pornography), credit repair services, payday loan services, tobacco or marijuana products except with prior signed authorization from People Data Labs.\"; \"To promote or advertise any product or service that violates intellectual property rights, such as the sale of counterfeit products.\"; \"To promote particular company stock purchases.\"; \"For any form of debt collection.\"; \"For hard background check purposes.\"; \"To determine eligibility for a government license or benefit.\"; \"To “re-identify” pseudonymous information (such as a cookie identifier) by merging it with personally identifiable information (such as an email address).\"; \"For any purpose prohibited by applicable data privacy and security laws, including the General Data Protection Regulation (Regulation (EU) 2016/679) (“GDPR”), the California Consumer Privacy Act or any similar state or national laws.\"; \"For the purposes of training Gen AI systems or models that can generate derived synthetic content, including text, images, video, and audio, that emulates the structure and characteristics of the system’s training data.\"; \"For the benefit of any one political candidate, political party, political campaign or advocacy group affiliated exclusively with or formed to benefit any one political candidate, political party or political campaign.\"; \"To benefit any government agency operating as an intelligence agency to support national security, military, and foreign policy objectives.\"; \"Any evidentiary purpose related to law enforcement or criminal prosecution, such as to establish as an evidentiary matter that a particular person is associated with a particular data element (as you understand that such data elements may be subject to errors in accuracy, currency or transcription), provided that (subject to the foregoing restriction) such data may be used for investigative, analytics or validation purposes.\"; \"In connection with any purpose covered by the Fair Credit Reporting Act, 15 U.S.C. Sec. 1681 et seq. (\"FCRA\"), Federal Trade Commission interpretations of the FCRA, and similar federal and state statutes including for any purposes enumerated in the FCRA in lieu of obtaining a Consumer Report; or use or provide services or data provided by PDL for the preparation of a Consumer Report or in such a manner that may cause such data to be characterized as a Consumer Report.\"; \"Customer agrees that it will not use or provide any data or services it receives from PDL:\" \"In connection with establishing a consumer's eligibility for credit or insurance to be used primarily for personal, family or household purposes, or in connection with assessing risks associated with existing credit obligations of a consumer\"; \"For the purpose of evaluating a consumer for employment, promotion, reassignment or retention as an employee\"; \"For any tenancy verification or in connection with any application to rent real property\"; \"In connection with a determination of a consumer's eligibility for a license or other benefit that depends on an applicant's financial responsibility or status\"; \"As a potential investor or servicer, or current insurer, in connection with a valuation of, or assessment of credit or prepayment risks associated with, an existing credit obligation\"; \"In connection with any information, service or product sold or delivered to a “Consumer” (as that term is defined in the FCRA) that constitutes or is derived in substantial part from a Consumer Report\"; \"In connection with eligibility for any government benefit or service\"; \"For any eligibility decision made by a government pertaining but not limited to assistance to natural persons for housing, food, energy, health care, licensure, education, medical costs or any other form of government assistance or benefit.\"; \"For any other purpose under the FCRA\"; \"Customer agrees it will not take any “Adverse Action” (as that term is defined in the FCRA), which is based in whole or in part on PDL's services or data, against any Consumer.\"; Minerva Enrich's data, Minerva's Terms of Service: 4(a) \"right to use (and permit Authorized Users to use) the Services and Output Data in accordance with the Documentation and the terms of this Agreement for Customer’s internal business purposes.\"; 4(b) \"Customer will not and will not permit any person or entity (including, without limitation, Authorized Users) to, directly or indirectly:\" \"I. Use the Services or Output Data to develop or supplement a “Consumer Report” that is subject to the Fair Credit Reporting Act; as a factor in establishing an individual’s eligibility for credit or insurance to be used primarily for personal, family or household, or employment purposes; or for any other permissible purpose authorized under the Fair Credit Reporting Act for Consumer Reports;\" \"II. Copy, modify or create any derivative work of any portion of the Services, Output Data or the Documentation;\" \"III. Reverse engineer, decompile, decode, or disassemble or otherwise attempt to derive or gain improper access to any software component of the Services, in whole or in part;\" \"IV. Frame, mirror, sell, resell, market, sublicense, publish, distribute, reproduce, assign, transfer, rent, lease or loan any portion of the Services or Output Data to any other person or entity, or otherwise allow any person or entity to use the Services or Output Data for any purpose other than for the benefit of Customer in accordance with this Agreement;\" \"V. Use the Services, Output Data or Documentation in any manner or for any purpose that infringes, misappropriates, or otherwise violates any Intellectual Property Rights or other right of any person or entity, or that violates any applicable law;\" \"VI. Interfere with, or disrupt the integrity or performance of, the Services, or any data or content contained therein or transmitted thereby;\" \"VII. Access or search the Services (or download any data or content contained therein or transmitted thereby, including Output Data) through the use of any engine, software, tool, agent, device or mechanism (including spiders, robots, crawlers, or any other similar data mining tools) other than software or Services features provided by Minerva for use expressly for such purposes;\" \"VIII. Provide any Submitted Data that is considered “sensitive personal information”, “sensitive data”, or another analogous term under applicable laws;\" \"IX. Use the Services or Output Data in any manner that is unlawful, illegal, discriminatory, or harms (whether physically or emotionally), deceives, defrauds or misleads a third party, Minerva, its service providers, suppliers or any other user, including, without limitation: (A) Any use for improper investment purposes in any entity whose information appears as part of the Services or Output Data; (B) Any use to advertise or promote any goods or services (or send any other communications) that are illegal in the place offered or consumers; (C) Any use to advertise or promote adult service (such as pornography or escort services), tobacco products, illegal gambling, counterfeit or pirated goods or services, or violate any securities or commodities regulations (such as to support a “pump and dump” scheme); (D) Any use to communicate or transmit content that is defamatory, dishonest, obscene, sexually explicit, pornographic, vulgar or offensive; (E) Any use to promote or engage in discrimination, racism, harassment or hate speech against any individual or group; (F) Any use to threaten or promote violence; (G) Any use to locate suspects in a civil or criminal lawsuit in order to develop a news story; (H) Any use to track down victims of fraud, their family members or friends to develop a news; (I) Any use to locate lost loves, friends, family members or for personal reasons (dating, etc.); (J) Any use to search for individuals involved in an adoption (children, parents, siblings, etc.); (K) Any use to locate personal information on well-known/high-profile celebrities or government officials; (L) Any use in connection with credit repair services, to locate previous debtors or to assist in the determination of whether or not to file a personal lawsuit or judgment against the subject of the report; (M) Any use to access individual reference data on oneself or out of personal curiosity;\" \"X. Use the Services or any Output Data to send marketing communications to individuals about whom Output Data relates unless Customer has independently obtained consent for such marketing communications directly from the individuals or such marketing communications are otherwise permitted by applicable laws;\" \"XI. Use the Services in such a way that you would be deemed to be engaging in the offering or solicitation of investments in securities;\" \"XII. Use, extract, download or retrieve Output Data, in whole or in part, to train or finetune an artificial intelligence system, or to provide or reproduce Output Data, in whole or in part, as a prompt or input to any such system;\"","plan":"Pay per request with x402 or MPP","who":"anyone 18 or over, not in a jurisdiction where use is prohibited, paying in USDC from a wallet on Base, Solana or Tempo","billing":"on-demand","charged":"per call","topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"usd","renews":null,"expires":null,"costUnits":0.000005,"calls":null,"monthlyCap":null,"perThousand":0.005,"waterfall":null,"listPerThousand":0.005,"overagePerThousand":null,"addons":null,"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"result","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":2000,"answer":"in the call","latencyMs":null,"call":"Minerva Validate Emails","method":"POST","path":"/api/minerva/validate-emails","send":"records","fields":["request ID","email address","found","validation status","last seen","response timestamp"]},{"provider":"Strale","api":"Cached email validation","website":"https://strale.dev","pricingPage":"https://strale.dev/pricing","pitch":"Validate an email address: RFC 5322 syntax, MX records, 5,361 disposable domain detection, role-based address detection (35 patterns), free provider detection, and typo suggestion for common providers (gmial.com ? gmail.com). Returns deliverability assessment with per-check breakdown.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"You agree not to use the Service to: break the law, evade sanctions, or facilitate fraud; process personal data of EU/UK data subjects without an appropriate lawful basis; circumvent rate limits, quotas, or the Service’s authentication; resell the Service as your own or build a competing product whose primary purpose is to mirror Strale’s capability catalog; scrape or systematically extract Strale’s own metadata (capability descriptions, test results, pricing) outside of the documented public endpoints; use AI-assisted capability outputs as the sole basis for decisions with legal or significant effects on a person without human review [...] You retain all rights to the data you send to the Service and to the structured responses you receive.","plan":"Prepaid wallet","who":"anyone","billing":"one-time","charged":null,"topUp":true,"pay":10,"currency":"EUR","exchangeRate":1.1253,"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":["392 other calls"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":null,"resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":10,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":"Email Validation","method":"POST","path":"/v1/do","send":"capability_slug \"email-validate\", inputs.email; max_price_cents, require_fresh, dry_run","fields":["email address","valid","domain","MX records","format valid","disposable","has MX records","role address","free provider","reason"]},{"provider":"Sweep Emails","api":"Cached email validation","website":"https://sweepemails.com","pricingPage":"https://sweepemails.com/#pricing","pitch":"Sweep Emails API verifies email validity and detects disposable providers in real-time, giving you clean data, reduced fraud, and higher conversion rates.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no API terms","use":"no API terms","plan":"Professional","who":"anyone","billing":"monthly","charged":null,"topUp":null,"pay":11.99,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":6500,"unit":"request","renews":"month","expires":null,"costUnits":1,"calls":6500,"monthlyCap":null,"perThousand":1.8446,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":null,"catchAllPerThousand":null,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":[],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"POST","path":"/v1/check","send":"email, Content-Type header \"application/json\"","fields":["code","email address","disposable","disposable provider"]},{"provider":"UserCheck","api":"Cached email validation","website":"https://www.usercheck.com","pricingPage":"https://www.usercheck.com/#pricing","pitch":"Check new signups, existing users, and imported lists with one API call that returns every signal you need, including disposable email detection that catches domains public blocklists miss.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no limit","use":"You may not use our Services: For unlawful purposes; To support spam or fraud; To damage or impair our services; In violation of any applicable laws. You may not resell, sublicense, share, or redistribute UserCheck data or API results to third parties without our written agreement. This includes incorporating our data into products or services used by others.","plan":"Pro 500k","who":"anyone aged 16 or over, or the age of consent in their jurisdiction","billing":"monthly","charged":null,"topUp":null,"pay":100,"currency":"USD","exchangeRate":1,"termMonths":1,"from":null,"graduated":null,"units":500000,"unit":"credit","renews":"month","expires":"at the start of each billing cycle, unused credits do not roll over","costUnits":1,"calls":500000,"monthlyCap":null,"perThousand":0.2,"waterfall":null,"listPerThousand":null,"overagePerThousand":null,"addons":[],"notFoundPerThousand":0,"catchAllPerThousand":0.2,"bounceRefund":null,"repeatFree":null,"alsoPaysFor":[],"sharesBudgetWith":["Domain lookup","Gates decision"],"startPerCall":null,"startPerCallMax":null,"monthlyFee":null,"monthlyFeePer":null,"extras":[],"per":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":15,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/email/{email}","send":"email; include_mx","fields":["status code","email address","normalized email address","domain","domain age in days","has MX records","MX records","MX providers","SPF posture","DMARC policy","disposable","public domain","relay domain","free subdomain","alias","role account","spam","did you mean","domain authority","TLD trust","disposable provider","blocklisted"]},{"provider":"X402 Farm","api":"Cached email validation","website":"https://api.x-402.online","pricingPage":"https://api.x-402.online","pitch":"Check whether an email address is well-formed and its domain can receive mail, before you send.","strengths":[],"aggregators":[],"freshness":"stored","fieldFreshness":null,"history":null,"keep":"no API terms","use":"no API terms","plan":"x402 pay per call","who":"anyone","billing":"on-demand","charged":"per call","topUp":null,"pay":0,"currency":"USD","exchangeRate":1,"termMonths":null,"from":null,"graduated":null,"units":null,"unit":"request","renews":null,"expires":null,"costUnits":1,"calls":null,"monthlyCap":null,"perThousand":5,"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":"call","resultsPerPage":null,"resultsCap":null,"perDay":null,"perSecond":null,"concurrent":null,"batch":1,"answer":"in the call","latencyMs":null,"call":null,"method":"GET","path":"/v1/email/verify","send":"email","fields":["deliverable","MX present","SPF present","DMARC policy","disposable domain"]}],"total":611,"freshness":["Live","Within an hour","Within a day","Within a week","Within a month","Within a year","Stored, age unknown"],"providers":[{"label":"A to Ea","kids":[{"label":"Anysite","value":"Anysite on its own site"},{"label":"APIVerve","value":"APIVerve on its own site"},{"label":"BigDataCloud","value":"BigDataCloud on its own site"},{"label":"Botoi","value":"Botoi on its own site"},{"label":"Bouncer","value":"Bouncer on its own site"},{"label":"BounceZero","value":"BounceZero on its own site"},{"label":"Byteplant","value":"Byteplant on its own site"},{"label":"ContactOut","value":"ContactOut on its own site"},{"label":"EasyEmailAPI","value":"EasyEmailAPI on its own site"}],"range":true},{"label":"El to K","kids":[{"label":"Elastic Email","value":"Elastic Email on its own site"},{"label":"EmailDetective","value":"EmailDetective on its own site"},{"label":"Email Hippo","value":"Email Hippo on its own site"},{"label":"Emailit","value":"Emailit on its own site"},{"label":"FirstSales","value":"FirstSales on its own site"},{"label":"Hunter","value":"Hunter on its own site"},{"label":"IP-API.io","value":"IP-API.io on its own site"},{"label":"KaijuVerifier","value":"KaijuVerifier on its own site"}],"range":true},{"label":"M to X","kids":[{"label":"Mailgun","value":"Mailgun on its own site"},{"label":"MailSift","value":"MailSift on its own site"},{"label":"MailValid","value":"MailValid on its own site"},{"label":"SalesQL","value":"SalesQL on its own site"},{"label":"Skrapp","value":"Skrapp on its own site"},{"label":"StableEnrich","value":"StableEnrich on its own site"},{"label":"Strale","value":"Strale on its own site"},{"label":"Sweep Emails","value":"Sweep Emails on its own site"},{"label":"UserCheck","value":"UserCheck on its own site"},{"label":"X402 Farm","value":"X402 Farm on its own site"}],"range":true}],"at":[1,8,17,26,47,57,108,114,116,122,274,307,315,321,325,449,469,512,524,558,570,574,591,599,602,605,610],"fields":{"Cached email validation":["disposable","domain","email","email address","status","did you mean","score","MX records","syntax valid","free provider","valid","free email","role address","catch-all","has MX records","reason","result","role","blocklisted","DMARC policy","MX found","normalized email","role account","success","valid MX","verification ID","company name","created at","credits used","disposable provider","domain age","format valid","free","gibberish","job ID","job status","local part","message","mode","MX","MX provider","MX providers","MX record exchange","provider","request ID","response time","risk level","user","username","verification status","accept all","account","action recommendation","alias","API version","API version doc","BIMI","blocklist details","blocklist listings","blocklist name","blocklist reason","bot","cache expires at","cached","can receive mail","catch all","catch-all confidence","catch-all unresolved","checked at","classification","code","company city","company country","company domain","company email","company employee range","company founded year","company headquarters address","company ID","company industry","company LinkedIn URL","company logo","company revenue range","company type","company website","confidence","confidence score","consumed credit","dark web","date added","deliverable","deprecation notice","diagnostic key","disabled","disposable domain","DMARC","DMARC record","DNS found","DNS lookup time","DNS record","DNS type","DNS valid","domain age in days","domain authority","domain exists","domain IP addresses","domain risk score","domain valid","domain valid check","download URL","duplicated emails count","email MD5 hash","email SHA-1 hash","email SHA-256 hash","email status","email type","emails count","engaged","engine version","error","execution time","explanation","file name","first name","following domain","format","format risk score","forwarder","found","free check","free email domain","free subdomain","from cache","full mailbox","gibberish domain","gibberish user","grade","Gravatar image URL","Gravatar profile URL","has DMARC","has MX","has MX record","has SPF","has typo","inbox check enabled","inbox quality score","info","internal classification","is deliverable","is personal","is valid","known spammer domain","last name","last seen","list size","mail server defined","mail server location","mailbox","mailbox check time","mailbox exchange","mailbox status","mailbox type","mailbox verified check","max score","MTA-STS","MX count","MX grade","MX present","MX priority","MX record","MX record IP addresses","MX record preference","MX record priority","MX routable","MX valid","nonsense","normalized email address","not catch-all check","not disposable check","null MX","object","other processing time","overall risk score","parked","predicted score","predicted status","primary result code","problematic MX","profanity risk score","public domain","quota limit","quota remaining","quota used this month","reasons","record last modified at","records processed","refunded","regex valid","relay","relay domain","reserved domain","resolved by","response timestamp","result summary","results","retry after","risk","risk score","risk summary","role based","root address","safe to send","search parameters","secondary reason code","send recommendation","service type identifier","SMTP banner","SMTP check blocked","SMTP check passed","SMTP checked","SMTP confirmed","SMTP response code","SMTP server reachable","SMTPUTF8","source","source domain","source first seen date","source ID","source last seen date","source still on page","source URL","spam","spam assessment time","spam trap","spam trap type","SPF","SPF posture","SPF present","SPF record","status code","status reason","sub-address","sub-status","subaddressed","subdomain","suffix","suggested spelling","summary","suspicion rating","syntax check","syntax check time","syntax error reasons","syntax reason","threat type","time taken","TLD","TLD trust","TLS-RPT","top-level domain","toxic","toxicity","trust level","trust score","TXT records","updated at","valid DMARC","valid email","valid SPF","valid syntax","valid TLD","validation status","verification date","verification time","web ping time","web server alive","www IP addresses"]},"same":["api","strengths","waterfall","resultsCap","startPerCall","monthlyFee","extras","history"],"facets":["defaults","provider","price","fields","billing","who","freshness","use","answer","paysFor"],"ties":{"Cached email validation":{"tied":["Botoi, $9 monthly","Botoi, $9 monthly, Starter","BounceZero, $6 pack","BounceZero, $6 pack, Starter","Byteplant, $661 monthly","Byteplant, $661 monthly, Monthly, 50,000 credits","ContactOut, contact us","ContactOut, contact us, Team / API","Elastic Email, $29 monthly","Elastic Email, $29 monthly, Email API Starter (100,000 emails/month)","EmailDetective, $19 monthly","EmailDetective, $19 monthly, Basic","KaijuVerifier, $19 monthly","KaijuVerifier, $19 monthly, Starter","MailSift, $10 pack","MailSift, $10 pack, Starter","MailValid, $79 monthly","MailValid, $79 monthly, MailValid Plus 50,000 credits","Mailgun, $455 monthly","Mailgun, $455 monthly, Foundation, 50,000 emails a month, next 50,000 validations","Skrapp, $349 monthly","Skrapp, $349 monthly, Enterprise 50K","Strale, top-up from €10","Strale, top-up from €10, Prepaid wallet","Strale, top-up from €10, Prepaid wallet, POST /v1/do"],"movedPages":{"Botoi, $9 monthly, Starter, POST /v1/email/validate":"/cached-email-validation-apis/botoi/9-monthly"},"canonicals":{"Anysite":"free","APIVerve":"free","BigDataCloud":"free","Botoi\nPOST /v1/email/validate":"free","Botoi":"free-free-post-v1-disposable-email-check","Bouncer":"free","BounceZero":"free-free-post-verify-batch","Byteplant":"free-trial-post-api-bulk-verify","Elastic Email":"free-email-api-free","Email Hippo":"free","EmailDetective\nGET /emails/{emailAddress}":"free-free-get-emails-emailaddress","EmailDetective":"free-free-post-emails","Emailit":"free","Hunter":"free","IP-API.io":"free","KaijuVerifier\nPOST /api/v1/verify-single":"free-free-post-api-v1-verify-single","KaijuVerifier":"free-free-post-api-v1-jobs","Mailgun":"15-monthly-basic-10000-emails-a-month-post-v4-address-validate-bulk-list-id","MailSift\nGET /verify":"free-free-get-verify","MailSift":"free-free-post-verify-bulk","MailValid\nPOST /api/v1/verify/single":"free-free-post-api-v1-verify-single","MailValid":"free-free-post-api-v1-verify-bulk","SalesQL":"79-monthly","Skrapp\nGET /v3/verify":"349-monthly-enterprise-50k-get-v3-verify","Skrapp":"349-monthly-enterprise-50k-get-v3-verify-bulk","Strale\nPOST /v1/do\nEmail Validation":"free-trial-credits-post-v1-do-email-validation","Strale":"free-trial-credits-post-v1-do-bulk-email-validation","Sweep Emails":"free","UserCheck":"free","X402 Farm":"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 emails 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 emails 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 emails a page holds. On a flat fee, we take the most emails 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 emails the plan allows. On a flat fee with no cap on emails, 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 emails 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 emails than the units pay for, we divide the plan's price by the emails 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 emails. We also leave it blank when the provider's website doesn't say what an email costs on this plan, or how many emails 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 emails the provider can't check. 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 emails 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 email 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, PayPerQ, pipe0, RouterGrowth and treg.","waterfall":"Some routers, like treg's, try one provider after another until one finds the email. 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 email. 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 an email over all its calls. We assume each provider finds emails 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 an email 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 an email again without using up the limit after you first get the email. We copy it from the provider's pages, like \"20 minutes\". \"no limit\" means the provider never charges again for an email you paid for once. \"never\" means the provider says it charges each time you get the email again. Blank when the provider's pages don't say.","per":"The price counts a \"call\" or a \"result\". A call asks for one email. A result is each email 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 email 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 emails 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 emails 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 email, like an Apify Actor's start fee. You pay the same fee for a call of 1,000 emails or a call of one email. 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 emails you get past the plan's units, when the provider sells extra emails.","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 emails you get for the plan's price, counted in per. A call and a result are each one email. 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 email 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 emails 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 emails you get. Enough for is also blank on pay as you go plans, on top-ups, and on subscriptions that charge for each email 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 emails 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: an email. 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 yearly subscription"},"defaults":["No contact us plans","No free plans","No yearly plans","$500 or less to start"],"kept":27,"paid":{"ranked":{"Cached email validation":[0,0,0.005,0.0066,0.0066,0.0066,0.0163,0.0163,0.0163,0.03,0.03,0.03,0.1125,0.1429,0.1667,0.2,0.2395,0.2395,0.249,0.249,0.249,0.25,0.2527,0.2527,0.269,0.269,0.2812,0.2812,0.2829,0.2829,0.2829,0.29,0.29,0.2986,0.2986,0.315,0.315,0.326,0.326,0.338,0.338,0.3475,0.3475,0.349,0.349,0.35,0.35,0.35,0.3633,0.3633,0.3635,0.3635,0.38,0.38,0.3817,0.3817,0.3843,0.3843,0.3933,0.3933,0.395,0.395,0.396,0.396,0.398,0.398,0.4,0.4,0.4,0.4725,0.4725,0.5,0.59,0.59,0.596,0.596,0.596,0.5967,0.5967,0.636,0.636,0.645,0.645,0.6583,0.6583,0.6583,0.66,0.66,0.7091,0.7091,0.7091,0.76,0.76,0.76,0.799,0.825,0.825,0.825,0.8909,0.8909,0.8909,0.96,0.96,0.96,0.98,0.98,0.98,0.98,0.98,0.995,0.998,0.998,1,1.196,1.196,1.25,1.29,1.29,1.5,1.58,1.58,1.596,1.596,1.596,1.596,1.62,1.688,1.745,1.745,1.79,1.79,1.8446,1.9,1.9,1.9,1.9267,1.9267,1.9998,2.09,2.09,2.2533,2.2533,2.38,2.38,2.38,2.38,2.49,2.49,2.49,2.6263,2.8,2.8,2.8,2.8,2.8,2.8,2.8,2.8,2.8,2.8,2.9,2.9,2.999,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3.16,3.16,3.16,3.16,3.16,3.16,3.16,3.2,3.8,3.8,3.8,3.8,3.8,3.8,3.8,3.92,3.92,4,4,4,4,4.68,4.8,5,5,5,5,5.6,5.95,5.98,5.9867,5.9867,6,6,6.24,6.38,6.38,6.725,6.725,6.98,6.98,7,7.28,7.3,7.3,7.45,7.9,7.95,7.95,8,8,8,8.6,8.6,8.663,8.6633,8.84,8.84,8.9,8.9,9.6827,9.6833,9.88,9.88,11.6,11.6,11.8,11.8,12,12,12,12,12,12,12.25,18,18,19.6,19.6,19.8,19.8,32.4,43,43,63.1579,80,80,80,130.6667,216]},"bench":{"Cached email validation|Hunter|/email-verifier":{"data":0.7628,"performance":0.24987172909184197,"median":1949,"measured":1949,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-21"],"row":"Hunter"},"Cached email validation|Skrapp|/v3/verify":{"data":0.5962,"performance":0.43135518157661645,"median":1129,"measured":1129,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-21"],"row":"Skrapp"},"Cached email validation|APIVerve|/v1/emailvalidator":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":8,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"APIVerve","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs."},"Cached email validation|Botoi|/v1/email/validate":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":18,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"Botoi","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs."},"Cached email validation|EasyEmailAPI|/api/verify/{email}":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"EasyEmailAPI","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs."},"Cached email validation|EmailDetective|/emails/{emailAddress}":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"EmailDetective","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs."},"Cached email validation|Emailit|/email-verifications|Verify an address":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"Emailit","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs."},"Cached email validation|KaijuVerifier|/api/v1/verify-single|Verify a single email (authenticated)":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"KaijuVerifier","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs."},"Cached email validation|MailValid|/api/v1/verify/single":{"data":0.5192,"performance":0.5375275938189845,"median":906,"measured":906,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"MailValid"},"Cached email validation|Strale|/v1/do|Email Validation":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-23"],"row":"Strale","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs.","charged":{"usd":0,"free":false,"cell":"$0, a free-tier capability","column":"Charged per address","group":"The validation call"}},"Cached email validation|Anysite|/api/emails/verify":{"data":0.8846,"performance":0.19613370922271445,"median":2483,"measured":2483,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-25"],"row":"Anysite"},"Cached email validation|Byteplant|/api/verify":{"data":0.5577,"performance":1,"median":487,"measured":487,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-25"],"row":"Byteplant"},"Cached email validation|MailSift|/verify|Verify one email":{"data":0,"performance":null,"median":null,"measured":null,"fastest":"Byteplant","fastestMedian":487,"fastestMeasured":487,"called":19,"inputs":19,"fewer":true,"days":["2026-10-25"],"row":"MailSift","untimed":"Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs."}},"free":["Cached email validation|EasyEmailAPI|/api/verify/{email}","Cached email validation|FirstSales|/api/v1/email/validate"]},"alert":true,"bench":{"groups":[{"name":"Addresses judged","note":"On 21, 23 and 25 October 2026, we sent each provider up to 19 addresses, all from the same list. We made one call per address. Time is each call minus a baseline, so the distance to the provider's servers drops out. Addresses whose fate we know. Called: the addresses we called each provider on. Real: we wrote to it, it got our mail and its owner wrote back. Bounced: our mail bounced from it, or it is made up at a domain that bounced us. Wrong means valid on a bounced one or invalid on a real one. Unsure is catch-all, unknown or risky. Where we called a provider more than once on an address, that address counts once, as the share of its calls that said so, so its counts can have a decimal.","columns":[{"name":"Called","kind":"count","values":{"Hunter":[19,19],"Skrapp":[19,19],"APIVerve":[8,19],"Botoi":[18,19],"EasyEmailAPI":[19,19],"EmailDetective":[19,19],"Emailit":[19,19],"KaijuVerifier":[19,19],"MailValid":[19,19],"Strale":[19,19],"Anysite":[19,19],"Byteplant":[19,19],"MailSift":[19,19]}},{"name":"Real, said valid","kind":"count","values":{"Hunter":[9,13],"Skrapp":[9,13],"APIVerve":[6,6],"Botoi":[13,13],"EasyEmailAPI":[13,13],"EmailDetective":[13,13],"Emailit":[13,13],"KaijuVerifier":[13,13],"MailValid":[7,13],"Strale":[13,13],"Anysite":[10,13],"Byteplant":[8,13],"MailSift":[10,13]}},{"name":"Bounced, said invalid","kind":"count","values":{"Hunter":[5,6],"Skrapp":[3,6],"APIVerve":[0,2],"Botoi":[0,5],"EasyEmailAPI":[0,6],"EmailDetective":[0,6],"Emailit":[0,6],"KaijuVerifier":[0,6],"MailValid":[3,6],"Strale":[0,6],"Anysite":[6,6],"Byteplant":[3,6],"MailSift":[0,6]}},{"name":"Wrong","kind":"count","values":{"Hunter":[0,19],"Skrapp":[0,19],"APIVerve":[2,8],"Botoi":[5,18],"EasyEmailAPI":[6,19],"EmailDetective":[6,19],"Emailit":[6,19],"KaijuVerifier":[4,19],"MailValid":[0,19],"Strale":[6,19],"Anysite":[0,19],"Byteplant":[0,19],"MailSift":[3,19]}},{"name":"Unsure","kind":"count","values":{"Hunter":[5,19],"Skrapp":[7,19],"APIVerve":[0,8],"Botoi":[0,18],"EasyEmailAPI":[0,19],"EmailDetective":[0,19],"Emailit":[0,19],"KaijuVerifier":[2,19],"MailValid":[9,19],"Strale":[0,19],"Anysite":[3,19],"Byteplant":[8,19],"MailSift":[6,19]}}]},{"name":"Time per address","note":"Each time is the call's time minus its baseline, for our first call on each address. We time only right answers. A wrong or unsure answer doesn't do the job, however fast. We didn't time every provider in the same test. Some days we added a provider and tested it beside providers we had tested before, on the same addresses. This sheet uses one of those tests. Each provider in it shows its time from that test. Every other provider shows its time from another test, often on another day. A provider's speed can change from one day to the next. We don't time any other repeat call on the same address, since the provider may answer it from answers it saved. If a call timed out, we sent it again. The provider then answered at once, because our first call had already started the check. We count that answer but not its time. 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 instead. We cap the baseline at the call's time, so no time drops below zero. Nothing to time means the call checks only the domain and skips the mailbox check, which takes most of the time in the other calls. A call with a Data score of 0 also shows Nothing to time. It can't tell a real address from a bounced one, so we don't time its right answers either. Its Performance score is then N/A. We mark a call Nothing to time when the provider's answer shows it reused checks it made for one of our earlier calls. A buyer's first call has no checks to reuse, so our time would be shorter than theirs.","columns":[{"name":"Median","kind":"ms","values":{"Hunter":1949,"Skrapp":1129,"APIVerve":null,"Botoi":null,"EasyEmailAPI":null,"EmailDetective":null,"Emailit":null,"KaijuVerifier":null,"MailValid":906,"Strale":null,"Anysite":2483,"Byteplant":487,"MailSift":null}},{"name":"10th percentile","kind":"ms","values":{"Hunter":378,"Skrapp":682,"APIVerve":null,"Botoi":null,"EasyEmailAPI":null,"EmailDetective":null,"Emailit":null,"KaijuVerifier":null,"MailValid":731,"Strale":null,"Anysite":829,"Byteplant":178,"MailSift":null}},{"name":"90th percentile","kind":"ms","values":{"Hunter":2579,"Skrapp":2076,"APIVerve":null,"Botoi":null,"EasyEmailAPI":null,"EmailDetective":null,"Emailit":null,"KaijuVerifier":null,"MailValid":2538,"Strale":null,"Anysite":3451,"Byteplant":1367,"MailSift":null}},{"name":"Fastest","kind":"ms","values":{"Hunter":161,"Skrapp":646,"APIVerve":null,"Botoi":null,"EasyEmailAPI":null,"EmailDetective":null,"Emailit":null,"KaijuVerifier":null,"MailValid":566,"Strale":null,"Anysite":777,"Byteplant":164,"MailSift":null}},{"name":"Slowest","kind":"ms","values":{"Hunter":4454,"Skrapp":2211,"APIVerve":null,"Botoi":null,"EasyEmailAPI":null,"EmailDetective":null,"Emailit":null,"KaijuVerifier":null,"MailValid":5387,"Strale":null,"Anysite":4051,"Byteplant":2217,"MailSift":null}},{"name":"Baseline","kind":"ms","values":{"Hunter":419,"Skrapp":281,"APIVerve":null,"Botoi":null,"EasyEmailAPI":null,"EmailDetective":null,"Emailit":null,"KaijuVerifier":null,"MailValid":293,"Strale":null,"Anysite":290,"Byteplant":369,"MailSift":null}}]},{"name":"The validation call","note":"The provider's own validation call, and what one address cost on this run.","columns":[{"name":"Call","kind":"text","values":{"Hunter":"GET api.hunter.io/v2/email-verifier","Skrapp":"GET api.skrapp.io/v3/verify","APIVerve":"GET api.apiverve.com/v1/emailvalidator","Botoi":"POST api.botoi.com/v1/email/validate","EasyEmailAPI":"GET easyemailapi.com/api/verify/{email}","EmailDetective":"GET api.emaildetective.io/emails/{emailAddress}","Emailit":"POST api.emailit.com/v2/email-verifications","KaijuVerifier":"POST kaijuverifier.com/api/v1/verify-single","MailValid":"POST mailvalid.io/api/v1/verify/single","Strale":"POST api.strale.io/v1/do capability_slug email-validate","Anysite":"POST api.anysite.io/api/emails/verify","Byteplant":"GET api.email-validator.net/api/verify","MailSift":"GET mailsift.dev/api/v1/verify"}},{"name":"Charged per address","kind":"text","values":{"Hunter":"$0.011","Skrapp":"$0.007","APIVerve":"$0.003","Botoi":"$0.00003","EasyEmailAPI":"$0.00019","EmailDetective":"$0.00076","Emailit":"$0.001","KaijuVerifier":"$0.0019, nothing when risky","MailValid":"$0.004, nothing when unknown","Strale":"$0, a free-tier capability","Anysite":"$0.1307","Byteplant":"$0.0132","MailSift":"$0.0004"}}]}],"inputs":{"said":"We don't list the 19 addresses we called, as they hold people's data.","keys":[],"rows":[]}},"more":"/assets/sheet-z-5JemVk.json"}