WorksSearch and the webMaps, weather and travel
SnoopScan
Web scraping for agents: scrape, crawl, map, search and extract pages as clean markdown or JSON.
https://api.snoopscan.com/mcpclaude mcp add --transport http snoopscan https://api.snoopscan.com/mcpFor Cursor and other clients
{
"mcpServers": {
"snoopscan": {
"type": "http",
"url": "https://api.snoopscan.com/mcp"
}
}
}It asks for: Authorization
- Test
- Works: Handshake succeeded
- Tools
- 34 tools
- Handshake
- 1.6 s
- Transport
- streamable-http · 2025-06-18
- Tested
- 6 November 2026
- Registry name
com.snoopscan/snoopscanv1.0.0- Listed
- 25 September 2026
- Updated
- 25 September 2026
- Website
- snoopscan.com/docs/mcp
- Other addresses
https://api.snoopscan.com/mcp-oauth
The last 1 tests
| When | Result | Time |
|---|---|---|
| 2026-11-06 12:19 UTC | Handshake succeeded | 1.6 s |
The 34 tools it listed
"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.
batchScrapeScrape a list of pages
Scrape up to 50 pages as one background job. Returns a job id at once; follow it with `crawlStatus` and read the pages with `crawlPages`. Every page fetched is billed. For one page, use `scrape`. Needs a free SnoopScan key.
urlscheckChangesCheck a page for changes
Check whether a page has changed since this account last recorded it. Fetches the page now and compares it with the latest version stored for the same URL; a changed page is stored as the new latest version. The first check of a URL reports it as new. With `includeDiff`, a changed page's current content is returned too. Needs a free SnoopScan key.
urlincludeDiffcheckMonitorCheck a monitor now
Run a monitor's check now and report which pages are new, changed, unchanged or failing. Billed like a scheduled check. Needs a free SnoopScan key.
monitorIdcompanyRead onlyProfile a company website
Everything a company's own website says about itself. Give it a company domain and get back its name, phone, address, LinkedIn, headcount, industry and founded year, plus the contact emails, social links and contact form the site publishes. Reads the homepage and a few contact/about pages, nothing behind a login. Profiles one company at a time. To find businesses by trade and place, use `findLeads`. Needs a free SnoopScan key.
urlcontactscrawlStart a site crawl
Start crawling a website. Runs in the background and returns a job id immediately. Follow it with `crawlStatus` and read the results with `crawlPages`. A crawl can take minutes, every page it fetches is billed, and `limit` caps how many pages it fetches. Needs a free SnoopScan key.
urllimitmaxDepthincludePathsexcludePathscrawlPagesRead onlyRead crawled pages
Read the pages a crawl has collected, a few at a time. Returns a few pages per call, because a whole crawl is too large for one response; pass the returned `cursor` to read the next pages. Needs a free SnoopScan key.
jobIdcursorlimitmaxCharsPerPagecrawlStatusRead onlyCheck crawl progress
Check the progress of a crawl. Returns counts and cost, never page bodies. Needs a free SnoopScan key.
jobIddomainRead onlyLook up a domain
How old a domain is, who registered it, where it is hosted, and who links to it. The off-page questions a page scrape cannot answer. Use it when a page looks fine and you need to know whether the SITE is old, established or linked to — comparing competitors, judging a source, or checking whether a domain was registered last week. Nothing here fetches the page, so nothing here can be blocked. Needs a free SnoopScan key.
urlbacklinkslimitdomainReportRead onlyReport on a domain before buying it
A buyer's report on a domain: key findings, concerns, and the questions nobody can answer from outside, each tied to its evidence. `depth` is `quick` (registration, DNS, today's site), `buyer` (adds the Internet Archive history, known backlinks and a re-read sample of linking pages) or `deep` (larger samples). Brand, SEO and acquisition are judged separately; there is no overall score. One flat price per depth; `buyer` includes 6 archived snapshots and `deep` 12. Needs a free SnoopScan key.
urldepthdomainScreenRead onlyScreen a list of domains for availability
Which of up to 500 domain names can be registered, from each registry's own record (RDAP) and DNS. Use it to cut a long list of candidate or dropping names down to a shortlist, then run domainReport on the few that matter. Nothing is fetched from the names' websites. Each name comes back `likely_available`, `registered`, `unknown` or `no_registry_record`, with the reason. 1 credit per name its registry answered for; invalid names, duplicates and unanswered names are free. Needs a free SnoopScan key.
namesdnsdomainSnapshotsRead onlyRead a domain report's pending archive snapshots
Read the archived homepage snapshots a `buyer` domainReport left pending. A buyer report answers at once with the Internet Archive's timeline and the snapshots already held; the rest are marked pending. Call this with the same domain (and optionally the pending years) to read them: what the site was about in each year, its language, and whether it was parked, for sale or redirecting. Free for the snapshots a buyer or deep report included; beyond those, charged only for snapshots actually fetched. Needs a free SnoopScan key.
urlyearssnapshotsextractRead onlyExtract structured data
Extract structured data from one or more pages according to a JSON schema. The output is validated against the schema — if a page does not contain the required fields, that page returns an error rather than invented values. An error for a page means the required fields are not on it. Needs a free SnoopScan key.
urlsschemapromptfetchMoreRead onlyRead the rest of a page
Read the remainder of a page that was truncated. Pass the token from a truncation marker. Returns the next section of the same page, truncating again if it is still too long. Needs a free SnoopScan key.
tokenmaxCharsfindContactsRead onlyFind a website's contact details
Find contact information for a company website. Returns the contact page, any contact form and its vendor, published email addresses with where each was found, and social links. Needs a free SnoopScan key.
urlfindLeadsFind business leads
Find businesses by what they do and where, with how to reach each one. `who` is the trade or kind of business ("roofing contractors", "dentists"), `where` is a town or area ("Houston, TX"); `country` is an ISO code such as GB, read from `where` when omitted. `contacts` adds the emails, socials and contact form each business publishes, and `roles` (e.g. ["Owner"]) adds a named person. `questions` (up to three, such as "offers commercial roofing") are answered from each business's own website, each with a quoted line and the page it is on. Runs in the background for 2 to 5 minutes: call `leadsStatus` with the job id to follow it and read the leads. Charged per lead delivered, never for what it cannot find. Needs a free SnoopScan key.
whowherelimitsourcescontactsrolesrequireWebsitecountryquestionsgoogleSerpRead onlyCheck Google rankings and the AI Overview
Read a Google results page for a search: who ranks, and what the AI Overview says and cites. Give your `domain` and the answer says where it ranks and whether the AI Overview cites it. `country` is a two-letter code such as `gb`. The AI Overview is read only where a paid results provider is set up; otherwise the answer is the classic organic list, up to 10 results, with a note saying so. Billed per search, and nothing when no results come back. Needs a free SnoopScan key.
keywordcountrydomaindepthaiOverviewhiringRead onlyFind a company's open jobs
What a company is currently recruiting for. Give it a company domain. It finds the careers page, identifies the applicant tracking system, and reads that system's public job feed, so it returns the listed roles rather than a careers page's empty markup. Not every company exposes a feed. When none is found it says so and names the careers page. "No feed found" does not mean the company is not hiring. Needs a free SnoopScan key.
urlleadsStatusRead onlyRead lead-search results
Follow a Find Leads run, and read its leads once it has finished. Returns the stage while it runs. When done, returns the leads 25 at a time: name, phone, email, website and address; call again with `offset` for the next 25. Needs a free SnoopScan key.
jobIdoffsetlistMentionsRead onlyList mentions found
List the mentions this account's watches have found, newest first, each with its category and the phrase that decided it. Filter by `watchId`, `category` (bug_report, complaint, question, buying_intent, praise, competitor, other), `platform` or `status` (new, seen, irrelevant, done). With no `watchId` the account's watches are listed first. Needs a free SnoopScan key.
watchIdcategoryplatformstatuslimitlistMonitorsRead onlyList my monitors
List this account's page monitors with their schedule and when each last ran. Needs a free SnoopScan key.
listPostsRead onlyList a site's posts
List a site's posts or articles from its own API or feed. WordPress, Substack, Squarespace and Discourse answer through their APIs; anything else through RSS or Atom. Titles, URLs and dates — use `scrape` on a URL to read one. Needs a free SnoopScan key.
urllimitlistProductsRead onlyList a store's products
List every product a store publishes, from the store's own catalog. Works for Shopify and WooCommerce stores without a key: one request per page of up to 250 products, with title, price, availability, variants and the product URL. Needs a free SnoopScan key.
urllimitmapRead onlyMap a site's URLs
List the URLs on a website without fetching page content. Use it to see a site's structure before choosing which pages to scrape. Needs a free SnoopScan key.
urlsearchlimitmarkMentionMark a mention
Set a mention's status to new, seen, irrelevant or done. Needs a free SnoopScan key.
mentionIdstatusparseRead onlyRead a document
Read a document at a URL, such as a PDF, and return its text as markdown. Use this for a link to a document rather than a web page. A URL that turns out to be an ordinary page is returned as that page. Billed per 10 document pages.
urlmaxCharspeopleRead onlyFind people at a company
Find the people at a company, by what they do and how senior they are. Give it a company and optionally a `role` and a `seniority`. It returns named people from public search results; it does not sign in anywhere or read profile pages. role: executive, engineering, product, sales, marketing, finance, procurement, talent, operations, data, security, legal, support, design seniority: exec, vp, director, manager, ic Each person says whether the employer was confirmed in the source text. For an unconfirmed person the company name did not appear beside them in the source, and a person marked former has left the company. Needs a free SnoopScan key.
companyrolesenioritylimitscrapeRead onlyScrape a web page
Fetch a single web page and return its content as clean markdown. Use this when you have a specific URL and need to read what is on it. For finding pages first, use `search` or `map`.
urlformatsonlyMainContentmaxCharsmaxAgewaitForsearchRead onlySearch the web
Search the web and return each result's title, URL and snippet. With `fetchContent`, it also fetches each result's page and returns its content. That is slower, and each page fetched is billed.
querylimitfetchContentmaxCharsPerResultsearchPlacesRead onlySearch Google Maps for businesses
Search Google Maps the way a person would: "plumbers" in "Leeds". Returns each business with its category, address, rating and review count, and with `includeDetails` its phone number and website too. Up to 20 a call. For a whole list with emails, owners and several sources, use `findLeads`. Billed per results page and per detail fetched. Needs a free SnoopScan key.
querylocationlimitincludeDetailssocialRead onlyGet social platform data
Structured data from a social platform: profiles, posts, videos, comments, transcripts and search, as named fields rather than a page. Example: platform "youtube", endpoint "transcript", params {"id": "dQw4w9WgXcQ"}. Call `socialEndpoints` for the full list and each endpoint's inputs. Only public data, as a signed-out visitor sees it. Billed per call, and nothing when no data comes back. Needs a free SnoopScan key.
platformendpointparamssocialEndpointsRead onlyList social data endpoints
List the social endpoints `social` can call: platform, name, what it returns, its inputs and its price. Platforms include YouTube, TikTok, Instagram, X, LinkedIn, Facebook, Threads and Pinterest. Free. Needs a free SnoopScan key.
platformtestMentionsRead onlyTest mentions keywords
Run keywords against the sources now and list what they find from the last 7 days, where a source allows. Nothing is saved. Sources: reddit, hackernews, bluesky, youtube, threads, web (blogs, forums and news), github (issues and pull requests), feeds (the RSS or Atom addresses in `feeds`), news (news articles), devfeeds (Product Hunt, DEV, Slashdot and Lobsters), stackexchange (Stack Overflow questions), fediverse (Lemmy and Misskey), podcasts (episodes), substack (newsletter posts), forums (the Discourse forums in `places`), appreviews (the review pages in `places`: App Store, Google Play, Trustpilot, Steam, Feefo, Reviews.io, Sitejabber, Yelp and Capterra links; every new review is a mention) and telegram (the public Telegram channels in `places`, such as https://t.me/name). Give `keywords` to try before creating a watch, or `watchId` to run a saved one. Each answered source query is recorded on the account's usage. Needs a fr
keywordscompetitorsexcludeplatformswatchIdfeedsplaceswatchMentionsCreate or change a mentions watch
Create a watch that looks for keywords on Reddit, Hacker News, Bluesky, YouTube, Threads, the web, GitHub, RSS or Atom feeds, news, Product Hunt, DEV, Slashdot and Lobsters, Stack Overflow, Lemmy and Misskey, podcasts, Substack, Discourse forums, review sites and Telegram channels on a schedule, and sorts each find into bug report, complaint, question, buying intent, praise or competitor. Give `name` and `keywords` to create one, or `watchId` plus the fields to change. `competitors` are extra keywords filed as competitor mentions; `exclude` removes posts containing those words; `platforms` limits the sources (reddit, hackernews, bluesky, youtube, threads, web, github, feeds, news, devfeeds, stackexchange, fediverse, podcasts, substack, forums, appreviews, telegram; default all); `feeds` are up to 10 feed addresses the feeds source reads for new entries that name a keyword; `places` are up to 10 web addresses the forums, appreviews and
namekeywordscompetitorsexcludeplatformsintervalMinuteswebhookwatchIdactivefeedsplaceswatchPagesWatch pages for changes
Start a monitor that re-reads up to 50 pages on a schedule and records which are new, changed or failing. `intervalMinutes` is 5 to 10,080. Each check bills the pages it fetches. Read the latest result with `checkMonitor`; list yours with `listMonitors`. Needs a free SnoopScan key.
nameurlsintervalMinutesgoal
Is this yours?
Claim it to hear the moment it breaks, correct this page and add your own ways to use it.
A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.