JUHE API Marketplace
jayozer avatar
MCP Server

Outscraper MCP Server

A Model Context Protocol server that provides access to Outscraper's data extraction services, implementing 8 tools for extracting data from Google services and domains including Maps, Reviews, Search, and contact information.

1
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "outscraper",
3 "command": "npx",
4 "args": [
5 "-y",
6 "@smithery/cli",
7 "run",
8 "outscraper-mcp"
9 ],
10 "env": {
11 "OUTSCRAPER_API_KEY": "your_api_key_here"
12 }
13}
JSON13 lines

README Documentation

Outscraper MCP Server

smithery badge PyPI version

A streamlined Model Context Protocol (MCP) server that provides access to Outscraper's Google Maps data extraction services. This server implements 2 essential tools for extracting Google Maps data with high reliability.

🚀 Features

Google Maps Data Extraction

  • 🗺️ Google Maps Search - Search for businesses and places with detailed information
  • ⭐ Google Maps Reviews - Extract customer reviews from any Google Maps place

Advanced Capabilities

  • Data Enrichment - Enhance results with additional contact information via enrichment parameter
  • Multi-language Support - Search and extract data in different languages
  • Regional Filtering - Target specific countries/regions for localized results
  • Flexible Sorting - Sort reviews by relevance, date, rating, etc.
  • Time-based Filtering - Filter reviews by date using cutoff parameter
  • High Volume Support - Handles async processing for large requests automatically

📦 Installation

Installing via Smithery (Recommended)

To install the Outscraper MCP server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install outscraper-mcp --client claude

Installing via PyPI

# Using pip
pip install outscraper-mcp

# Using uv (recommended)
uv add outscraper-mcp

# Using uvx for one-time execution
uvx outscraper-mcp

Manual Installation

git clone https://github.com/jayozer/outscraper-mcp
cd outscraper-mcp

# Using uv (recommended)
uv sync

# Using pip
pip install -e .

🔧 Configuration

Get Your API Key

  1. Sign up at Outscraper
  2. Get your API key from the profile page

Set Environment Variable

export OUTSCRAPER_API_KEY="your_api_key_here"

Or create a .env file:

OUTSCRAPER_API_KEY=your_api_key_here

🛠️ Client Configuration

Claude Desktop

Add to your claude_desktop_config.json:

Via Smithery (Automatic):

{
  "mcpServers": {
    "outscraper": {
      "command": "npx",
      "args": ["-y", "@smithery/cli", "run", "outscraper-mcp"],
      "env": {
        "OUTSCRAPER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Via Local Installation:

{
  "mcpServers": {
    "outscraper": {
      "command": "uvx",
      "args": ["outscraper-mcp"],
      "env": {
        "OUTSCRAPER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Via Manual Installation:

{
  "mcpServers": {
    "outscraper": {
      "command": "uv",
      "args": ["run", "python", "-m", "outscraper_mcp"],
      "env": {
        "OUTSCRAPER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor AI

Automatic Installation with UVX (Recommended):

{
  "mcpServers": {
    "outscraper": {
      "command": "uvx",
      "args": ["outscraper-mcp"],
      "env": {
        "OUTSCRAPER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Manual Installation:

{
  "mcpServers": {
    "outscraper": {
      "command": "outscraper-mcp",
      "env": {
        "OUTSCRAPER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Note for Cursor Users: The configuration file is typically located at:

  • macOS: ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Windows: %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • Linux: ~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

🛠️ Tools Reference

google_maps_search

Search for businesses and places on Google Maps

# Parameters:
query: str              # Search query (e.g., 'restaurants brooklyn usa')
limit: int = 20         # Number of results (max: 400)
language: str = "en"    # Language code
region: str = None      # Country/region code (e.g., 'US', 'GB')
drop_duplicates: bool = False  # Remove duplicate results
enrichment: List[str] = None   # Additional services ['domains_service', 'emails_validator_service']

google_maps_reviews

Extract reviews from Google Maps places

# Parameters:
query: str              # Place query, place ID, or business name
reviews_limit: int = 10 # Number of reviews per place (0 for unlimited)
limit: int = 1          # Number of places to process
sort: str = "most_relevant"  # Sort order: 'most_relevant', 'newest', 'highest_rating', 'lowest_rating'
language: str = "en"    # Language code
region: str = None      # Country/region code
cutoff: int = None      # Unix timestamp for reviews after specific date

🚀 Running the Server

Development & Testing

# FastMCP Inspector - Web-based testing dashboard
fastmcp dev outscraper_mcp/server.py

# Then open your browser to: http://127.0.0.1:6274
# Interactive testing of Google Maps tools with real-time responses

Stdio Transport (Default)

# Via PyPI installation
outscraper-mcp

# Via uv
uv run python -m outscraper_mcp

# Via manual installation
python -m outscraper_mcp

HTTP Transport

from outscraper_mcp import mcp

if __name__ == "__main__":
    mcp.run(transport="streamable-http", host="127.0.0.1", port=8000)

💡 Usage Examples

Example 1: Find Restaurants and Get Reviews

# 1. Search for restaurants
results = google_maps_search(
    query="italian restaurants manhattan nyc",
    limit=5,
    language="en",
    region="US"
)

# 2. Get reviews for a specific place
reviews = google_maps_reviews(
    query="ChIJrc9T9fpYwokRdvjYRHT8nI4",  # Place ID from search results
    reviews_limit=20,
    sort="newest"
)

Example 2: Lead Generation with Enrichment

# Find businesses with enhanced contact information
businesses = google_maps_search(
    query="digital marketing agencies chicago",
    limit=20,
    enrichment=["domains_service", "emails_validator_service"]
)

# Get detailed reviews for sentiment analysis
for business in businesses:
    if business.get('place_id'):
        reviews = google_maps_reviews(
            query=business['place_id'],
            reviews_limit=10,
            sort="newest"
        )

Example 3: Market Research

# Research competitors in specific area
competitors = google_maps_search(
    query="coffee shops downtown portland",
    limit=50,
    region="US"
)

# Analyze recent customer feedback
recent_reviews = google_maps_reviews(
    query="coffee shops downtown portland",
    reviews_limit=100,
    sort="newest"
)

🔄 Integration with MCP Clients

This server is compatible with any MCP client, including:

📊 Rate Limits & Pricing

  • Check Outscraper Pricing for current rates
  • API key usage is tracked per request
  • Consider implementing caching for frequently accessed data

🐛 Troubleshooting

Common Issues

  1. Import Error: Make sure you've installed the package correctly

    pip install --upgrade outscraper-mcp
    
  2. API Key Error: Verify your API key is set correctly

    echo $OUTSCRAPER_API_KEY
    
  3. No Results: Check if your query parameters are valid

  4. Rate Limits: Implement delays between requests if needed

Enable Debug Logging

import logging
logging.basicConfig(level=logging.DEBUG)

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

📄 License

Experimental Software License - see LICENSE file for details.

Notice: This software is experimental and free to use for all purposes. Created by Jay Ozer.

🔗 Links


Built with Blu Goldens

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source