Horizontal

WorksSearch and the webMaps, weather and travel

SnoopScan

Web scraping for agents: scrape, crawl, map, search and extract pages as clean markdown or JSON.

Addresshttps://api.snoopscan.com/mcp
Claude Codeclaude mcp add --transport http snoopscan https://api.snoopscan.com/mcp
For 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/snoopscan v1.0.0
Listed
25 September 2026
Updated
25 September 2026
Website
snoopscan.com/docs/mcp
Source
github.com/SnoopScan/snoopscan-core
Other addresses
https://api.snoopscan.com/mcp-oauth
The last 1 tests
WhenResultTime
2026-11-06 12:19 UTCHandshake succeeded1.6 s

The 34 tools it listed

"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.

  1. batchScrape

    Scrape 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.

    urls

  2. checkChanges

    Check 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.

    url includeDiff

  3. checkMonitor

    Check 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.

    monitorId

  4. companyRead only

    Profile 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.

    url contacts

  5. crawl

    Start 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.

    url limit maxDepth includePaths excludePaths

  6. crawlPagesRead only

    Read 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.

    jobId cursor limit maxCharsPerPage

  7. crawlStatusRead only

    Check crawl progress

    Check the progress of a crawl. Returns counts and cost, never page bodies. Needs a free SnoopScan key.

    jobId

  8. domainRead only

    Look 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.

    url backlinks limit

  9. domainReportRead only

    Report 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.

    url depth

  10. domainScreenRead only

    Screen 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.

    names dns

  11. domainSnapshotsRead only

    Read 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.

    url years snapshots

  12. extractRead only

    Extract 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.

    urls schema prompt

  13. fetchMoreRead only

    Read 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.

    token maxChars

  14. findContactsRead only

    Find 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.

    url

  15. findLeads

    Find 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.

    who where limit sources contacts roles requireWebsite country questions

  16. googleSerpRead only

    Check 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.

    keyword country domain depth aiOverview

  17. hiringRead only

    Find 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.

    url

  18. leadsStatusRead only

    Read 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.

    jobId offset

  19. listMentionsRead only

    List 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.

    watchId category platform status limit

  20. listMonitorsRead only

    List my monitors

    List this account's page monitors with their schedule and when each last ran. Needs a free SnoopScan key.

  21. listPostsRead only

    List 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.

    url limit

  22. listProductsRead only

    List 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.

    url limit

  23. mapRead only

    Map 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.

    url search limit

  24. markMention

    Mark a mention

    Set a mention's status to new, seen, irrelevant or done. Needs a free SnoopScan key.

    mentionId status

  25. parseRead only

    Read 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.

    url maxChars

  26. peopleRead only

    Find 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.

    company role seniority limit

  27. scrapeRead only

    Scrape 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`.

    url formats onlyMainContent maxChars maxAge waitFor

  28. searchRead only

    Search 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.

    query limit fetchContent maxCharsPerResult

  29. searchPlacesRead only

    Search 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.

    query location limit includeDetails

  30. socialRead only

    Get 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.

    platform endpoint params

  31. socialEndpointsRead only

    List 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.

    platform

  32. testMentionsRead only

    Test 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

    keywords competitors exclude platforms watchId feeds places

  33. watchMentions

    Create 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

    name keywords competitors exclude platforms intervalMinutes webhook watchId active feeds places

  34. watchPages

    Watch 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.

    name urls intervalMinutes goal

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.

Back to Tested MCP Servers