Available Tools
JobSpy exposes two MCP tools:scrape_jobs
Scrape job listings from multiple job boards (LinkedIn, Indeed, Glassdoor, Google, ZipRecruiter, Bayt, Naukri, BDJobs).
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
site_name | string[] | all sites | Job boards to scrape (optional) |
search_term | string | — | Job title or search query |
google_search_term | string | — | Override search term for Google Jobs only |
location | string | — | Job location (e.g., “San Francisco, CA”) |
distance | number | 50 | Search radius in miles |
is_remote | boolean | false | Filter for remote jobs only |
job_type | string | — | Filter by type: fulltime, parttime, contract, internship |
results_wanted | number | 10 | Number of results to return per site |
country_indeed | string | "usa" | Country for Indeed/Glassdoor (e.g., usa, uk, canada) |
hours_old | number | — | Filter jobs posted within last N hours |
description_format | string | "markdown" | Format: markdown, html, or plain |
linkedin_fetch_description | boolean | false | Fetch full LinkedIn descriptions (slower) |
indeed_fetch_description | boolean | false | Fetch full Indeed job pages/descriptions |
fetch_job
Fetch full details for a single job by its provider-specific ID.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
site | string | Yes | Job board: linkedin, indeed, zip_recruiter, glassdoor, google, bayt, naukri, bdjobs |
job_id | string | Yes | Provider-specific job ID |
description_format | string | No | Format: markdown (default), html, or plain |
Usage Examples
Basic Job Search
Simply ask Claude to search for jobs using natural language:scrape_jobs tool with appropriate parameters and return formatted results.
Advanced Searches
- Filter by Type
- Specific Job Board
- Time-Filtered
- International
search_term: "software engineer"location: "San Francisco, CA"job_type: "contract"distance: 25
Fetching Job Details
After getting search results, you can ask Claude to fetch full details for specific jobs:fetch_job with:
site: "linkedin"job_id: "4127292817"
- Full description (with formatting)
- Company information
- Salary details
- Job requirements
- Benefits
- Application instructions
Example Workflow
1. **Senior Backend Engineer**
Company: Stripe
Location: San Francisco, CA
URL: https://linkedin.com/jobs/view/4127292817
Posted: 2026-03-04
Salary: $150,000 - $220,000 (yearly)
Type: fulltime
2. **Backend Software Engineer (Senior)**
Company: Airbnb
Location: San Francisco, CA (Remote)
URL: https://indeed.com/viewjob?jk=abc123
...
Supported Job Boards
| Site | site_name Value | Notes |
|---|---|---|
linkedin | HTML scraping; may require credentials for high volume | |
| Indeed | indeed | GraphQL API; supports 60+ countries |
| Glassdoor | glassdoor | GraphQL API; uses same country parameter as Indeed |
| Google Jobs | google | Requires Playwright; use clean residential IP |
| Google Careers | google_careers | Jobs at Google the company specifically |
| ZipRecruiter | zip_recruiter | Web scraping |
| Bayt | bayt | Middle East job board |
| Naukri | naukri | India job board (REST API) |
| BDJobs | bdjobs | Bangladesh job board (REST API) |
Response Format
Thescrape_jobs tool returns formatted text with job listings:
fetch_job tool returns complete job details as structured JSON:
Tips and Best Practices
Start broad, then narrow
Start broad, then narrow
Begin with a general search across multiple sites, then refine:
- “Find software engineer jobs in Seattle”
- Review results and identify patterns
- “Now search only LinkedIn for senior backend engineer positions in Seattle with salaries above $150k”
Use time filters for active job hunts
Use time filters for active job hunts
When actively searching for jobs, use This helps you apply early before positions get flooded with applications.
hours_old to see only fresh postings:Fetch details selectively
Fetch details selectively
Full job fetches are slower (especially on LinkedIn). Only request full details for jobs that look promising from the initial search results.
Specify job boards for best results
Specify job boards for best results
Different sites have different strengths:
- LinkedIn: Tech jobs, networking opportunities, company culture
- Indeed: Broad coverage, all industries
- Glassdoor: Salary data, company reviews
- Google Jobs: Aggregates from multiple sources
- ZipRecruiter: Quick apply options
Handle rate limiting gracefully
Handle rate limiting gracefully
If you get rate-limited (especially on LinkedIn):
- Reduce
results_wantedto 10-15 per site - Wait a few minutes before trying again
- Use credentials if available (see Setup)
- Consider using a proxy
Common Patterns
Job Hunt Automation
Market Research
Company-Specific Searches
While you can’t directly filter by company in the MCP tools, you can ask Claude to search and filter:Follow-up Queries
Claude maintains context, so you can refine searches iteratively:Limitations
Next Steps
SDK Usage
Use JobSpy programmatically in your own applications
CLI Usage
Run JobSpy from the command line
