SnoopScan
com.snoopscan/snoopscanVersion 1.0.0Web scraping for agents: scrape, crawl, map, search and extract pages as clean markdown or JSON.
Status
Responds140 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:17 UTC
- Latency
- 140 ms
- Remotes responding
- 2 of 2
- Sign-in
- OAuth sign-in, API key
- Hosting
- EU hosting detected (detected, not a legal statement)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://api.snoopscan.com/mcpResponds146 msNo sign-in
Claude Code
claude mcp add --transport http snoopscan https://api.snoopscan.com/mcp --header 'Authorization: Bearer <YOUR_TOKEN>'Replace <YOUR_TOKEN> before running.
Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: snoopscan
Remote MCP server URL: https://api.snoopscan.com/mcp
This server expects the header Authorization.Cursor
{
"mcpServers": {
"snoopscan": {
"url": "https://api.snoopscan.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Replace <YOUR_TOKEN> before running.
VS Code
code --add-mcp '{"name":"snoopscan","type":"http","url":"https://api.snoopscan.com/mcp","headers":{"Authorization":"Bearer <YOUR_TOKEN>"}}'Replace <YOUR_TOKEN> before running.
Streamable HTTP
https://api.snoopscan.com/mcp-oauthSign-in required140 msOAuth sign-in
Claude Code
This server asks for sign-in. Your client opens the sign-in when it connects.
claude mcp add --transport http snoopscan https://api.snoopscan.com/mcp-oauthClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: snoopscan
Remote MCP server URL: https://api.snoopscan.com/mcp-oauthCursor
{
"mcpServers": {
"snoopscan": {
"url": "https://api.snoopscan.com/mcp-oauth"
}
}
}VS Code
code --add-mcp '{"name":"snoopscan","type":"http","url":"https://api.snoopscan.com/mcp-oauth"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
38 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
batchScrapeScrape 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. | No | No | No | Yes |
checkChangesCheck 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. | No | No | Yes | Yes |
checkMonitorRun 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. | No | No | No | Yes |
companyEverything 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. | No | Yes | Yes | Yes |
crawlStart 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. | No | No | No | Yes |
crawlPagesRead 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. | No | Yes | Yes | No |
crawlStatusCheck the progress of a crawl. Returns counts and cost, never page bodies.
Needs a free SnoopScan key. | No | Yes | Yes | No |
domainHow 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. | No | Yes | Yes | Yes |
domainReportA 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. | No | Yes | Yes | Yes |
domainScreenWhich 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. | No | Yes | Yes | Yes |
domainSnapshotsRead 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. | No | Yes | Yes | Yes |
extractExtract 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. | No | Yes | Yes | Yes |
fetchMoreRead 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. | No | Yes | Yes | No |
findContactsFind 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. | No | Yes | Yes | Yes |
findLeadsFind 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. | No | No | No | Yes |
googleSerpRead 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. | No | Yes | Yes | Yes |
hiringWhat 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. | No | Yes | Yes | Yes |
leadsStatusFollow 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. | No | Yes | Yes | No |
listListingsList the items this account's listing watches have found, newest first,
each with its price, place, distance and why it matched. Filter by
`watchId` or `status` (new, seen, saved, dismissed). With no `watchId` the
account's watches are listed first.
Needs a free SnoopScan key. | No | Yes | Yes | No |
listMentionsList 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. | No | Yes | Yes | No |
listMonitorsList this account's page monitors with their schedule and when each last ran.
Needs a free SnoopScan key. | No | Yes | Yes | No |
listPostsList 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. | No | Yes | Yes | Yes |
listProductsList 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. | No | Yes | Yes | Yes |
mapList 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. | No | Yes | Yes | Yes |
markMentionSet a mention's status to new, seen, irrelevant or done.
Needs a free SnoopScan key. | No | No | Yes | No |
parseRead 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.
| No | Yes | Yes | Yes |
peopleFind 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. | No | Yes | Yes | Yes |
researchResearch a question on the web and get a report with numbered citations.
Starts a background job and returns its id at once. A model plans the work,
searches, reads pages and writes a Markdown report; call `researchStatus`
with the id to follow progress and read the report. It takes minutes.
`depth` sets how much work it may do: `quick` (up to 12 pages), `standard`
(35), `deep` (90) or `exhaustive` (220). Deeper costs more credits; the
estimate is returned. `provider` picks the model: `anthropic`, `openai` or
`google`; leave it out for the account's default. `plan` is an optional list
of research steps to follow. Needs research to be turned on for the account.
Needs a free SnoopScan key. | No | No | No | Yes |
researchStatusCheck a research job: its status, recent progress and, once done, the report.
While it runs this lists the latest steps (searches, pages read, notes). When
it is done the full report is returned with its numbered sources. A report
marked partial stopped early and covers what was read before then.
Needs a free SnoopScan key. | No | Yes | Yes | No |
scrapeFetch 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`.
| No | Yes | Yes | Yes |
searchSearch 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.
| No | Yes | Yes | Yes |
searchPlacesSearch 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. | No | Yes | Yes | Yes |
socialStructured 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. | No | Yes | Yes | Yes |
socialEndpointsList 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. | No | Yes | Yes | No |
testMentionsRun 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 free SnoopScan key. | No | Yes | Yes | Yes |
watchListingsSave an item hunt that checks marketplaces and auctions for things for
sale on a schedule (eBay, Gumtree, Preloved, Vinterior, The Saleroom, Etsy)
and keeps only real matches. `query` says what to find in plain words
("Ercol Windsor dining table with 4 chairs"); `minPrice` and `maxPrice` are
whole pounds; `postcode` with `radiusMiles` limits how far away an item may
be; `includeDelivery` also keeps further items that can be delivered;
`mustHave` and `exclude` are words; `sites` limits where to look (default
all); `intervalMinutes` is 60 to 1,440 (default 360). Give `name` and
`query` to create one, or `watchId` plus the fields to change. The first
check stores what it finds without alerting. Each page read and each match
check is recorded on the account's usage. Read results with `listListings`.
Needs a free SnoopScan key. | No | No | No | No |
watchMentionsCreate 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
telegram sources read: a Discourse forum (new posts that name a keyword), a
review page (appreviews: every new review is a mention, with its rating or
thumbs under engagement): an App Store, Google Play, Trustpilot, Steam,
Feefo, Reviews.io, Sitejabber, Yelp or Capterra link, or a
public Telegram channel such as
https://t.me/name (posts that name a keyword);
`intervalMinutes` is 5 to 10,080 (default 15). Each answered source query is
recorded on the account's usage. Read results with `listMentions`; try
keywords first with `testMentions`.
Needs a free SnoopScan key. | No | No | No | No |
watchPagesStart 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. | No | No | No | Yes |
Details
- Registry status
- Active
- Published
- Sep 25, 2026
- Updated
- Sep 25, 2026
- Categories (suggested)
- Search and webSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared