Rippling Jobs Scraper: Company Career Sites avatar

Rippling Jobs Scraper: Company Career Sites

Pricing

Pay per event

Go to Apify Store
Rippling Jobs Scraper: Company Career Sites

Rippling Jobs Scraper: Company Career Sites

Scrape open jobs from Rippling career pages (ats.rippling.com): title, company, location, department, employment type, remote flag, description, posting date and apply URL. Filter by keyword, location and date. Pay per result.

Pricing

Pay per event

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Get the open jobs of any company that hires through Rippling. Paste a Rippling career page URL such as https://ats.rippling.com/rippling/jobs (or just the company name) and receive title, location, apply URL and, when the posting provides them, department, employment type, salary range, description and posting date as clean dataset rows.

What you can do with it

  • Pull all open roles of a list of target companies for lead generation or recruiting research.
  • Track hiring over time: run it on a schedule with postedWithinDays and sortBy: newest to see only new postings.
  • Feed a job board or alert system with the openings of the companies you follow.
  • Filter by keyword in the title, by location or by country.

What you get

One dataset row per job. Duplicates are removed before anything is charged, so the number of rows is the number of results you pay for.

FieldDescription
idJob id, unique across Rippling career pages
ats_job_idThe id Rippling uses for the posting
titleJob title
ats_platformrippling
companyCompany name as the posting states it (the board name when the posting gives none)
location, city, countryLocation text as posted, the city and the two-letter country code, when the site provides a location
departmentDepartment or team, when the site provides it
employment_typeFull-time, part-time, contract or internship, when the posting states one of them; empty otherwise
remotetrue when a location says remote
workplace_typeremote when a location says remote; empty otherwise (postings carry no other work arrangement)
salary_min, salary_max, salary_currency, salary_period, salary_text, salary_sourceThe pay range the posting states (lowest start and highest end of its pay bands, currency, year/month/hour period, and the bands as text); empty when the posting states none. Never estimated
descriptionFull job description as HTML, when the site provides it. Empty when includeDescription is off or the posting has none
apply_url, job_urlLink to the posting and to the application page
created_atPublication date and time of the posting in UTC
languageLanguage of the posting, when it can be determined
scraped_atTime of the run

Input

FieldDescription
companiesRippling career page URLs or bare company names (rippling is https://ats.rippling.com/rippling/jobs). Strings, {"url": "..."} objects, a single string, or several separated by commas or new lines. Empty = one sample Rippling career page.
keywordsKeep only jobs whose title matches at least one keyword. They filter the jobs of the Rippling career pages you list; they do not search other companies.
locationKeep only jobs in this city, region or country (Geneva, Switzerland, CH).
countriesISO-2 codes such as ["CH", "DE"]: keep only jobs located in these countries (jobs whose country cannot be determined are left out).
includeRemoteWithoutRegionOnly with a country filter: also keep remote jobs that state no country or region (they may not be open to applicants in that country). Default false.
postedWithinDaysDrop jobs older than this many days. Jobs without a posting date are kept.
sortBynewest (default: the newest postings of the whole board first, so a cap returns the newest jobs) or relevance (the board's own order; much faster for a small cap).
maxJobsPerCompanyCap per career page, counted after the filters. 0 = all. Default 50.
maxResultsCap for the whole run. The run stops cleanly when it is reached. 0 = no limit. Default 100.
includeDescriptionInclude the description HTML. Default true.

Example: one career page

{
"companies": ["https://ats.rippling.com/rippling/jobs"],
"maxResults": 20
}

Example: several Rippling career pages with filters

{
"companies": [
"https://ats.rippling.com/rippling/jobs",
"https://ats.rippling.com/acme/jobs"
],
"keywords": ["engineer", "data"],
"postedWithinDays": 30,
"sortBy": "newest",
"maxJobsPerCompany": 25
}

Only Rippling career pages are read. A URL of any other job system (Greenhouse, Lever, Workday and so on) is skipped with a log line that names the actor to use, and is never charged.

Supported URL formats

  • Career page: https://ats.rippling.com/{company}/jobs (with or without a trailing slash, or without https://; tracking parameters such as utm_source are ignored).
  • Posting: https://ats.rippling.com/{company}/jobs/{job-id} is reduced to its career page; the whole page is read.
  • Bare company name: {company}.

Output

{
"id": "rippling-a1b2c3d4-00000000-0000-4000-8000-000000000001",
"ats_job_id": "00000000-0000-4000-8000-000000000001",
"title": "Backend Engineer",
"company": "Example Company",
"ats_platform": "rippling",
"location": "Berlin, Germany",
"city": "Berlin",
"country": "DE",
"department": "Engineering",
"employment_type": "Full-time",
"remote": false,
"apply_url": "https://ats.rippling.com/example/jobs/00000000-0000-4000-8000-000000000001",
"job_url": "https://ats.rippling.com/example/jobs/00000000-0000-4000-8000-000000000001",
"created_at": "2026-09-01T08:30:00Z",
"scraped_at": "2026-10-27T09:00:00Z"
}

The row above is illustrative; values depend on the career page.

Pricing

Pay per result, two events:

  • apify-actor-start: $0.001 once per run.
  • job-result: $0.001 per job in the dataset ($1.00 per 1,000 jobs).

The start fee is charged on top of the job results. Filtered-out and duplicate jobs are never charged, and a career page that is not found costs nothing. Set a maximum total charge on the run to stop at a budget; the run ends cleanly when it is reached. The pricing box on the actor page always shows the current rates.

Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client, such as Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

Example prompts once connected:

"Use rippling-jobs-scraper for https://ats.rippling.com/rippling/jobs and list the open roles with title, location and apply URL."

"Use rippling-jobs-scraper for the companies rippling and acme and return the roles posted in the last 30 days."

Configure the MCP server with the Rippling Jobs Scraper preconfigured at mcp.apify.com?tools=santamaria-automations/rippling-jobs-scraper:

{
"mcpServers": {
"apify": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.apify.com/?tools=santamaria-automations/rippling-jobs-scraper",
"--header",
"Authorization: Bearer <YOUR_API_TOKEN>"
]
}
}
}

See the auto-generated API tab on the actor page for language-specific examples (cURL, JavaScript, Python, and more).

FAQ

How do I find a company's Rippling career page URL? Open the company's careers page. If the address starts with ats.rippling.com, that is the URL (for example https://ats.rippling.com/rippling/jobs). You can pass either the URL or just the name after ats.rippling.com/.

Can I search by keyword across all Rippling companies? No. Give the URL or name of each company. Keywords only filter the titles of the jobs of the career pages you list.

What if a career page is not found? The run continues with the other Rippling career pages. The run status line names the career page and the reason (for example board_not_found), and nothing is charged for it.

Why is the description empty? It is empty when includeDescription is off, or when the posting could not be read. The row still has title, location, date and the apply URL, and is charged the same.

How do I get only new jobs? Run it on a schedule with postedWithinDays set to the interval (for example 1 for a daily run) and sortBy set to newest.

How do I stop at a budget? Set maxResults or the maximum total charge of the run. The run stops cleanly when either is reached.

Why did I get fewer jobs than maxJobsPerCompany? The caps apply after your filters, and a career page can simply have fewer open jobs. The Rippling career pages are read in the order you list them, and the run stops once maxResults is reached.

Limits

  • Career pages only; no company-name search across Rippling.
  • Salary is filled only when the posting states a pay range.
  • With sortBy: newest every job of the board is read once to learn its posting date (one request per job), so a large board takes longer than with relevance.
  • Postings give no last-update date; updated_at stays empty.

Support

  • Questions or issues? Email contact@nanoscrape.com, we typically reply within 6 hours, or open a ticket in the Issues tab on the actor page.
  • Need a scraper for a job board we don't cover yet? Email contact@nanoscrape.com with the target site and your rough usage volume.