Skip to main content

Indeed Scraper API (Python)

A small Python client that turns Indeed job pages into clean JSON using the ScrapingBee web scraping API. You pass a search query and a location, and you get back a list of jobs with title, company, location, and link. The headless browser rendering, residential proxies, and HTML parsing are handled for you.

Indeed renders its results with JavaScript and defends against automated traffic, so a plain requests.get returns little. This Indeed scraper sends each request through ScrapingBee with JavaScript rendering and residential proxies switched on, then applies the extraction rules server-side so you never touch BeautifulSoup.

Install

pip install indeed-scraper-api

Quickstart

from indeed_scraper_api import IndeedScraper

scraper = IndeedScraper(api_key="YOUR_SCRAPINGBEE_API_KEY")

result = scraper.search("python developer", location="New York", start=0)
for job in result["jobs"]:
    print(job["title"], "-", job["company"], "-", job["location"])

Get an API key with 1,000 free credits at ScrapingBee; no card required.

What you get back

search() returns a dictionary with a jobs list, one entry per Indeed job card:

{
  "jobs": [
    {
      "title": "Python Developer",
      "company": "Acme Corp",
      "location": "New York, NY",
      "url": "/rc/clk?jk=..."
    }
  ]
}

The fields come straight from the CSS selectors documented in ScrapingBee's data extraction rules, so you can add your own fields by passing a custom extract_rules dictionary.

API reference

IndeedScraper(api_key, timeout=60) creates a client.

  • search(query, location="", start=0, **options) returns structured jobs for one results page. Indeed pages in steps of 10, so start=10 is page two.
  • pages(query, location="", count=3, **options) yields structured results for the first count pages.
  • scrape(url, extract_rules=None, **options) fetches any Indeed URL. Returns rendered HTML, or JSON when you pass extract_rules.

Every method accepts these overrides:

Option Default Purpose
render_js True Run the page in a headless browser
premium_proxy True Route through residential proxies
country_code "us" Proxy country
wait 5000 Milliseconds to wait after load
extract_rules JOB_RULES Override the returned fields

Credit cost

With residential proxies and JavaScript rendering both on, each request costs 25 ScrapingBee credits (Premium tier plus JS). Drop premium_proxy for cheaper datacenter requests where a target allows it. See ScrapingBee pricing for the credit table.

Requirements

Python 3.8 or newer, the requests library (installed automatically), and a ScrapingBee API key. This client is an independent wrapper built on the public ScrapingBee API and is not affiliated with Indeed.

Links

License

MIT

Metadata

Release files for indeed-scraper-api 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for indeed-scraper-api 0.0.1
File Size Uploaded
indeed_scraper_api-0.0.1.tar.gz 4.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for indeed-scraper-api 0.0.1
File Interpreter ABI Platform
indeed_scraper_api-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.3 kB

Release files / indeed_scraper_api-0.0.1.tar.gz

Download URL indeed_scraper_api-0.0.1.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d0e59f5cb98dff59e6d6ace554251baa61b98a4d4848c2dfbb91dd63f20fdb86
BLAKE2b-256 checksum
How to use checksums
67bab6c6851a6bf96be720a63016a2045e1c5235ce181e7abf43144dee145e20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / indeed_scraper_api-0.0.1-py3-none-any.whl

Download URL indeed_scraper_api-0.0.1-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76f5255b6ec5793c0c721c350007053701ab5403bfa4bf59b1913791d22c25fb
BLAKE2b-256 checksum
How to use checksums
06863fb52859def26fe2785a813909f07a1c4915ae90eec98dca6134a94c6a01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page