{"uid":"cap_yOx7XRp_CXUovoUyqmG5L","slug":"apify-contact-info-scraper-pay-per-call-via-x402-a284ce36","name":"Apify Contact Info Scraper (pay-per-call via x402)","description":"Search Apify Store actors, start actor runs, and fetch results over x402 and MPP.","url":"https://stableapify.dev/api/actors/vdrmota/contact-info-scraper/call","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"input":{"type":"object","required":["startUrls","mergeContacts","sameDomain","considerChildFrames","maximumLeadsEnrichmentRecords","verifyLeadsEnrichmentEmails","scrapeSocialMediaProfiles","useBrowser","waitUntil","proxyConfig"],"properties":{"maxDepth":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"The maximum number of links away from the Start URLs that the actor will crawl. If 0 , the scraper will not follow any links. If empty or null, the scraper will follow links to an arbitrary depth."},"startUrls":{"type":"array","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"payload":{"type":"string"},"userData":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"additionalProperties":false},"description":"The list of web pages from which the scraper will start crawling."},"waitUntil":{"enum":["commit","domcontentloaded","load","networkidle"],"type":"string","default":"domcontentloaded","description":"Select when a page should be considered loaded so that the actor can start scraping it. *Only works with the browser.*"},"sameDomain":{"type":"boolean","default":true,"description":"If set, the scraper will only follow links within the same domain as the referring page."},"useBrowser":{"type":"boolean","default":false,"description":"If set, the scraper will use a browser for crawling the pages."},"maxRequests":{"type":"integer","maximum":9007199254740991,"minimum":1,"description":"The maximum number of pages the scraper will load. It is always a good idea to limit the number of pages, otherwise the scraper might run infinitely or consume too many resources."},"proxyConfig":{"type":"object","default":{"useApifyProxy":true},"properties":{"proxyUrls":{"type":"array","items":{"type":"string"}},"useApifyProxy":{"type":"boolean"},"apifyProxyGroups":{"type":"array","items":{"type":"string"}},"apifyProxyCountry":{"type":"string"}},"description":"Proxy servers let you bypass website protections, avoid IP address blocking, and view content for other countries. Try to use a proxy if you are experiencing timeout errors.","additionalProperties":{}},"mergeContacts":{"type":"boolean","default":true,"description":"Enable this option to merge all contacts and social media from every page of the same start URL into a single, clean result row."},"considerChildFrames":{"type":"boolean","default":true,"description":"If set, the scraper will also extract contact information from iframes. You might not always want this (e.g. it will include data from online ads)."},"maxRequestsPerStartUrl":{"type":"integer","maximum":9007199254740991,"minimum":1,"description":"The maximum number of pages that will be enqueued from each start URL you provide."},"scrapeSocialMediaProfiles":{"type":"object","default":{"tiktoks":false,"twitters":false,"youtubes":false,"facebooks":false,"instagrams":false},"description":"Enable enrichment for any social media profiles found. This add-on retrieves detailed public data for each profile, including profile names, follower/following counts, descriptions, post/video counts, and verification status . Pricing depends on your subscription plan (please see the 'Pricing' tab for details). You are charged a flat rate for the total number of profiles enriched , regardless of how many platforms (Facebook, Instagram, etc.) you select. Feature Dependency: To use this feature, the 'Merge contacts' option will be automatically enabled. This ensures that all enriched social media data is correctly combined with the main contact record for each domain. Output: Enriched profiles are available in the Social profiles output view tab.","propertyNames":{"type":"string"},"additionalProperties":{}},"leadsEnrichmentDepartments":{"type":"array","items":{"enum":["c_suite","product","engineering_technical","design","education","finance","human_resources","information_technology","legal","marketing","medical_health","operations","sales","consulting"],"type":"string"},"description":"You can use this filter to include only specific departments (like Sales, Marketing, or C-Suite). Note: This will only work if the ⏩ Add-on: Extract business leads information - Maximum leads per domain (maximumLeadsEnrichmentRecords) option is enabled. Please note that some job titles are sometimes miscategorized in the wrong departments."},"verifyLeadsEnrichmentEmails":{"type":"boolean","default":false,"description":"When enabled, verifies the email address of each lead extracted during business leads enrichment. Each lead receives an emailVerification object with the verification result and quality assessment. Charged (decisive results): valid ( ok ), invalid, and disposable email addresses. Not charged: catch-all, unknown, and error results. ⚠️ This add-on requires business leads enrichment to be enabled."},"maximumLeadsEnrichmentRecords":{"type":"integer","default":0,"maximum":9007199254740991,"minimum":0,"description":"Enrich your results with detailed contact and company information, including employee names, job titles, emails, phone numbers, LinkedIn profiles, and key company data like industry and number of employees. This setting allows you to set the maximum number of leads records you want to scrape per each domain found. By default, it's set to 0 which means that no leads information will be scraped. ⚠️ Note that some of the fields contain personal data . GDPR protects personal data in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your use case is legitimate, please consult an attorney. To keep your leads relevant, we automatically filter out large chains and online platforms (e.g., social media, retail giants, food delivery services). ⚠️ Cost warning: This is a multiplier. Requesting 10 leads for 1,000 domains will attempt to find 10,000 total leads. You are only charged for leads successfully found."}},"description":"Normalized actor input. See field descriptions for the simplified shape; native Apify input also accepted (passed through).","additionalProperties":{}},"options":{"type":"object","properties":{"build":{"type":"string","maxLength":100,"minLength":1},"memory":{"type":"integer","maximum":32768,"minimum":128},"maxItems":{"type":"integer","maximum":100000,"minimum":1}},"description":"Optional Apify run options.","additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_MfBUDYCT3XXGWQXbgkeaH","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Scrapes contact information (emails, phone numbers, social profiles) from given website URLs using the vdrmota/contact-info-scraper Apify actor, billed per call via x402/USDC.","exampleAgentPrompt":"Scrape contact info — emails, phone numbers, and social media profiles — from https://example.com, staying within the same domain, crawling up to 50 pages, using Apify proxy, and merge any duplicate contacts you find.","exampleUseCases":[{"title":"Lead generation from competitor sites","prompt":"Pull all emails and phone numbers from https://acmecorp.com and https://rivalbrand.com, stay within the same domain for each, crawl up to 100 pages total, use a proxy, and merge duplicate contacts."},{"title":"Verify and enrich startup contact list","prompt":"Scrape contact details from these 5 startup sites — https://startup1.com, https://startup2.com, https://startup3.com, https://startup4.com, https://startup5.com — grab social profiles too, verify the emails you find, and limit to 200 pages across all of them."},{"title":"Single-page contact extraction for outreach","prompt":"Extract just the contacts visible on https://agencyxyz.com/contact without following any links (depth 0), use headless browser mode with networkidle wait, and include any social media profiles you find."}],"resultDescription":"Returns structured contact records including email addresses, phone numbers, and social media profile URLs found across the crawled pages. May include merged/deduplicated contacts, verified email statuses, and enriched lead data depending on input flags.","failureModes":["Invalid or unreachable start URLs return empty results or crawl errors","Payment failure via x402 prevents the actor from starting","Exceeding maxRequests causes early termination of crawl","Pages behind login walls or CAPTCHAs may yield no contacts","Browser mode required for JavaScript-heavy pages; omitting it may miss dynamic content","Proxy misconfiguration leads to blocked requests and empty results"],"whenToPreferThis":"Choose this endpoint when you need to extract contact information (emails, phones, social profiles) from one or more websites at scale, especially when you want crawl depth control, same-domain restriction, email verification, and social profile enrichment in a single call. It is ideal for lead generation, sales outreach list building, or enriching existing company data. Prefer it over generic scrapers when structured contact extraction with merging and verification is the goal.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:31:49.003Z","isFirstParty":false}