Overview
TheScrapeJobsParams interface defines all available parameters for the scrapeJobs() function. It provides fine-grained control over which sites to scrape, search criteria, authentication, output format, and more.
Interface Definition
Parameters
Search Criteria
Job boards to scrape. Accepts:
- Single string:
'linkedin' - Array of strings:
['linkedin', 'indeed'] - Site enum:
Site.LINKEDIN - Array of Site enums:
[Site.LINKEDIN, Site.INDEED]
linkedin, indeed, zip_recruiter, glassdoor, google, google_careers, bayt, naukri, bdjobsJob title or keywords to search for (e.g.,
'software engineer', 'product manager')Custom search term specifically for Google job search (overrides
search_term for Google)Geographic location (e.g.,
'San Francisco, CA', 'New York', 'remote')Search radius in miles from the specified location (default varies by site)
Filter for remote/work-from-home positions only
Filter by employment type. Accepts:
'fulltime', 'parttime', 'contract', 'temporary', 'internship'Filter for jobs with “Easy Apply” or quick application features (LinkedIn only)
Maximum number of jobs to return (default: 15)
Only return jobs posted within the last N hours (e.g.,
24 for jobs from the last day)Number of results to skip (for pagination)
Site-Specific Options
Country code for Indeed (e.g.,
'usa', 'uk', 'canada'). See full list in Country documentation.Fetch full job descriptions from LinkedIn (slower but more complete data)
Fetch full job descriptions from Indeed (slower but more complete data)
Array of LinkedIn company IDs to filter by (e.g.,
[1441, 2374] for Google and Microsoft)Output Format
Format for job descriptions. Options:
'markdown'- Markdown formatted text'html'- HTML markup'plain'- Plain text (default)
Convert all salaries to annual equivalents (useful for comparing hourly vs. yearly compensation)
Logging verbosity level (0 = silent, 1 = errors only, 2 = warnings, 3 = info, 4 = debug)
Proxy Configuration
HTTP/HTTPS proxy servers to route requests through. Accepts:
- Single proxy:
'http://proxy.example.com:8080' - Array of proxies:
['http://proxy1.com:8080', 'http://proxy2.com:8080']
protocol://[username:password@]host:portAuthentication
Enable authenticated scraping when anonymous scraping is blocked. Can also be set via
JOBSPY_CREDS=1 environment variable.Pre-built credentials object (takes precedence over individual username/password fields). See ProviderCredentials.
LinkedIn account email/username. Can also be set via
LINKEDIN_USERNAME environment variable.LinkedIn account password. Can also be set via
LINKEDIN_PASSWORD environment variable.Indeed account email/username. Can also be set via
INDEED_USERNAME environment variable.Indeed account password. Can also be set via
INDEED_PASSWORD environment variable.Glassdoor account email/username. Can also be set via
GLASSDOOR_USERNAME environment variable.Glassdoor account password. Can also be set via
GLASSDOOR_PASSWORD environment variable.ZipRecruiter account email/username. Can also be set via
ZIPRECRUITER_USERNAME environment variable.ZipRecruiter account password. Can also be set via
ZIPRECRUITER_PASSWORD environment variable.Bayt account email/username. Can also be set via
BAYT_USERNAME environment variable.Bayt account password. Can also be set via
BAYT_PASSWORD environment variable.Naukri account email/username. Can also be set via
NAUKRI_USERNAME environment variable.Naukri account password. Can also be set via
NAUKRI_PASSWORD environment variable.BDJobs account email/username. Can also be set via
BDJOBS_USERNAME environment variable.BDJobs account password. Can also be set via
BDJOBS_PASSWORD environment variable.State Management
Profile name to load from
jobspy.json config file (CLI only)Path to state file for deduplication tracking (default:
~/.config/jobspy/state.json)Skip deduplication of jobs across sites (faster but may return duplicates)
Example Usage
Basic Search
Advanced Filtering
With Authentication
With Proxies
Company-Specific Search
Notes
- All parameters are optional, but at least
site_nameis recommended for meaningful results. - Environment variables take precedence over parameters for credential fields.
- The
credentialsobject takes precedence over individual username/password parameters. - Authenticated scraping (
use_creds: true) should only be used when anonymous scraping fails. - Fetching full descriptions (
linkedin_fetch_description,indeed_fetch_description) significantly increases scraping time.
Related Types
- JobResponse - Return type from scrapeJobs()
- ProviderCredentials - Authentication credentials structure
- Site enum - Supported job board identifiers
- scrapeJobs() - Main scraping function
