Skip to main content
1

Install JobSpy

If you haven’t installed JobSpy yet, install it with pip:
Python 3.10 or higher is required. See Installation for full details.
2

Import and call scrape_jobs()

Import scrape_jobs from the jobspy package and run your first search:
scrape_jobs() runs all specified boards concurrently and returns a single Pandas DataFrame.
Start with indeed — it is currently the best-performing scraper with no rate limiting. LinkedIn is the most restrictive and typically rate limits around the 10th page with a single IP address.
3

View results

Print a summary and preview the first few rows:
The DataFrame contains the following key columns:
4

Export results

Save your results to CSV or Excel for further analysis.
Use quoting=csv.QUOTE_NONNUMERIC and escapechar="\\" when exporting to CSV. Job descriptions often contain commas, quotes, and newlines that will break a plain CSV export.
Your job results are now saved and ready for filtering, analysis, or loading into a database.

Complete example

Here is the full working script from start to finish:

Next steps

scrape_jobs() reference

Full parameter reference for scrape_jobs(), including filtering, proxy, and LinkedIn options

Job board guides

Per-board usage notes, rate limit behavior, and country support