scrape_jobs() returns a standard Pandas DataFrame. You can use any pandas export method to save results to disk.
DataFrame columns
Results are always returned in the following column order:| Column | Description |
|---|---|
id | Internal job ID |
site | Source job board |
job_url | URL to the job listing |
job_url_direct | Direct application URL (if available) |
title | Job title |
company | Company name |
location | City, state, and/or country |
date_posted | Date the job was posted |
job_type | Employment type (e.g. fulltime, contract) |
salary_source | direct_data or description |
interval | Pay interval (yearly, monthly, weekly, daily, hourly) |
min_amount | Minimum salary/pay |
max_amount | Maximum salary/pay |
currency | Currency code (e.g. USD) |
is_remote | Whether the job is remote |
job_level | Seniority level (LinkedIn only) |
job_function | Job function category (LinkedIn only) |
listing_type | Listing type |
emails | Contact emails extracted from description |
description | Full job description |
company_industry | Industry (LinkedIn and Indeed) |
company_url | Company profile URL |
company_logo | Company logo URL (Indeed) |
company_url_direct | Direct company website URL |
company_addresses | Company office addresses (Indeed) |
company_num_employees | Employee count label (Indeed) |
company_revenue | Revenue label (Indeed) |
company_description | Company description (Indeed) |
skills | Required skills (Naukri) |
experience_range | Experience required (Naukri) |
company_rating | Company rating (Naukri) |
company_reviews_count | Number of company reviews (Naukri) |
vacancy_count | Number of open positions (Naukri) |
work_from_home_type | WFH type, e.g. Hybrid, Remote (Naukri) |
Export formats
Selecting specific columns
You can select a subset of columns before exporting to keep files smaller.Sorting results
The DataFrame is pre-sorted bysite and date_posted (newest first). You can re-sort by any column.
Normalizing salary to annual figures
Job boards report salary in different intervals — some hourly, some monthly, some yearly. Useenforce_annual_salary=True to automatically convert all non-yearly wages to annual equivalents before they are returned.
| Interval | Multiplier |
|---|---|
| Hourly | × 2,080 |
| Weekly | × 52 |
| Monthly | × 12 |
| Daily | × 260 |
Controlling description format
Job descriptions can be returned as Markdown or HTML. Use thedescription_format parameter.
"markdown" (default), "html", or "plain" (plain text with HTML tags stripped).