Career Site Jobs Search: Company Jobs Index, No URLs avatar

Career Site Jobs Search: Company Jobs Index, No URLs

Pricing

from $3.00 / 1,000 jobs

Go to Apify Store
Career Site Jobs Search: Company Jobs Index, No URLs

Career Site Jobs Search: Company Jobs Index, No URLs

Search 460,000+ open jobs from 9,000+ career sites on Greenhouse, Ashby, Lever, Personio and SmartRecruiters by title, place, remote and date. Daily.

Pricing

from $3.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Dodo Data

Dodo Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Search about 470,000 open jobs from about 9,300 company career sites by title, place, remote and date, and get clean JSON back. No career-page URLs, no company list: type "data engineer", pick a time window, press Start. The index is built from the employers' own job boards on Greenhouse (169,020 jobs on 30 October 2026), Ashby (53,013), Lever (34,059), Personio (15,045) and SmartRecruiters (198,286) and refreshed daily; the full text of every job you get back is fetched live from the employer's board at search time.

In one minute

  • What you get: one JSON row per job, newest first: title, company, locations, remote flag, employment type, pay range as numbers when the employer publishes one, publish date, the date our index first saw it, the employer's apply link and the full text.
  • What it costs: $4.00 per 1,000 jobs on Apify's free plan, $3.00 on Gold and higher plans, plus a start fee of $0.00005 per GB of memory, one event at the default 1 GB. The prefilled search below returns 100 jobs: about $0.40 on the free plan. Apify's free plan includes $5 of usage every month.
  • Try it: click Start. The prefilled search ("data engineer", "analytics engineer") returned the 100 newest of 2,304 matching jobs from 69 companies in 33 seconds on 30 October 2026 (build 0.1.23), 99 with full text (one had closed since the refresh) and 23 with a pay range. Most of that time is fetching the full text politely; with Include full descriptions off it takes a few seconds.

One real row from that run (description shortened):

{
"title": "Staff Analytics Engineer",
"company": "permitflow",
"department": "Engineering",
"location": "New York City, NY",
"workplace_type": "hybrid",
"remote": false,
"employment_type": "FullTime",
"salary_min": 165000,
"salary_max": 250000,
"salary_currency": "USD",
"salary_period": "year",
"posted_at": "2026-10-29T21:12:12.617Z",
"apply_url": "https://jobs.ashbyhq.com/permitflow/84c5c956-abc7-4567-a666-1f131b84053a/application",
"description": "PermitFlow is redefining how America builds. We’re an applied AI company serving the nation’s builders, tackling one..."
}
FilterWhat it does
Title keywordsa title word that starts with one of these ("engineer" also finds "Engineering Manager")
Exclude title wordsdrop titles containing one of these whole words (senior, intern)
Locations / Exclude locationswhole words in the location, country or workplace type: berlin, united kingdom, us, remote
Remote onlyjobs the employer marks as remote
Time range / Posted within (days)last 24 hours, 3, 7 or 30 days, by publish date (or the date our index first saw the job when a board publishes none); with both set, the narrower wins
Companies / Exclude companiesby name or career-page slug (stripe, Figma)
Career-page systemsGreenhouse, Ashby, Lever, Personio, SmartRecruiters
Only jobs with a pay rangekeeps jobs whose pay is in the index (Ashby, Lever, Personio) and reads Greenhouse and SmartRecruiters jobs one by one, newest first, for theirs; jobs without pay are left out and not charged: see Pay ranges
Seniorityas the title states it: intern, junior, senior, lead (staff, principal), director (VP, head of); about three titles in four state no level (measured 30 October 2026), and "No level in the title" keeps those
Workplace typeremote, hybrid or on-site, as the employer marks it; boards that publish none (most of Greenhouse) are left out when this is set
Employment typesfull-time, part-time, contract, intern, temporary. Greenhouse boards publish no employment type, so this filter leaves their jobs out
Max jobs per companykeeps one company from filling a search: by default a tenth of the run (at least 2) while other companies match; 0 for no limit; off when you name companies
Include full descriptionson by default; off for faster, lighter rows
Max rowsnewest first, up to 5,000 per run; it is also your spend cap

Every filter runs before a row is saved, so you only pay for the jobs you get.

How fresh it is

A private collector reads every board in the index every day at about 02:15 UTC and writes the result to the store this Actor searches; the run log says when it was last refreshed. A job the employer has closed leaves the index at the next refresh, within a day; until then it comes back without full text, because the text is always fetched live from the employer's board. first_seen_at is the date our index first listed the job, which is useful when a board publishes no date or re-dates old postings.

Where the jobs come from

Only from each company's own public job board, through the endpoint that system publishes for it: Greenhouse's Job Board API, Ashby's job posting API, Lever's postings API (one request a second, as its robots.txt asks), Personio's documented public XML feed and SmartRecruiters' public Posting API. Which companies use which system was found from public web data (the Common Crawl URL index) and confirmed by reading each board. No aggregator, no LinkedIn, no Indeed, nothing behind a login. Every row links back to the employer's own posting; a company that wants its board left out can say so in the Issues tab and it is removed within 24 hours.

Pay ranges

Greenhouse and Ashby boards often publish pay in their own fields; when they do not, a range written in the job text is read out ("$120,000 - $150,000", "272,000 USD - 431,250 USD", "zwischen 55.000 € und 75.000 €"). salary_source says which: structured or description. In the sample run of 30 October 2026, 23 of 100 jobs had pay: 7 from the boards' own fields, 16 from the text (the index now holds many SmartRecruiters jobs, whose employers rarely state pay). Bonuses, equity and on-target earnings are left out rather than mixed into base pay.

Greenhouse, SmartRecruiters and the pay filter. Neither system's job list carries a pay field: in the index of 30 October 2026 a pay range was known before the search for 47% of Ashby jobs (25,076), 28% of Lever (9,652), 12% of Personio (1,763), 0 of 169,020 Greenhouse jobs and 0 of 198,286 SmartRecruiters jobs. So with Only jobs with a pay range on, their matching jobs are read one by one, newest first, and a job is kept only when its own record states a range. A job read without one is left out and not charged. The search stops once it holds Max rows jobs with pay, after reading 4 x Max rows (at least 200) jobs without pay, or after 20 minutes of reading; the run log says how many jobs were read, how many had pay, and whether a limit stopped it. It works with full descriptions off too: the text is read for the pay and not saved. Measured on 30 October 2026 (local runs, Max rows 50): "software engineer" matched 11,895 jobs, read 54 Greenhouse and SmartRecruiters jobs (34 with pay) and returned 50 jobs with pay in 33 seconds, 34 of them from Greenhouse and SmartRecruiters; "customer service", where most matches are SmartRecruiters jobs, read 230 (38 with pay) and returned 50 in 70 seconds. SmartRecruiters employers outside the US rarely state pay (data jobs on SmartRecruiters alone: 14 with pay of 414 read worldwide, 28 of 153 in the US), so a broad SmartRecruiters search can stop at the limit with fewer than Max rows: add a place or a time range to reach more. Jobs beyond Max jobs per company are read last. Once the limit of jobs without pay has stopped the run, they are still read for a company that stated pay on at least half the jobs read so far, and left out for the others (measured 31 October 2026: "engineer" in India on Greenhouse, one per company, matched 804 jobs and stopped after 205 reads; two companies that state pay added 3 of the 5 jobs returned). A narrower search reaches the rest.

What we deliberately do not collect

  • No personal data: e-mail addresses and phone numbers are removed, and the names of contact people where the text makes them recognisable.
  • Nothing behind a login, no candidate data, no tracking.
  • This Actor declares limited permissions: it can only write to its own storages on your account.

How to run it

  1. Click Start to run the prefilled search, or type your own title keywords.
  2. Narrow with locations, remote, a time range or companies. Set Max rows: newest first, and it caps your spend.
  3. Download as JSON, CSV or Excel, call it from the API, or let an AI agent call it through Apify's MCP server.
  4. For a daily feed of new jobs, schedule it daily with Time range: Last 3 days and keep only the ids you have not seen before: some boards date a job a day or two before our daily refresh reads it, so Last 24 hours can miss a few.

How long it takes: the search itself takes seconds. Full text is fetched politely, at most five requests a second to the job boards (one a second to Lever), so 100 jobs take well under a minute, and 5,000 jobs that are mostly from Greenhouse need about 17 minutes at that rate. With Include full descriptions off, even 5,000 jobs come back in seconds.

Ten real rows

From the run of 30 October 2026 (descriptions shortened here to 160 characters; the dataset carries them in full):

[
{
"id": "smartrecruiters:westerndigital:744000158656277",
"ats": "smartrecruiters",
"company": "westerndigital",
"company_name": "Western Digital",
"title": "Engineer, Data Analytics Engineering",
"department": null,
"team": "Information Technology",
"location": "Bengaluru, KA, India",
"locations": [
"Bengaluru, KA, India"
],
"country": "IN",
"workplace_type": null,
"remote": null,
"employment_type": "Full-time",
"experience_level": "Associate",
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"salary_period": null,
"salary_text": null,
"posted_at": "2026-10-30T02:22:21.249Z",
"updated_at": null,
"requisition_id": "REF34914Q",
"description": "Company Description\nWD is building the infrastructure behind the AI-driven data economy.\nAs AI scales, so does data. Every interaction, every model, every syste...",
"apply_url": "https://jobs.smartrecruiters.com/westerndigital/744000158656277",
"url": "https://jobs.smartrecruiters.com/westerndigital/744000158656277",
"change_status": null,
"first_seen_at": "2026-10-30",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": null
},
{
"id": "smartrecruiters:westerndigital:744000158655189",
"ats": "smartrecruiters",
"company": "westerndigital",
"company_name": "Western Digital",
"title": "Internship - Data Engineering",
"department": null,
"team": "Engineering",
"location": "Petaling Jaya, Selangor, Malaysia",
"locations": [
"Petaling Jaya, Selangor, Malaysia"
],
"country": "MY",
"workplace_type": null,
"remote": null,
"employment_type": "Intern",
"experience_level": "Internship",
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"salary_period": null,
"salary_text": null,
"posted_at": "2026-10-30T01:55:14.953Z",
"updated_at": null,
"requisition_id": "REF33358V",
"description": "Company Description\nWD is building the infrastructure behind the AI-driven data economy.\nAs AI scales, so does data. Every interaction, every model, every syste...",
"apply_url": "https://jobs.smartrecruiters.com/westerndigital/744000158655189",
"url": "https://jobs.smartrecruiters.com/westerndigital/744000158655189",
"change_status": null,
"first_seen_at": "2026-10-30",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": null
},
{
"id": "greenhouse:valtech:5011736101",
"ats": "greenhouse",
"company": "valtech",
"company_name": "Valtech",
"title": "Analytics Engineer Sr",
"department": null,
"team": null,
"location": "Canada - Remote",
"locations": [
"Canada - Remote"
],
"country": null,
"workplace_type": "remote",
"remote": true,
"employment_type": null,
"experience_level": null,
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"salary_period": null,
"salary_text": null,
"posted_at": "2026-10-29T21:50:52.000Z",
"updated_at": "2026-10-29T21:50:52.000Z",
"requisition_id": "2688",
"description": null,
"apply_url": "https://job-boards.eu.greenhouse.io/valtech/jobs/5011736101",
"url": "https://job-boards.eu.greenhouse.io/valtech/jobs/5011736101",
"change_status": null,
"first_seen_at": "2026-10-30",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": null
},
{
"id": "ashby:permitflow:84c5c956-abc7-4567-a666-1f131b84053a",
"ats": "ashby",
"company": "permitflow",
"company_name": null,
"title": "Staff Analytics Engineer",
"department": "Engineering",
"team": "Engineering",
"location": "New York City, NY",
"locations": [
"New York City, NY"
],
"country": "USA",
"workplace_type": "hybrid",
"remote": false,
"employment_type": "FullTime",
"experience_level": null,
"salary_min": 165000,
"salary_max": 250000,
"salary_currency": "USD",
"salary_period": "year",
"salary_text": null,
"posted_at": "2026-10-29T21:12:12.617Z",
"updated_at": null,
"requisition_id": null,
"description": "PermitFlow is redefining how America builds. We’re an applied AI company serving the nation’s builders, tackling one of the largest information challenges in th...",
"apply_url": "https://jobs.ashbyhq.com/permitflow/84c5c956-abc7-4567-a666-1f131b84053a/application",
"url": "https://jobs.ashbyhq.com/permitflow/84c5c956-abc7-4567-a666-1f131b84053a",
"change_status": null,
"first_seen_at": "2026-10-30",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": "structured"
},
{
"id": "greenhouse:sourcemeridian:5467341008",
"ats": "greenhouse",
"company": "sourcemeridian",
"company_name": "Source Meridian",
"title": "188. Senior Data Engineer",
"department": null,
"team": null,
"location": "Medellín, Antioquia, Colombia; Quito, Pichincha, Ecuador",
"locations": [
"Medellín, Antioquia, Colombia; Quito, Pichincha, Ecuador"
],
"country": null,
"workplace_type": null,
"remote": null,
"employment_type": null,
"experience_level": null,
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"salary_period": null,
"salary_text": null,
"posted_at": "2026-10-29T19:08:58.000Z",
"updated_at": "2026-10-29T19:08:58.000Z",
"requisition_id": "188",
"description": "We’re looking for a Senior Data Engineer to join Source Meridian.\nAbout Source Meridian\nSource Meridian is a development software company that works to solve th...",
"apply_url": "https://job-boards.greenhouse.io/sourcemeridian/jobs/5467341008",
"url": "https://job-boards.greenhouse.io/sourcemeridian/jobs/5467341008",
"change_status": null,
"first_seen_at": "2026-10-29",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": null
},
{
"id": "greenhouse:mobiik:8319008",
"ats": "greenhouse",
"company": "mobiik",
"company_name": "Mobiik",
"title": "Data Engineer",
"department": null,
"team": null,
"location": "Remoto",
"locations": [
"Remoto"
],
"country": null,
"workplace_type": null,
"remote": null,
"employment_type": null,
"experience_level": null,
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"salary_period": null,
"salary_text": null,
"posted_at": "2026-10-29T17:49:34.000Z",
"updated_at": "2026-10-29T17:52:55.000Z",
"requisition_id": "592",
"description": "Intégrate a la Tribu ¡\nSomos los coding wizards, un equipo de expertos en tecnología apasionados por lo que hacemos. Creemos en la diversidad y la inclusión, y...",
"apply_url": "https://job-boards.greenhouse.io/mobiik/jobs/8319008",
"url": "https://job-boards.greenhouse.io/mobiik/jobs/8319008",
"change_status": null,
"first_seen_at": "2026-10-29",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": null
},
{
"id": "greenhouse:8451:8773368002",
"ats": "greenhouse",
"company": "8451",
"company_name": "84.51°",
"title": "Lead Data Engineer",
"department": null,
"team": null,
"location": "Cincinnati, OH; Chicago, IL",
"locations": [
"Cincinnati, OH; Chicago, IL"
],
"country": null,
"workplace_type": null,
"remote": null,
"employment_type": null,
"experience_level": null,
"salary_min": 125000,
"salary_max": 207000,
"salary_currency": "USD",
"salary_period": "year",
"salary_text": "Base Pay Range",
"posted_at": "2026-10-29T17:41:15.000Z",
"updated_at": "2026-10-29T17:41:15.000Z",
"requisition_id": "Pipeline",
"description": "84.51° Overview:\n84.51° is a retail data science, insights and media company. We help The Kroger Co., consumer packaged goods companies, agencies, publishers an...",
"apply_url": "https://job-boards.greenhouse.io/8451/jobs/8773368002",
"url": "https://job-boards.greenhouse.io/8451/jobs/8773368002",
"change_status": null,
"first_seen_at": "2026-10-29",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": "structured"
},
{
"id": "greenhouse:projectaservicesgmbhcokg:8800470002",
"ats": "greenhouse",
"company": "projectaservicesgmbhcokg",
"company_name": "A11",
"title": "Senior Data Engineer (m/f/d)",
"department": null,
"team": null,
"location": "Berlin",
"locations": [
"Berlin"
],
"country": null,
"workplace_type": null,
"remote": null,
"employment_type": null,
"experience_level": null,
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"salary_period": null,
"salary_text": null,
"posted_at": "2026-10-29T17:11:22.000Z",
"updated_at": "2026-10-29T17:11:22.000Z",
"requisition_id": "2556",
"description": "A11 ist der ausführende Wachstumstreiber hinter Europas führenden Tech-Unicorns wie Trade Republic, Sennder und Kry. Wir sind ein SWAT-Team für Business Perform...",
"apply_url": "https://job-boards.greenhouse.io/projectaservicesgmbhcokg/jobs/8800470002",
"url": "https://job-boards.greenhouse.io/projectaservicesgmbhcokg/jobs/8800470002",
"change_status": null,
"first_seen_at": "2026-10-29",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": null
},
{
"id": "ashby:clera:0ebc1c1c-7ff8-4abf-b349-fd5d32878584",
"ats": "ashby",
"company": "clera",
"company_name": null,
"title": "Senior Data Engineer",
"department": "Engineering",
"team": "Engineering",
"location": "remote",
"locations": [
"remote"
],
"country": null,
"workplace_type": "remote",
"remote": true,
"employment_type": "FullTime",
"experience_level": null,
"salary_min": 120000,
"salary_max": 160000,
"salary_currency": "USD",
"salary_period": "year",
"salary_text": null,
"posted_at": "2026-10-29T17:04:19.520Z",
"updated_at": null,
"requisition_id": null,
"description": "ABOUT THE ROLE\nJoin a data infrastructure team building a platform that turns information from multiple sources into reliable, up-to-date company intelligence....",
"apply_url": "https://jobs.ashbyhq.com/clera/0ebc1c1c-7ff8-4abf-b349-fd5d32878584/application",
"url": "https://jobs.ashbyhq.com/clera/0ebc1c1c-7ff8-4abf-b349-fd5d32878584",
"change_status": null,
"first_seen_at": "2026-10-29",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": "description"
},
{
"id": "ashby:join9am:14a63742-6a11-43e6-b5bd-e3c0611d6f45",
"ats": "ashby",
"company": "join9am",
"company_name": null,
"title": "Staff Data Engineer",
"department": "Data",
"team": "Data",
"location": "United States",
"locations": [
"United States"
],
"country": "United States",
"workplace_type": "remote",
"remote": true,
"employment_type": "FullTime",
"experience_level": null,
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"salary_period": null,
"salary_text": null,
"posted_at": "2026-10-29T16:41:47.790Z",
"updated_at": null,
"requisition_id": null,
"description": "ABOUT 9AMHEALTH\n9amHealth is an AI-enabled virtual specialty care platform focused on managing high-cost chronic conditions at scale. The company partners with...",
"apply_url": "https://jobs.ashbyhq.com/join9am/14a63742-6a11-43e6-b5bd-e3c0611d6f45/application",
"url": "https://jobs.ashbyhq.com/join9am/14a63742-6a11-43e6-b5bd-e3c0611d6f45",
"change_status": null,
"first_seen_at": "2026-10-29",
"last_seen_at": null,
"scraped_at": "2026-10-30T18:16:58.531Z",
"salary_source": null
}
]
  • Career Page Jobs Scraper: read specific companies' career pages live, on twelve systems including Workday and SmartRecruiters, with a monitor mode for new, changed and closed jobs.
  • Jobs API: search about 170,000 jobs from companies hiring through Workable.

Price

$4.00 per 1,000 jobs on Apify's free plan, less on paid plans: $3.50 on Bronze, $3.20 on Silver, $3.00 on Gold and above. Any change is announced 14 days ahead through Apify, as its rules require, and applies to every user alike.

Questions and feedback

Something missing, wrong or unclear? Open an Issue on this page: we answer within a day, and fixes usually ship within 48 hours. If the Actor saved you time, a short review here helps other people find it.

Changelog

  • 2026-10-22, v0.1: first release. Index of 173,962 jobs from 4,359 career sites; verified against live boards on 22 October 2026.
  • 2026-10-26: index of 271,718 jobs from 8,486 career sites after a wider board discovery.
  • 2026-10-29: SmartRecruiters boards added (198,046 jobs from 915 companies); index of 469,585 jobs from 9,346 career sites.
  • 2026-10-30, 0.1.23: public release. Only jobs with a pay range now reads Greenhouse and SmartRecruiters jobs for their own pay instead of leaving them out (see Pay ranges). Index of 469,423 jobs from 9,345 career sites.
  • 2026-10-31, 0.1.26: with a Maximum cost per run set, a run returns only the jobs that cost pays for and says so in its status line (a $0.02 cap returned 5 of 100 asked for), and the pay check reads correspondingly fewer jobs. Before, the status line counted the jobs the run tried to save, not the ones Apify kept.
  • 2026-10-31, 0.1.27: with Only jobs with a pay range and Max jobs per company, a company that states pay is still read after the read limit stops the others, so its held-back jobs fill the run (see Pay ranges).