# Rippling jobs scraper for public company job boards

> Rippling jobs scraper for public job boards. Get titles, places, dates, pay ranges and optional job text. Track new, changed and closed jobs.

URL: https://cliqtomedia.com/actors/rippling-jobs-monitor-scraper/

Category: Jobs & hiring · Status: live on Apify Store · Apify page: https://apify.com/cliqtomedia/rippling-jobs-monitor-scraper?fpr=cliqto

Add Rippling board names or links. You get each job with its place, date and stated pay. Turn on monitor mode to save new, changed and closed jobs.

## How to use it: 3 steps

1. **Make a free Apify account.** Apify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `utility` in Rippling job boards. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

Read public Rippling job boards and build a clear record of hiring activity. This Actor returns job titles, locations, dates, pay ranges and optional full descriptions. It can also save new, changed and closed listings from repeat scans.





## Price

Pay per event. Apify bills you, not us.

| What you pay for | Price | When |
|---|---|---|
| Start fee | $0.035 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |
| Saved job row | $0.0016 | One current or expired job row saved to the default Dataset. |

- One job: about $0.04.
- 1,000 jobs: about $1.64.
- Every day 100 jobs, for 30 days: about $5.85 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Prices checked on 24 October 2026. Current price: https://apify.com/cliqtomedia/rippling-jobs-monitor-scraper?fpr=cliqto

## Questions

### Do I need a Rippling login or API key?

No. The tool reads public job data. It does not send applications.

### How many boards can I add?

Up to 10 boards and up to 300 saved jobs per run.

### Does monitor mode see pay changes?

No. It compares title, department and locations only.

### Are contact details in the job text?

No. Emails, phone numbers and profile links are removed from descriptions.

## Data fields

- `schemaVersion` (string)
- `id` (string)
- `source` (string)
- `market` (string)
- `sourceJobId` (string)
- `url` (string)
- `title` (string)
- `contentHash` (string)
- `scrapedAt` (string)
- `boardSlug` (string)
- `company` (object)
- `advertiser` (object)
- `location` (object)
- `locations` (array)
- `workArrangement` (string)
- `employmentTypes` (array)
- `salary` (object)
- `classifications` (array)
- `teaser` (string)
- `bulletPoints` (array)
- `postedAt` (string)
- `updatedAt` (string)
- `expiresAt` (string)
- `isPromoted` (boolean)
- `description` (object)
- `changeType` (string)
- `firstSeenAt` (string)
- `status` (string)
- `errors` (array)

## Input settings

- `boards` (array, required): Add 1–10 board names or HTTPS ats.rippling.com links. A job link reads its whole board. Board names are case sensitive.
- `keywords` (array): A title must contain all words in at least one phrase. Empty keeps all titles. Use up to 20 values of up to 100 characters.
- `locations` (array): Match any location name, city, state, country, country code or workplace type. Empty keeps all places. Use up to 20 values of up to 100 characters.
- `departments` (array): Match part of a top-level department name. Empty keeps all departments. Use up to 20 values of up to 100 characters.
- `maxResults` (integer): Save up to this many unique rows, including expired jobs. Lower caps give partial scans; partial scans do not update monitor memory.
- `includeDescription` (boolean): Add the company and role text. Email, phone and personal profile text are redacted. Adds no requests: every emitted current job needs one detail request.
- `incremental` (boolean): Save new, updated, reappeared and expired jobs. Unchanged listings need no detail request. Changes only to description or pay are not detected.
- `stateKey` (string): Use letters, numbers, hyphens or underscores, up to 60 characters. Keep boards and filters fixed for this name. Empty derives a name from that scope.
- `emitExpired` (boolean): In monitor mode, save jobs removed from a complete scan. Partial scans never report expired jobs.
- `emitUnchanged` (boolean): In monitor mode, also save and charge for unchanged jobs. Leave off for alerts.
- `maxRequests` (integer): Stop after this many source attempts, including retries. Full lists are read before filters and details. A stop gives partial.
- `maxSeconds` (integer): Stop source work after this time. Allow a longer Actor timeout for saving the summary. A stop gives partial.

## Step by step on Apify

1. Open Input. The form has `utility` in Rippling job boards as a prefill.
2. Keep Maximum saved jobs at `100`. Leave monitor mode off for your first run.
3. Use `256 MB` memory and a timeout of `180 seconds`. Set a maximum charge such as `$0.30`.
4. Click Start.
5. Open Output → Jobs. Check `title`, `company.name`, `postedAt` and `url`.
6. Open Scan summary. Check `status`, `rowCount` and the board statuses.

## Use cases

- Build a job feed from a known list of employers. Use `sourceJobId` and `boardSlug` to join rows across scans.
- Track company hiring activity. Read titles, departments, country codes and stated pay.
- Watch new roles and closed listings. Use incremental mode and act on `changeType`.
- Review role text. Turn on `includeDescription` and keep null values for missing facts.

## Tips

- Board names are case sensitive. Copy them from a real apply link.
- Mix filters: title keywords, locations and departments work together.
- Use a new state key when you change boards or filters.

## Limits

The live acceptance scan read 10 boards and saved 300 unique jobs. The source had more matches, so the result was correctly marked partial. The highest live test with full descriptions is 10 jobs. Larger runs with descriptions can meet byte or time limits sooner. These are measured samples, not a promise of fixed time for every board.



## Sample result

```json
{
  "schemaVersion": "job.v1",
  "id": "rippling:global:71035fd3-bff0-4450-b213-281637a07e6c",
  "source": "rippling",
  "market": "global",
  "sourceJobId": "71035fd3-bff0-4450-b213-281637a07e6c",
  "url": "https://ats.rippling.com/utility/jobs/71035fd3-bff0-4450-b213-281637a07e6c",
  "title": "Director of AI",
  "company": {
    "name": "UTILITY",
    "sourceCompanyId": "utility",
    "url": "https://ats.rippling.com/utility/jobs"
  },
  "advertiser": {
    "name": "UTILITY",
    "sourceAdvertiserId": "utility"
  },
  "location": {
    "raw": "Remote (United States)",
    "suburb": null,
    "city": "New York",
    "region": "New York",
    "postcode": null,
    "country": "US"
  },
  "locations": [
    {
      "name": "Remote (United States)",
      "city": "New York",
      "state": "New York",
      "country": "United States",
      "countryCode": "US",
      "workplaceType": "HYBRID"
    }
  ],
  "workArrangement": "hybrid",
  "employmentTypes": [
    "full_time"
  ],
  "salary": {
    "raw": null,
    "min": null,
    "max": null,
    "currency": null,
    "period": null,
    "includesSuper": null
  },
  "classifications": [
    {
      "category": "Engineering",
      "subcategory": null
    }
  ],
  "teaser": null,
  "bulletPoints": [],
  "postedAt": "2025-08-28T14:44:37.790Z",
  "updatedAt": null,
  "expiresAt": null,
  "isPromoted": false,
  "description": null
}
```

## Use it from code

Actor ID: `cliqtomedia/rippling-jobs-monitor-scraper`

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/rippling-jobs-monitor-scraper").call(run_input={
    "boards": [
        "utility"
    ],
    "keywords": []
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

```bash
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~rippling-jobs-monitor-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"boards": ["utility"], "keywords": []}'
```

```python
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/rippling-jobs-monitor-scraper")
result = tool.invoke({"run_input": {"boards": ["utility"], "keywords": []}})
print(result)
```

run-sync waits up to 300 seconds; for longer runs start a run and use a webhook. LlamaIndex and MCP: https://cliqtomedia.com/actors/ai-agents/

## Similar tools

- [Greenhouse Jobs Monitor & Scraper](https://cliqtomedia.com/actors/greenhouse-jobs-monitor-scraper/)
- [Lever Job Scraper](https://cliqtomedia.com/actors/lever-jobs-scraper/)
- [Ashby Jobs Scraper](https://cliqtomedia.com/actors/ashby-jobs-scraper/)
- [Wellfound Jobs Scraper](https://cliqtomedia.com/actors/wellfound-jobs-scraper/)
- [Recruitee Job Snapshots & Changes](https://cliqtomedia.com/actors/recruitee-jobs-monitor-scraper/)
- [SmartRecruiters Jobs Monitor & Scraper](https://cliqtomedia.com/actors/smartrecruiters-jobs-monitor-scraper/)
