ScraperCity

आधिकारिक

B2B लीड जनरेशन MCP सर्वर - Apollo, Google Maps, ईमेल फाइंडर, स्किप ट्रेस, और 15+ अधिक टूल्स।

ScraperCity MCP के साथ आप क्या कर सकते हैं?

  • Scrape local businesses — Pull Google Maps listings with phones, emails, and reviews for a search and location, then poll the run and download a CSV.
  • Find B2B contacts — Query the lead database or scrape Apollo for people by job title, industry, and location.
  • Validate and find emails — Verify deliverability with validate_emails or find a business email from a name and company.
  • Look up mobile numbers — Find phone numbers from a LinkedIn profile or email, or skip trace by name, email, phone, or address.
  • Check run status and download — Track a scrape's progress and save finished results as CSV once it succeeds.

दस्तावेज़

ScraperCity - B2B Lead Generation for AI Agents

Pull leads, validate emails, find mobile numbers, and scrape business data - all from your AI agent, CLI, or code. One package: the MCP server, the CLI and the JavaScript SDK. The Python SDK is pip install scrapercity.

ScraperCity gives AI agents access to 15+ B2B data tools: Apollo scraping, Google Maps extraction, email finding/validation, mobile number lookup, skip tracing, ecommerce store data, criminal records, and more.

Start Here (no API key needed)

npx scrapercity start "dentists in Austin"

Or have your agent call the start_here MCP tool, or GET https://app.scrapercity.com/api/v1/start?query=.... With no key you get a guided tour: what ScraperCity is, how to sign up, the plans and the trial with their live terms, and real searches with live counts. With a key it plans for your account and returns the exact next call.

The trial, plainly: The trial is real usage, not a demo or a free tier: $5 of credit for 7 days that works on every tool and database at the normal prices, so you can pull real records on day one and judge the data. A card is required at signup. When the 7 days end, the plan picked at signup starts; cancel before then from billing and nothing more is charged. If the credit runs out sooner, database pulls wait (nothing is charged for them); a scraper run that goes past the credit starts the plan early. Planning searches and checking counts are free. start_here returns the live terms.

Quick Start

Option 1: CLI

npx scrapercity login            # enter your API key
npx scrapercity wallet           # check balance
npx scrapercity maps -q "plumbers" -l "Denver, CO"
npx scrapercity poll <runId>     # wait for results
npx scrapercity download <runId> # save CSV

Option 2: MCP Server (Claude Code, Cursor, Windsurf, etc.)

Add to your MCP config (e.g. ~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "scrapercity": {
      "command": "npx",
      "args": ["-y", "--package", "scrapercity", "scrapercity-mcp"],
      "env": {
        "SCRAPERCITY_API_KEY": "your_api_key_here"
      }
    }
  }
}

Then tell your AI: "Find 1000 plumbers in Denver with emails using ScraperCity"

Option 3: Skill File (Claude Code)

Copy the skill file into your project:

npx scrapercity-mcp --print-skill > SCRAPERCITY_SKILL.md

Or download from: https://scrapercity.com/agents/SKILL.md

Then in Claude Code: "Read SCRAPERCITY_SKILL.md and find me 2000 marketing directors at SaaS companies in California, validate their emails, and save to leads.csv"

Option 4: Direct API

# Start a Maps scrape
curl -X POST https://app.scrapercity.com/api/v1/scrape/maps \
  -H "Authorization: Bearer $SCRAPERCITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"searchStringsArray":["plumbers"],"locationQuery":"Denver, CO","maxCrawledPlacesPerSearch":500}'

# Check status
curl https://app.scrapercity.com/api/v1/scrape/status/RUN_ID \
  -H "Authorization: Bearer $SCRAPERCITY_API_KEY"

# Download CSV when SUCCEEDED
curl -O https://app.scrapercity.com/api/downloads/RUN_ID \
  -H "Authorization: Bearer $SCRAPERCITY_API_KEY"

Option 5: JavaScript SDK

npm install scrapercity
import { configure, wallet, dbLeads, callTool, TOOLS, openaiTools, anthropicTools } from 'scrapercity'

configure({ apiKey: process.env.SCRAPERCITY_API_KEY })
await wallet()
await dbLeads({ title: 'CEO', country: ['United States'], hasEmail: 'true', limit: 25 })

// Every tool the MCP server offers, by name, with the same arguments
await callTool('plan_search', { query: 'dentists in Austin, Texas' })

// Hand the whole tool list to OpenAI or Anthropic tool calling
const tools = openaiTools()        // or anthropicTools()

Option 6: Python SDK

pip install scrapercity                 # add [langchain] or [openai] for agent tools
from scrapercity import ScraperCity, langchain_tools
sc = ScraperCity()                      # reads SCRAPERCITY_API_KEY
sc.call_tool("query_lead_database", {"title": "CEO", "limit": 10})
tools = langchain_tools()               # LangChain / LangGraph

Both SDKs carry the same tool list as the MCP server, regenerated from the live API docs on every release. Guide: scrapercity.com/sdk. Python package: pypi.org/project/scrapercity.

Pricing (auto-generated from the live catalog — do not edit)

ToolEndpointPrice
scrape_apollo/api/v1/scrape/apollo$0.0039 per lead
scrape_website_finder/api/v1/scrape/website-finder$0.0499 per contact found
find_people/api/v1/scrape/skip-trace$0.0199 per result (searches with 0 matches are billed as 1 result)
scrape_distress_list/api/v1/scrape/distress-list$0.05 per property
validate_emails/api/v1/scrape/email-validator$0.0017 per email
scrape_maps/api/v1/scrape/maps$0.0099 per business
scrape_airbnb/api/v1/scrape/airbnb-email$0.019 per result ($19.00 per 1,000)
scrape_bizbuysell/api/v1/scrape/bizbuysell-scraper$0.0099 per listing
scrape_crexi/api/v1/scrape/crexi-scraper$0.029 per property
scrape_angi/api/v1/scrape/angi-angies-list-scraper$0.0099 per listing
scrape_yelp/api/v1/scrape/yelp-scraper$0.0099 per result
scrape_zillow_agents/api/v1/scrape/zillow-agents$0.029 per agent
scrape_property_lookup/api/v1/scrape/property-lookup$0.15 per property (+$0.10 for owner contact)
search_criminal_records/api/v1/scrape/criminal-records$1.00 per search (only charged if records found)
scrape_store_leads/api/v1/scrape/store-leads$0.0039 per lead
scrape_builtwith/api/v1/scrape/techstack$4.99 per technology
scrape_signals/api/v1/scrape/signals$0.0094 per company running ads, $0.0009 per website per platform checked, $0.0043 per company hiring; minimum charge per search
find_emails/api/v1/scrape/email-finder$0.05 per email found (FREE if not found)
find_mobiles/api/v1/scrape/mobile-finder$0.25 per number found (FREE if not found)

Available Tools

ToolWhat it doesCost
ApolloB2B contacts by job title, industry, location$0.0039/lead
Google MapsLocal businesses with phones, emails, reviews$0.01/place
Email ValidatorVerify deliverability, catch-all, MX records$0.0036/email
Email FinderFind business email from name + company$0.05/contact
Mobile FinderPhone numbers from LinkedIn or email$0.25/input
People FinderSkip trace by name, email, phone, address$0.02/result
Store LeadsShopify/WooCommerce stores with contacts$0.0039/lead
BuiltWithAll sites using a technology$4.99/search
Criminal RecordsBackground check by name$1.00 if found
Lead DatabaseB2B contacts, instant queryIncluded on $149/mo and up; per new lead from credits below it
Local Business DatabaseLocal businesses with phones, emails and ratings, instant queryIncluded on $149/mo and up; per new business from credits below it

Before You Send

Leads from any database: check them before outreach. Every record carries email_check_status (our own email checker: valid, valid_catch_all, invalid, unknown, not_checked): send ONLY to valid emails checked in the last 30 days (email_checked_on), and put every other email through validate_emails first. For people (Lead Database), pass replaceLeftContacts: true to query_lead_database (query_local_business_database and query_ecommerce_database take it too, for each business's or store's contact person); the response adds replacement.run_id, a run that checks every email and swaps each person who has left for the person in that role now. Wait for it with check_run_status, then send the CSV from download_results ($0.02 per contact replaced, free on the $649 plan). At minimum, run the emails through validate_emails and send only to the valid ones.

How It Works

  1. Start a scrape → get a runId
  2. Poll status (or use webhooks) → wait for SUCCEEDED
  3. Download CSV → leads with full contact info

Apollo scrapes usually take 15-30 minutes. All other scrapers: 1-30 minutes. Store leads are instant.

Authentication

Get your API key at app.scrapercity.com/dashboard/api-docs

# Environment variable (recommended)
export SCRAPERCITY_API_KEY="your_key"

# Or save to config file
npx scrapercity login

Webhooks

For Apollo and long-running scrapes, configure a webhook at app.scrapercity.com/dashboard/webhooks to get notified when results are ready.

Plans

PlanPriceCredits
Trial7 days, card required, then the plan picked at signup$5 of usage credit
Starter$49/mo$49 (databases per record from credits)
Growth$149/mo$149 + 10% bonus, databases included
Scale$649/mo$649 + 30% bonus, databases included, higher limits

Buy additional credits anytime. scrapercity.com/pricing

Links

License

MIT