Outscraper MCP Server

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 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
pip install outscraper-mcp
uv add outscraper-mcp
uvx outscraper-mcp
Manual Installation
git clone https://github.com/jayozer/outscraper-mcp
cd outscraper-mcp
uv sync
pip install -e .
🔧 Configuration
Get Your API Key
- Sign up at Outscraper
- 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
query: str
limit: int = 20
language: str = "en"
region: str = None
drop_duplicates: bool = False
enrichment: List[str] = None
google_maps_reviews
Extract reviews from Google Maps places
query: str
reviews_limit: int = 10
limit: int = 1
sort: str = "most_relevant"
language: str = "en"
region: str = None
cutoff: int = None
🚀 Running the Server
Development & Testing
fastmcp dev outscraper_mcp/server.py
Stdio Transport (Default)
outscraper-mcp
uv run python -m outscraper_mcp
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
results = google_maps_search(
query="italian restaurants manhattan nyc",
limit=5,
language="en",
region="US"
)
reviews = google_maps_reviews(
query="ChIJrc9T9fpYwokRdvjYRHT8nI4",
reviews_limit=20,
sort="newest"
)
Example 2: Lead Generation with Enrichment
businesses = google_maps_search(
query="digital marketing agencies chicago",
limit=20,
enrichment=["domains_service", "emails_validator_service"]
)
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
competitors = google_maps_search(
query="coffee shops downtown portland",
limit=50,
region="US"
)
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
-
Import Error: Make sure you've installed the package correctly
pip install --upgrade outscraper-mcp
-
API Key Error: Verify your API key is set correctly
echo $OUTSCRAPER_API_KEY
-
No Results: Check if your query parameters are valid
-
Rate Limits: Implement delays between requests if needed
Enable Debug Logging
import logging
logging.basicConfig(level=logging.DEBUG)
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- 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