mcp-name: io.github.jlucasmcrell/apify-scrapers
Apify Public Data Scrapers & Extractors
A curated collection of reliable, production-ready scrapers and public-data extractors hosted on the Apify Store.
Each actor is built with strict schema validation, deterministic field mapping, self-healing DOM selectors, and pay-per-event pricing (per-result rates from $0.00015, Actor-start from $0.0005; the live Apify Store price is authoritative).
Quick Navigation
- Available Extractors & Store Listings
- Python Quickstart
- Node.js Quickstart
- No-Code & Automation Workflows (n8n, Sheets, Slack)
- Pre-Built Example Tasks (Zero Code)
- Free Sample Datasets
- AI Agent & MCP Integration (Claude Desktop, Cursor, Custom Agent)
- In-Depth Engineering Guides
- Repository Structure
- Contributing & Author
Available Extractors & Store Listings
| Tool | Store Link | Key Output Fields | Best For |
|---|---|---|---|
| Google Maps Business Leads | captainhandsome/google-maps-business-search |
Name, phone, website, rating, reviews, address, coordinates, hours | B2B lead generation, local agency prospecting |
| Glassdoor Jobs & Salaries | captainhandsome/glassdoor-jobs-scraper |
Title, company, salary estimate, rating, location, job URL, posting date | Hiring intelligence, compensation benchmarking |
| Airbnb Vacation Rentals | captainhandsome/airbnb-listings-search |
Title, room type, nightly price, rating, reviews count, listing URL | Real estate research, market rate tracking |
| SEC EDGAR Corporate Filings | captainhandsome/sec-edgar-filings-search |
Ticker, CIK, form (10-K, 10-Q, 8-K), filing date, primary document URL | Financial diligence, equity research, compliance |
| USAspending Federal Awards | captainhandsome/usaspending-federal-awards |
Recipient vendor, award amount, awarding agency, description, dates | Government contracting, procurement intel |
| LinkedIn Public Jobs | captainhandsome/linkedin-public-jobs-search |
Job title, employer, location, direct apply URL, posting age | Recruitment, tech talent monitoring |
| Google Play App Reviews | captainhandsome/google-play-reviews-scraper |
Review text, star score, thumbs up, date, reviewer name | App store sentiment, competitor feedback |
| YouTube Video Search | captainhandsome/youtube-search-scraper |
Title, video URL, channel, views count, duration, publish date | Content tracking, creator outreach |
| Twitch Live Streams | captainhandsome/twitch-live-streams-scraper |
Streamer username, title, viewer count, language, category | Esports analytics, live stream monitoring |
| US Contractor Licenses | captainhandsome/us-contractor-license-search |
Contractor name, license number, classification, status, state | Trades verification, subcontractor diligence |
| US Business Entity Registries | captainhandsome/us-business-entity-search |
Legal entity name, filing number, jurisdiction, status | Legal due diligence, corporate registration checks |
Python Quickstart
1. Install dependencies
pip install apify-client pandas python-dotenv
2. Export 50 Google Maps Leads to CSV
import os
from apify_client import ApifyClient
import pandas as pd
# Get your API token from https://console.apify.com/account/integrations
client = ApifyClient(os.getenv("APIFY_TOKEN"))
# Run the actor
run = client.actor("captainhandsome/google-maps-business-search").call(run_input={
"search_query": "commercial electricians",
"location": "Dallas, Texas",
"max_items": 50,
"include_details": True,
})
# Fetch dataset items and export to CSV
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
df = pd.DataFrame(items)
df.to_csv("dallas_electricians.csv", index=False)
print(f"Exported {len(df)} leads to dallas_electricians.csv")
See examples/google_maps_leads_to_csv.py for the full script.
Node.js Quickstart
1. Install dependencies
npm install apify-client
2. Query SEC EDGAR Filings
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('captainhandsome/sec-edgar-filings-search').call({
companies: ['AAPL', 'NVDA', 'MSFT'],
forms: ['10-K'],
max_items: 15,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(filing => {
console.log(`[${filing.ticker}] ${filing.form} (${filing.filing_date}): ${filing.primary_document_url}`);
});
See examples/sec_filings.js for the full script.
No-Code & Automation Workflows
If you automate via n8n, Make, Zapier, or Google Sheets, ready-to-import blueprints are included in workflows/:
- Google Maps Leads to Google Sheets (n8n): Daily automated cron scrape piping HVAC/trade leads directly into Google Sheets with deduplication.
- SEC EDGAR 10-K & 8-K Alerts to Slack (n8n): Hourly monitor alerting Slack or Discord when watchlisted public companies drop new filings.
Pre-Built Example Tasks (Zero Code)
If you prefer runnable web UI tasks without writing any code, each actor includes pre-configured tasks published on Apify Store:
Google Maps Leads
- Phoenix HVAC Company Leads
- Dallas Commercial Electrician Leads
- Chicago Italian Restaurants & Reviews
Glassdoor Jobs
Airbnb Rentals
YouTube & Google Play
Free Sample Datasets
Looking for clean data to benchmark, analyze, or train models? Verified sample bundles with metadata schemas are available in datasets/ and hosted publicly on Hugging Face Datasets:
- Phoenix HVAC Contractor Leads:
datasets/phoenix_hvac_leads/| Hugging Face Hub (20 verified HVAC contractor profiles with ratings, addresses, and phone numbers). - California Licensed Contractors:
datasets/california_solar_contractors/| Hugging Face Hub (Active C-46 and B licensed solar installers with state verification numbers). - Austin Software Engineer Postings:
datasets/austin_software_jobs/| Hugging Face Hub (Normalized job listings with estimated posting dates and salary ranges).
AI Agent & MCP Integration
All actors in this repository conform to OpenAPI and JSON Schema standards, making them directly callable by AI agents via the Model Context Protocol (MCP):
Option 1: Claude Desktop / Cursor with UVX (Recommended)
Add this to your claude_desktop_config.json or Cursor MCP settings:
{
"mcpServers": {
"apify-data-scrapers": {
"command": "uvx",
"args": ["apify-data-scrapers"],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_API_TOKEN"
}
}
}
}
Option 2: Docker Container (Glama / Cloud)
Run via Docker:
{
"mcpServers": {
"apify-data-scrapers": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "APIFY_TOKEN", "glcr.b-cdn.net/jlucasmcrell/apify-scrapers:latest"],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_API_TOKEN"
}
}
}
}
Option 3: Local Python Stdio Runner
Install via pip or run directly:
pip install apify-data-scrapers
export APIFY_TOKEN="your_token_here"
apify-data-scrapers
Or from local source:
python mcp_server.py
Agent Prompts That Work Out-of-the-Box:
- "Search Google Maps for 50 commercial roofers in Atlanta with phone numbers and websites."
- "Retrieve Apple and Microsoft Form 10-K filings from SEC EDGAR for the last 2 years."
- "Search Glassdoor for remote product manager jobs with salary estimates."
In-Depth Engineering Guides
Technical case studies and problem-solution writeups are located in articles/:
- Bypassing Playwright Headless Pagination Hurdles on Airbnb: How to solve sticky overlay modal interruptions and viewport boundary clipping in large headless browser crawls.
- Extracting & Normalizing Clean Job Posting Dates from Glassdoor: Overcoming relative timestamp drift ("24h", "3d", "30d+") with deterministic parsing and ISO-8601 boundary tracking.
Repository Structure
apify-scrapers/
README.md # Documentation and quickstart
LICENSE # MIT License
requirements.txt # Python client dependencies
package.json # Node.js dependencies
mcp.json # MCP tool registry specification
mcp_server.py # Native Python stdio MCP server
articles/ # In-depth engineering case studies
airbnb_playwright_pagination_guide.md
glassdoor_posting_dates_guide.md
reddit_community_responses.md # Reference technical answers for forums
datasets/ # Sample benchmark datasets
phoenix_hvac_leads/
california_solar_contractors/
austin_software_jobs/
workflows/ # No-code automation templates
n8n_google_maps_to_sheets.json
n8n_sec_edgar_to_slack.json
README.md
examples/ # Standalone developer scripts
google_maps_leads_to_csv.py
sec_edgar_filings_downloader.py
glassdoor_jobs_tracker.py
airbnb_market_scraper.py
usaspending_defense_awards.py
twitch_live_stream_monitor.py
google_maps_leads.js
sec_filings.js
Author & Support
Maintained by Joseph McRell.
- Apify Store: https://apify.com/captainhandsome
- GitHub: @jlucasmcrell
- Hugging Face: @joeygambino
- Issues & Requests: Please open an issue on this repository or submit a ticket on the respective Apify Actor Store page.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for apify-data-scrapers 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| apify_data_scrapers-1.0.7.tar.gz | 15.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| apify_data_scrapers-1.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.6 kB
Release files / apify_data_scrapers-1.0.7.tar.gz
| Download URL | apify_data_scrapers-1.0.7.tar.gz |
|---|---|
| Size | 15.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd6e67cd52f3c715ae03d79fae62dc8c7b960fa953f670341b0f107530aeba3d
|
|
BLAKE2b-256 checksum How to use checksums |
cb44b6d52c47e23b362cc3a3830c2eb0ceae30ba08a8c70297337554a5fc0729
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|
Release files / apify_data_scrapers-1.0.7-py3-none-any.whl
| Download URL | apify_data_scrapers-1.0.7-py3-none-any.whl |
|---|---|
| Size | 15.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ce6976942fac88cec9542153c1f1d231249912c9c52009e9c3ec73e188fbc80
|
|
BLAKE2b-256 checksum How to use checksums |
95b459c16a238464f8f9230c501b14e3789d09f300e4cfbef948e06405a7a7c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|