# Ashby Jobs Scraper: Export Public Ashby Job Boards

> Ashby jobs scraper for known boards: job descriptions, locations, apply links and published pay as structured rows. JSON or CSV. No Ashby login.

URL: https://cliqtomedia.com/actors/ashby-jobs-scraper/

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

Add a known Ashby board name, like ramp. You get each current job as one row with description, location and apply link. Pay is shown only when the employer posts it.

## 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: `ramp` in Ashby boards or job URLs. 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

Export current public jobs from Ashby job boards as one structured row per job. Get descriptions, locations, apply links and compensation published by the employer. Add a known board such as `ramp`. The new Input form saves up to 10 jobs for a first run. The applied price is $0.00085 per start at default memory plus $0.75 per 1,000 saved jobs, with platform usage included. Check `RUN_SUMMARY` for empty or partial results.





## Price

Pay per event. Apify bills you, not us.

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

- One job: about $0.0016.
- 1,000 jobs: about $0.75.
- Every day 100 jobs, for 30 days: about $2.28 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/ashby-jobs-scraper?fpr=cliqto

## Questions

### Can it find every company on Ashby?

No. You need to know the board name. It does not search across companies.

### Does remote mean fully remote?

Not always. A job can be marked remote and also hybrid. Check both fields.

### Does every job show pay?

No. Pay appears only when the employer publishes it.

### Do I need an Ashby login?

No. It reads the public job postings.

### Does it discover all companies or search all Ashby jobs?

No. Supply the known boards you want. It reads a current snapshot of those boards.

### Does every job include pay and all locations?

No. Only employer-published source values are available. Missing values remain null or empty according to the field reference.

### Can I monitor changes?

You can compare scheduled snapshots in your own system. There is no built-in delta mode. The same input can return the same jobs on a repeat run; those new saved rows are charged again.

### Is an empty run free?

It has no saved-job event charge. An enabled Actor-start event is still charged automatically, even with no matches. Check the current Pricing tab; future announced prices are separate. A partial run is charged for startup and its saved jobs.

## Data fields

- `source` (string)
- `boardSlug` (string)
- `id` (string)
- `title` (string)
- `department` (string)
- `team` (string)
- `location` (string)
- `workplaceType` (string)
- `employmentType` (string)
- `isRemote` (boolean)
- `isListed` (boolean)
- `publishedAt` (string)
- `jobUrl` (string)
- `applyUrl` (string)
- `descriptionPlain` (string)
- `compensation` (object)
- `boardUrl` (string)
- `descriptionHtml` (string)
- `secondaryLocations` (array)
- `address` (object)
- `sourceApiVersion` (string)
- `collectedAt` (string)

## Input settings

- `mode` (string): Use all for board snapshots or exact for hosted job URLs.
- `boards` (array): Add 1–50 board slugs or HTTPS jobs.ashbyhq.com board URLs in all mode. Use canonical job URLs in exact mode. Repeated boards are fetched once.
- `includeCompensation` (boolean): Ask Ashby's public endpoint for compensation fields when the employer publishes them.
- `includeUnlisted` (boolean): All mode defaults to listed postings only. Exact mode may return a matching direct-only row.
- `filters` (object): The Actor fetches each board before filtering. Different fields use AND; values in one field use OR. Empty arrays do not restrict results. Each list accepts up to 20 non-empty strings of 1–120 characters.
- `maxResultsPerBoard` (integer): Optional limit on rows from each board. Applied after filters.
- `maxOutputItems` (integer): Maximum saved job rows for the whole run, after filters and duplicates. API default: 11446. New-form prefill: 10. Check RUN_SUMMARY for stopped or incomplete work.
- `concurrency` (integer): Maximum number of board requests sent at the same time.

## Step by step on Apify

1. Open Input. Keep the board `ramp` and the new-form limit of 10 jobs.
2. Choose `all` for board slugs or board URLs. Use `exact` only with canonical hosted job URLs.
3. Click Start.
4. Open the default Dataset. Check `title`, `location`, `jobUrl` and `applyUrl`.
5. Open Key-value store → RUN_SUMMARY to see counts, limits and each input's status.

## Use cases

| Task | Input | Key fields | Next step |
|---|---|---|---|
| Export a company job board | `boards`, `mode: "all"` | `id`, `title`, `department`, `jobUrl` | Export the Dataset or store it in your system. |
| Study roles and locations | `filters.titleContains`, `filters.locationContains` | `location`, `secondaryLocations`, `workplaceType` | Compare matching jobs. |
| Read one known posting | `mode: "exact"`, a canonical job URL | `id`, descriptions, `applyUrl` | Check the current source posting. |
| Compare published pay | `includeCompensation: true` | `compensation`, `employmentType` | Use only values the employer publishes. |

## Tips

- Use the board name from the jobs.ashbyhq.com address.
- Check workplace type and the remote flag together. They can differ.
- Read RUN_SUMMARY when the result looks empty.

## Limits



- Up to 50 input values and 11,446 saved jobs per run.
- Default memory is 512 MB after the resource validation matrix; increase it for larger boards or high concurrency. Data caps and source deadlines do not change.
- Each source response is limited to 64 MiB.
- Each source request has a 30-second timeout and up to three attempts for transient failures.
- Total source work has a 240-second deadline. A longer platform timeout does not extend it.
- A shorter platform timeout reduces source time, with a 15-second reserve for the run summary.
- There is no pagination: the documented endpoint returns a board feed in one response.
- Source order is kept. This Actor does not sort jobs by publication date.

## Sample result

```json
{
  "source": "ashby",
  "boardSlug": "ramp",
  "id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
  "title": "Security Engineer, Cloud",
  "department": "Engineering",
  "team": "Backend",
  "location": "New York, NY (HQ)",
  "isRemote": true,
  "workplaceType": "Hybrid",
  "employmentType": "FullTime",
  "isListed": true,
  "publishedAt": "2026-04-07T17:12:35.753Z",
  "jobUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
  "applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application"
}
```

## Use it from code

Actor ID: `cliqtomedia/ashby-jobs-scraper`

```python
from apify_client import ApifyClient

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

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

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

tool = ApifyActorsTool("cliqtomedia/ashby-jobs-scraper")
result = tool.invoke({"run_input": {"mode": "all", "boards": ["ramp"]}})
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/

## Use cases with this tool

- [Reach out when the company is ready](https://cliqtomedia.com/actors/use-cases/buying-signals/): Know when a company hires, raises money or wins a contract. Reach out at the right moment.

## Similar tools

- [Lever Job Scraper](https://cliqtomedia.com/actors/lever-jobs-scraper/)
- [Greenhouse Jobs Monitor & Scraper](https://cliqtomedia.com/actors/greenhouse-jobs-monitor-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/)
- [BambooHR Jobs Monitor & Scraper](https://cliqtomedia.com/actors/bamboohr-jobs-monitor-scraper/)
