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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

indeed_scraper_api-0.0.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

indeed_scraper_api-0.0.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file indeed_scraper_api-0.0.1.tar.gz.

File metadata

  • Download URL: indeed_scraper_api-0.0.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for indeed_scraper_api-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d0e59f5cb98dff59e6d6ace554251baa61b98a4d4848c2dfbb91dd63f20fdb86
MD5 dce9e0c49b08a83bd6476691f9b1c969
BLAKE2b-256 67bab6c6851a6bf96be720a63016a2045e1c5235ce181e7abf43144dee145e20

See more details on using hashes here.

File details

Details for the file indeed_scraper_api-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for indeed_scraper_api-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76f5255b6ec5793c0c721c350007053701ab5403bfa4bf59b1913791d22c25fb
MD5 ae8f436819f87d332fbec398d5e64935
BLAKE2b-256 06863fb52859def26fe2785a813909f07a1c4915ae90eec98dca6134a94c6a01

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page