ScrapeMole

Pay-per-call YouTube data via x402 (USDC, Base): search, channels, playlists, video details, comment

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,959Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.53% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "scrapemole": {
      "url": "https://scrapemole-api-mainnet.scrapemole.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://scrapemole-api-mainnet.scrapemole.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢google_trends(q, geo, time, regions, related)

Use when you need how search interest in a topic changes over time or by region, or which related queries are rising. Returns weekly/daily interest (0-100), per-region interest and top/rising related queries from Google Trends. Errors are not charged. Paid tool: x402 USDC on Base, $0.01 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search term. Compare up to 5 terms by separating them with commas."
    },
    "geo": {
      "type": "string",
      "description": "Country or region code (US, GB, DE, US-CA). Empty = worldwide."
    },
    "time": {
      "type": "string",
      "description": "Time range.",
      "enum": [
        "now 1-H",
        "now 4-H",
        "now 1-d",
        "now 7-d",
        "today 1-m",
        "today 3-m",
        "today 12-m",
        "today 5-y",
        "all"
      ],
      "default": "today 12-m"
    },
    "regions": {
      "type": "string",
      "description": "Include interest by region.",
      "enum": [
        "true",
        "false"
      ],
      "default": "true"
    },
    "related": {
      "type": "string",
      "description": "Include related queries.",
      "enum": [
        "true",
        "false"
      ],
      "default": "true"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}
🟢youtube_transcript(video, lang, translate, segments)

Use when you need what is said in a YouTube video: full transcript text plus timestamped segments, in the requested language (manual captions preferred, auto-generated as fallback, optional translation). Videos without captions and errors are not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "video": {
      "type": "string",
      "description": "YouTube video URL or 11-character video ID."
    },
    "lang": {
      "type": "string",
      "description": "Preferred language code(s), comma-separated, in order of preference.",
      "default": "en"
    },
    "translate": {
      "type": "string",
      "description": "Translate the transcript into this language code if the video lacks it."
    },
    "segments": {
      "type": "string",
      "description": "Include timestamped segments.",
      "enum": [
        "true",
        "false"
      ],
      "default": "true"
    }
  },
  "required": [
    "video"
  ],
  "additionalProperties": false
}
🟢youtube_search(q, limit, sort, uploaded, duration, ...)

Use when you need to find YouTube videos for a query, e.g. competitor or trend research. Returns up to 50 videos per call with title, channel, views, duration, approximate publish date and thumbnail; optional filters for sort order, upload date and duration. Flat price for any number of videos up to the limit; errors are not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query."
    },
    "limit": {
      "type": "string",
      "description": "Max videos (1-50).",
      "default": "20"
    },
    "sort": {
      "type": "string",
      "description": "Sort order.",
      "enum": [
        "relevance",
        "date",
        "views",
        "rating"
      ],
      "default": "relevance"
    },
    "uploaded": {
      "type": "string",
      "description": "Upload date filter.",
      "enum": [
        "any",
        "hour",
        "today",
        "week",
        "month",
        "year"
      ],
      "default": "any"
    },
    "duration": {
      "type": "string",
      "description": "Duration filter.",
      "enum": [
        "any",
        "short",
        "medium",
        "long"
      ],
      "default": "any"
    },
    "lang": {
      "type": "string",
      "description": "Interface language (hl), e.g. en, de."
    },
    "country": {
      "type": "string",
      "description": "Country (gl), e.g. US, GB."
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}
🟢youtube_channel(channel, tab, limit)

Use when you need what a YouTube channel has published: up to 50 of its latest videos, shorts or streams with views, duration and approximate publish date. Accepts @handle, channel URL or channel ID. Errors are not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string",
      "description": "Channel @handle, URL or UC… channel ID."
    },
    "tab": {
      "type": "string",
      "description": "Which feed.",
      "enum": [
        "videos",
        "shorts",
        "streams"
      ],
      "default": "videos"
    },
    "limit": {
      "type": "string",
      "description": "Max videos (1-50).",
      "default": "20"
    }
  },
  "required": [
    "channel"
  ],
  "additionalProperties": false
}
🟢youtube_video(video, lang, country)

Use when you need the details of one YouTube video: exact view count, like count, comment count, duration, publish/upload date, category, full description, keywords/tags, live status and thumbnail. Accepts a video URL, Shorts URL or 11-character ID. Unavailable/private videos and errors are not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "video": {
      "type": "string",
      "description": "YouTube video URL or 11-character video ID."
    },
    "lang": {
      "type": "string",
      "description": "Interface language (hl), e.g. en, de."
    },
    "country": {
      "type": "string",
      "description": "Country (gl), e.g. US, GB."
    }
  },
  "required": [
    "video"
  ],
  "additionalProperties": false
}
🟢youtube_comments(video, sort, limit, lang, country)

Use when you need what viewers say about a YouTube video, e.g. sentiment, feedback mining, FAQ or product research: up to 100 top-level comments with text, like count, reply count, relative publish time and pinned / by-creator flags, plus the total comment count. Commenter names, handles and channel IDs are intentionally NOT returned. Videos with comments off and errors are not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "video": {
      "type": "string",
      "description": "YouTube video URL or 11-character video ID."
    },
    "sort": {
      "type": "string",
      "description": "Comment order.",
      "enum": [
        "top",
        "newest"
      ],
      "default": "top"
    },
    "limit": {
      "type": "string",
      "description": "Max comments (1-100).",
      "default": "20"
    },
    "lang": {
      "type": "string",
      "description": "Interface language (hl), e.g. en, de."
    },
    "country": {
      "type": "string",
      "description": "Country (gl), e.g. US, GB."
    }
  },
  "required": [
    "video"
  ],
  "additionalProperties": false
}
🟢youtube_playlist(playlist, limit, lang, country)

Use when you need the contents of a YouTube playlist (course, series, music or channel uploads playlist): up to 100 videos in playlist order with title, channel, duration and thumbnail, plus playlist title, description and total video count. Accepts a playlist URL or ID (PL…, UU…, OL…). Private/missing playlists and errors are not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "playlist": {
      "type": "string",
      "description": "Playlist URL (…?list=…) or playlist ID."
    },
    "limit": {
      "type": "string",
      "description": "Max videos (1-100).",
      "default": "50"
    },
    "lang": {
      "type": "string",
      "description": "Interface language (hl), e.g. en, de."
    },
    "country": {
      "type": "string",
      "description": "Country (gl), e.g. US, GB."
    }
  },
  "required": [
    "playlist"
  ],
  "additionalProperties": false
}
🟢amazon_product(asin, marketplace, zip)

Use when you need current data for one Amazon product: price, list price, stock, rating, reviews count, Best Sellers rank, specs and images, by ASIN or URL, in 15 marketplaces. Errors are not charged. Paid tool: x402 USDC on Base, $0.01 per successful call; call without payment to receive the PaymentRequired object.

Input Schema

{
  "type": "object",
  "properties": {
    "asin": {
      "type": "string",
      "description": "ASIN (10 characters) or full product URL."
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon marketplace (ignored when a full URL is given).",
      "enum": [
        "amazon.com",
        "amazon.co.uk",
        "amazon.de",
        "amazon.fr",
        "amazon.it",
        "amazon.es",
        "amazon.ca",
        "amazon.com.au",
        "amazon.co.jp",
        "amazon.in",
        "amazon.nl",
        "amazon.se",
        "amazon.pl",
        "amazon.com.mx",
        "amazon.com.br"
      ],
      "default": "amazon.com"
    },
    "zip": {
      "type": "string",
      "description": "Delivery ZIP/postcode for localized price and stock."
    }
  },
  "required": [
    "asin"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools