Enables AI agents to access public web data including Google Search, Maps, news, social media, and e-commerce via Apify actors.
Also known as subimpact/data-mcp, data-mcp, @subimpact/data-mcp
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 1.2.0
- Last commit
- Oct 29, 2026
- License
- MIT
What is subimpact data MCP?
subimpact data enables AI agents to access public web data including Google Search, Maps, news, social media, and e-commerce via Apify actors.
Summary generated from the project's README
About subimpact data MCP server
AI agents that need to gather real-time information from the web can use this server to access a wide variety of public data sources. Instead of browsing multiple tabs, an agent can retrieve structured JSON data from Google Search, Google Maps, YouTube, TikTok, and even niche platforms like Substack or Bluesky. It works by connecting to your own Apify account using an API token, meaning all scraping tasks are executed on Apify infrastructure rather than locally.
Developers can integrate this with Claude Desktop, Claude Code, or Cursor by configuring the required environment variables. The server provides specialized tools such as google_search for organic results and AI Overviews, news_mentions for tracking Southeast Asian publishers, and website_contacts for extracting social profiles and emails. To prevent unexpected costs, every tool call includes a default spending cap of 0.50 USD via the _maxChargeUsd parameter. Users can also limit the amount of data returned to the model using the _maxItems setting to manage context window limits.
What you can do with it
- 1Market research via search resultsAn AI agent can perform a Google search to retrieve organic results, knowledge graphs, and AI Overviews in a structured format.
- 2Lead generation from websitesA developer can instruct an agent to find contact information and social media links from a specific list of domains.
- 3Competitive social media monitoringAn agent can scrape specific hashtags on TikTok to analyze video engagement and creator profiles.
- 4Local business intelligenceAn AI can collect detailed information about local establishments including ratings, reviews, and opening hours.
Written from the project's README. Every use case is checked against a quote from it.
How to install subimpact data MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall subimpact data MCP in Claude Code
$ claude mcp add --env 'APIFY_TOKEN=<YOUR_APIFY_TOKEN>' data-mcp -- npx -y @subimpact/data-mcpInstall subimpact data MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"data-mcp": {
"command": "npx",
"args": [
"-y",
"@subimpact/data-mcp"
],
"env": {
"APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
}
}
}
}Install subimpact data MCP in VS Code
.vscode/mcp.json
{
"servers": {
"data-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@subimpact/data-mcp"
],
"env": {
"APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
}
}
}
}Install subimpact data MCP in VS Code CLI
$ code --add-mcp '{"name":"data-mcp","type":"stdio","command":"npx","args":["-y","@subimpact/data-mcp"],"env":{"APIFY_TOKEN":"<YOUR_APIFY_TOKEN>"}}'Install subimpact data MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"data-mcp": {
"command": "npx",
"args": [
"-y",
"@subimpact/data-mcp"
],
"env": {
"APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
}
}
}
}Install subimpact data MCP in Codex
$ codex mcp add data-mcp --env 'APIFY_TOKEN=<YOUR_APIFY_TOKEN>' -- npx -y @subimpact/data-mcpInstall subimpact data MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.data-mcp] command = "npx" args = ["-y", "@subimpact/data-mcp"] [mcp_servers.data-mcp.env] APIFY_TOKEN = "<YOUR_APIFY_TOKEN>"
Install subimpact data MCP in Gemini CLI
$ gemini mcp add -s user -e 'APIFY_TOKEN=<YOUR_APIFY_TOKEN>' data-mcp npx -- -y @subimpact/data-mcpInstall subimpact data MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"data-mcp": {
"command": "npx",
"args": [
"-y",
"@subimpact/data-mcp"
],
"env": {
"APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
}
}
}
}Configuration
APIFY_TOKENRequiredSecretYour Apify API token. Runs are billed to your Apify account at each actor's Store price.
| Name | Description | |
|---|---|---|
| APIFY_TOKEN | Your Apify API token. Runs are billed to your Apify account at each actor's Store price. | RequiredSecret |
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablesubimpact/data-mcp is public and reachablegithub.com/subimpact/data-mcp ↗Pass
- Package names this repository as its source@subimpact/data-mcp names subimpact/data-mcp as sourcenpmjs.com/package/@subimpact/data-mcp ↗Pass
- Build provenance (Sigstore attestation)No build attestation published for this releaseNot checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-10-29github.com/subimpact/data-mcp ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from @subimpact/data-mcpPass
- No critical advisory in the package or its dependencies99 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHub@subimpact/data-mcp
Public-data tools for AI agents, in one MCP server. Point it at your own Apify account and your model can search Google (organic results, People Also Ask, knowledge graph and full AI Overviews), run Google AI Mode queries, watch news mentions across Southeast Asian publishers, collect Google Maps places, Google Jobs, Trends, website contacts, page-to-markdown, Ads Transparency data, YouTube, TikTok, Eventbrite, ATS career pages, Substack, Bluesky, Lazada products, JSON-LD entity graphs, SEO audits and Pinterest — all as JSON instead of browser tabs. Every tool wraps one actor from the subimpact Apify Store: the server starts the actor with your APIFY_TOKEN, waits for it, and returns the dataset items. Nothing is scraped locally and no credentials of ours are involved.
Install
You need an Apify API token: console.apify.com → Settings → Integrations. Runs are billed to that Apify account at each actor's Store price (pay per event).
Claude Code
claude mcp add subimpact-data -e APIFY_TOKEN=... -- npx -y @subimpact/data-mcp
Claude Desktop
Add this to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
{
"mcpServers": {
"subimpact-data": {
"command": "npx",
"args": ["-y", "@subimpact/data-mcp"],
"env": {
"APIFY_TOKEN": "apify_api_your_token"
}
}
}
}
Cursor
Add the same block to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"subimpact-data": {
"command": "npx",
"args": ["-y", "@subimpact/data-mcp"],
"env": {
"APIFY_TOKEN": "apify_api_your_token"
}
}
}
}
Want a smaller tool list? Add "--tools", "google_search,news_mentions" to args, or set SUBIMPACT_TOOLS=google_search,news_mentions in env. get_run_results is always available.
Tools
| Tool | What it does | Price |
|---|---|---|
google_search |
Google search as JSON: full AI Overview answers (lists, citations, sources) plus organic results, People Also Ask, knowledge graph, top stories and local results in one… | Google SERP: $0.003 |
google_ai_mode |
Real Google AI Mode answers (udm=50 tab) rendered in Android Chrome, for any country and language: full answer, structured blocks, resolved source URLs and per-paragraph… | AI Mode search completed: $0.003 + platform usage |
news_mentions |
Search a curated index of publisher news feeds by keyword and get clean article rows: title, snippet, publisher URL, source, region, topic, language and publish time.… | Article: $0.001 + platform usage |
google_maps_places |
Extract Google Maps places with phone, website, rating, reviews, opening hours, popular times, images and place ID. Plain HTTP, no browser, $1.00 per 1,000 places.… | Place scraped: $0.001; Review scraped: $0.0005; Actor start: $0.00005; Add-on: Company contacts: $0.001 + platform usage |
google_jobs |
Scrape Google Jobs listings by query and country: title, company, location, source (LinkedIn, Indeed...), posted date, salary, job type, description and apply links. No… | Job: $0.001 + platform usage |
website_contacts |
Extract emails, phone numbers and social profile links (Facebook, Instagram, LinkedIn, X, TikTok, YouTube, WhatsApp, Telegram) from any list of websites. Plain HTTP, no… | Page scanned: $0.0008 + platform usage |
google_trends |
Scrape Google Trends interest-over-time, related queries/topics, and per-region interest for keywords. No API key, no browser, no captcha. Up to 5 keywords compared per… | Keyword trends bundle: $0.0025 + platform usage |
web_page_markdown |
Web search and fetch tool for AI agents and RAG pipelines. Queries Google Search, scrapes the top N pages over raw HTTP, and returns clean Markdown. $0.001 per page plus… | Page extracted: $0.001 + platform usage |
google_ads_transparency |
Scrape Google Ads Transparency Center: find advertisers by name or ID and export their ads with format, first and last shown dates, preview and ad links, filtered by… | Ad: $0.0008; Advertiser: $0.0005 + platform usage |
youtube |
Fast YouTube scraper with no browser and no API key: keyword search with filters, channel videos and Shorts, channel About data, playlists, video details (exact likes,… | Result: $0.001 + platform usage |
tiktok_hashtag |
High-speed TikTok hashtag scraper. Extract videos, views, likes, comments, shares, audio details, and creator profiles by hashtag at an ultra-competitive price. | Video: $0.001 |
eventbrite_events |
Scrape Eventbrite events with venue and organizer data by default. Search by city, keyword, category, price and dates, or by event URL or organizer. $2.00 per 1,000… | Event: $0.002 + platform usage |
company_career_jobs |
Get live job postings straight from company career pages — Greenhouse, Lever, Ashby, Workday, SmartRecruiters — normalized into one schema, with new-job monitoring for… | Job scraped: $0.001; Company monitored: $0.02 + platform usage |
substack |
Substack Intel API — Posts, Archives & Publication Stats | Run started: $0.00005; Post or publication row: $0.001 + platform usage |
bluesky |
Scrape Bluesky posts, profiles, threads, and follower graphs by keyword, hashtag, or handle. No login required. Fast AT Protocol API, JSON/CSV export, pay only per… | Post scraped: $0.001; Profile scraped: $0.002 + platform usage |
lazada_products |
Scrape Lazada search results and category pages across 6 SEA markets (MY/SG/TH/ID/PH/VN) with a real browser session via Apify residential proxy. Monitor price drops,… | Product scraped: $0.00099; Product checked: $0.003; Alert created: $0.01 + platform usage |
jsonld_entities |
Extract deeply nested JSON-LD, validate against Schema.org (979 types, 1,633 properties), and resolve disconnected blocks into one unified knowledge graph with typed… | Actor start: $0.00005; Page processed: $0.0015 + platform usage |
seo_page_audit |
Port of the SEO Minion extension as an API: full on-page audits per URL (meta tags, headings, images, links, structured data, hreflang) plus Google SERP snippet previews… | page audit: $0.001; SERP preview: $0.001 + platform usage |
pinterest |
Scrape Pinterest pins from keyword search, boards and profiles. Full-res originals, video variants, board/pinner metadata, repin counts. Pure HTTP - no browser, no… | Pin scraped: $0.00199; Media downloaded: $0.005 + platform usage |
rss_feed_reader |
Read RSS, RDF, Atom and JSON Feed URLs and get one clean JSON row per item: title, link, ISO dates, author, summary, categories, image, enclosures. Only-new mode for… | Feed item: $0.0005 + platform usage |
telegram_channel |
Scrape public Telegram channels via the t.me web preview: one row per post with text, date, views, media, link previews, polls, reactions, hashtags and links, plus… | Post: $0.0003; Channel info: $0.001 + platform usage |
google_flights |
Search Google Flights and get one row per flight option: fare, airlines, flight numbers, times, airports, stops, layovers, aircraft, legroom and CO2. One-way or round… | Flight search: $0.002 + platform usage |
my_grocery_prices |
One normalised Malaysian grocery price feed from 99 Bulksales, Jaya Grocer and KPDN PriceCatcher, with pack-size parsing, RM per kg / litre / piece unit prices and… | Product price row: $0.001 + platform usage |
Every tool also accepts two optional control parameters:
_maxItems(integer, default 50, max 1000) — how many dataset items come back to the model. It truncates the response only; the actor still collects (and charges for) what its input asks for._maxChargeUsd(number, default 0.5) — per-run spending cap in USD, sent to Apify as the run optionmaxTotalChargeUsd. The run stops when it reaches the cap, so an accidental large batch cannot cost more than this.
The extra get_run_results tool (runId, _maxItems, offset) fetches the status and items of a run that was still running when its tool call returned. Long jobs return a runId instead of blocking forever; call it later to collect the results.
Cost control
Every call is a real Apify run on your account, priced per event by the actor (for example google_search at $0.003 per SERP, news_mentions at $0.001 per article). There is no subscription and this server never charges you: Apify bills your account directly.
- Start with the default
_maxChargeUsdof$0.50; it is passed to Apify and enforced by the platform. - Use
_maxItemsto keep model context (and token spend on the model side) small. - Narrow the actor input instead of raising the cap when you need fewer, more targeted results.
- Each response includes
itemCount(total items in the dataset) andreturned(items sent to the model), so you can see when a result was truncated.
A single tool call waits up to SUBIMPACT_TIMEOUT_SECS (default 240 seconds). If the run is still going, you get its runId and can collect the results with get_run_results.
Configuration
| Variable | Required | Description |
|---|---|---|
APIFY_TOKEN |
yes (for calls) | Your Apify API token. tools/list works without it so directories can introspect the server. |
SUBIMPACT_TOOLS |
no | Comma-separated subset of tool names to expose, e.g. google_search,news_mentions. |
SUBIMPACT_TIMEOUT_SECS |
no | Per-call wait budget in seconds (default 240). |
SUBIMPACT_API_BASE |
no | Override the Apify API base URL (default https://api.apify.com/v2); meant for testing against a mock. |
CLI flags: --tools a,b,c, --help, --version.
What it is not
- Not a local scraper. It does not fetch pages or parse HTML itself; it runs Apify actors, which do the scraping on Apify's infrastructure.
- Not a credential holder of ours. The only token it uses is the
APIFY_TOKENyou set. The server ships with no secrets and calls no private backend. - Not free. Every tool call is an Apify run billed to your Apify account at the actor's Store price. The
_maxChargeUsdcap limits a single run, not your monthly Apify spend. - Not an official Apify product, and not affiliated with Google, TikTok, Meta, Lazada or the other platforms whose public data the actors read.
- Not a guarantee of data. Public sites change; review each actor's Store page for current coverage, pricing and limitations.
Development
npm install
npm run build # tsc + copy src/tools.json into dist/
npm test # offline tests: mocked fetch + a stdio round trip
npm run typecheck
npm run gen:readme # regenerate the tool table above from src/tools.json
node dist/index.js # run the stdio server
src/tools.json is a verbatim snapshot of public Apify Store actor metadata: tool names, descriptions, pay-per-event pricing and input schemas. The MCP tool definitions, descriptions and this README's tool table are generated from it.
License
MIT © 2026 subimpact network
subimpact data MCP questions
How do I add subimpact data MCP to Claude Code?
Run claude mcp add --env 'APIFY_TOKEN=<YOUR_APIFY_TOKEN>' data-mcp -- npx -y @subimpact/data-mcp in your terminal. Add --scope user to make it available in every project.
How do I add subimpact data MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
How much does using these tools cost?
Costs are billed directly to your Apify account based on the specific actor's Store price per event.
Can I limit how much money a single tool call spends?
Yes, you can use the _maxChargeUsd parameter to set a per-run spending cap in USD.
What if a tool takes a long time to finish?
If a job is long-running, the tool returns a runId which you can use with the get_run_results tool to collect the data later.