{"uid":"cap_E5hx30t2YJGifWtOs4-OZ","slug":"agents-openwebninja-com-scrape-contacts-from-website-3c75fade","name":"Scrape Contacts from Website","description":"Scrape emails, phone numbers, and social profile links from a website root domain. Supports batching of up to 20 domains in a single request.  \n  Note that by default, the emails returned by the endpoint are not restricted to match the website domain (after the \"@\"), to restrict emails to the website domain, set the match_email_domain parameter to true (or 1).  \n  The endpoint also supports external matching of contacts (outside the company website and social profiles) by setting the  external_match parameter to true (or 1).","url":"https://agents.openwebninja.com/website-contacts-scraper/scrape-contacts?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","example":"wsgr.com","description":"Domain from which to scrape emails and contacts (e.g. wsgr.com).  \n  Accepts any valid url and uses its root domain as a starting point for the extraction.  \n  Support batching of up to 20 domains in a single request, separated by comma (e.g. wsgr.com,other.com).  \n  Please note that each domain in the request will consume a request credit from the quota."},"external_matching":{"type":"boolean","default":false,"description":"Try to match any web source, in addition to website and social platforms."},"match_email_domain":{"type":"boolean","default":false,"description":"Only return emails in the same domain like the one supplied with the query parameter."}}},"responseSchema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"query":{"type":"string","description":"The search query used"},"domain":{"type":"string","description":"The domain associated with the query"},"emails":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"The email address found"},"sources":{"type":"array","items":{"type":"string"},"description":"List of source URLs where this email was found."}}}},"github":{"type":"string","description":"GitHub profile URL (or null if not found)"},"tiktok":{"type":"string","description":"TikTok profile URL (or null if not found)"},"twitter":{"type":"string","description":"Twitter/X profile URL (or null if not found)"},"youtube":{"type":"string","description":"YouTube channel URL (or null if not found)"},"facebook":{"type":"string","description":"Facebook profile URL (or null if not found)"},"linkedin":{"type":"string","description":"LinkedIn profile URL (or null if not found)"},"snapchat":{"type":"string","description":"Snapchat username (or null if not found)"},"instagram":{"type":"string","description":"Instagram profile URL (or null if not found)"},"pinterest":{"type":"string","description":"Pinterest profile URL (or null if not found)"},"phone_numbers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"The phone number found"},"sources":{"type":"array","items":{"type":"string"},"description":"List of source URLs where this phone number was found."}}}}}}},"status":{"type":"string","description":"The status of the API response (e.g., success/error)"},"request_id":{"type":"string","description":"Unique identifier for the API request"}}},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"unknown","displayCostAsset":"USD","priceDynamic":true,"priceHint":null,"priceStatus":"unprobed","priceSource":"registry","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":"unknown","summary":"price unknown","primary":{"kind":"dynamic","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"},"accepted":[{"kind":"dynamic","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"}]},"paymentMethods":[{"uid":"pm_zVwsCTbmnCNpIttnwZZ0V","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"unknown","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":"agents.openwebninja.com","brandSlug":"agents-openwebninja-com-x402","brandBaseUrl":"https://agents.openwebninja.com","brandDocsUrl":null,"whatItDoes":"Scrapes emails, phone numbers, and social media profile links from one or more website root domains in a single batch request.","exampleAgentPrompt":"Can you scrape all the contact emails, phone numbers, and social media profiles from wsgr.com and acme.com — and only return emails that actually match those domains?","exampleUseCases":[{"title":"Lead generation contact harvesting","prompt":"I have a list of 10 competitor domains — stripe.com, square.com, braintree.com, adyen.com, checkout.com, payoneer.com, wise.com, revolut.com, marqeta.com, rapyd.com — can you pull all their publicly listed emails and phone numbers in one shot?"},{"title":"Sales outreach research","prompt":"Find me the contact email addresses and LinkedIn, Twitter, and Facebook profiles for notion.so — and only return emails that are actually on the notion.so domain."},{"title":"Due diligence contact verification","prompt":"I'm doing due diligence on a startup — can you scrape all publicly available emails, phone numbers, and social accounts from their website at techstartupxyz.com, including any external sources that mention their contacts?"}],"resultDescription":"Returns a structured JSON object per queried domain containing: all discovered email addresses with their source URLs, phone numbers with source URLs, and URLs or handles for up to 9 social platforms (LinkedIn, Twitter/X, Facebook, Instagram, GitHub, YouTube, TikTok, Pinterest, Snapchat). Also includes request status and a unique request ID.","failureModes":["Domain has no publicly listed emails or contacts — returns empty arrays","Invalid or unreachable domain — may return error status or empty results","Rate limit or quota exhaustion — returns 402 or quota error","Batch exceeds 20 domains — request rejected","External matching disabled by default — contacts outside website and social profiles won't appear unless external_matching=true","Emails from third-party domains returned by default if match_email_domain is not set to true"],"whenToPreferThis":"Choose this endpoint when you need to discover publicly listed contact information (emails, phone numbers, social profiles) directly from one or more company websites at scale. It is especially useful for lead generation, sales prospecting, or due diligence where you need structured contact data from up to 20 domains in a single API call. Prefer this over general search APIs when you want contact-specific extraction tied to a root domain rather than broad web search results.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-14T00:37:03.042Z","isFirstParty":false,"canonicalSlug":"agents-openwebninja-com-scrape-contacts-from-website-3c75fade"}