Ashby Jobs Scraper
Pricing
Pay per event
Ashby Jobs Scraper
Extract live jobs from public Ashby career boards with team, location, compensation, IDs, URLs, and optional full descriptions.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Extract live job postings from public Ashby company career boards.
Use this Actor to turn Ashby-hosted recruiting pages into clean, exportable job datasets for hiring intelligence, job-board operations, sales prospecting, and market research.
What does Ashby Jobs Scraper do?
Ashby Jobs Scraper collects open roles from public Ashby job boards such as openai, ramp, notion, perplexity, and other companies using jobs.ashbyhq.com.
It returns one dataset row per job posting, including the title, team, location, department, employment type, workplace type, compensation summary when available, job URL, posting IDs, and scrape timestamp.
You can also enable full job descriptions when you need role requirements, benefits, or long-form hiring content for analysis.
Who is it for?
- 🧲 Recruiting analytics teams tracking which startups and technology companies are hiring.
- 🧑💼 Sales and lead-generation teams finding companies with active hiring signals.
- 📰 Job-board operators refreshing Ashby-powered job listings.
- 📈 Market researchers comparing teams, locations, functions, and compensation trends.
- 🤖 Automation builders feeding live hiring data into CRMs, dashboards, or alerts.
Why use this Actor?
Ashby is widely used by venture-backed and high-growth companies. Manually checking each board is slow, inconsistent, and hard to automate.
This Actor gives you repeatable structured output with filters, limits, and optional descriptions.
Common use cases
- Monitor live hiring at a list of target companies.
- Build a startup jobs dataset for a niche job board.
- Track which teams are expanding by company.
- Find companies hiring for sales, engineering, security, finance, or operations roles.
- Export job openings into Google Sheets, Airtable, Snowflake, or a CRM.
- Compare location patterns such as remote, New York, London, or San Francisco.
What data can you extract?
| Field | Description |
|---|---|
companySlug | Ashby hosted board slug |
companyName | Company name shown on the board |
jobId | Ashby job identifier |
postingId | Public posting identifier used in the job URL |
title | Job title |
team | Team name |
teamId | Team identifier |
locationName | Primary location |
secondaryLocations | Additional locations |
employmentType | Full-time, part-time, contract, or other value when available |
workplaceType | Remote, hybrid, onsite, or similar value when available |
department | Department name |
departmentId | Department identifier |
publishedDate | Posting publish date |
updatedAt | Last update timestamp |
compensationTierSummary | Compensation summary when displayed by the company |
jobUrl | Public Ashby job URL |
descriptionHtml | Full description HTML when enabled |
descriptionText | Plain-text description when enabled |
scrapedAt | Timestamp for the scrape |
How much does it cost to scrape Ashby jobs?
This Actor uses pay-per-event pricing.
You pay a small start fee for each run and a per-result fee for each job posting saved to the dataset.
Current pricing:
- Start fee: $0.005 per run.
- FREE tier: $0.000029762 per job posting.
- BRONZE tier: $0.00002588 per job posting.
- SILVER tier: $0.000020186 per job posting.
- GOLD tier: $0.000015528 per job posting.
- PLATINUM tier: $0.000010352 per job posting.
- DIAMOND tier: $0.0000072464 per job posting.
For the cheapest first run, use the default prefill or set maxItems to a low number such as 25 or 50. At the BRONZE tier, 1,000 job postings cost about $0.02588 plus the run start fee.
Input options
| Input | Type | Required | Description |
|---|---|---|---|
companySlugsOrUrls | array of strings | yes | Ashby company slugs or full jobs.ashbyhq.com board URLs |
maxItems | integer | no | Maximum job postings to save across all boards |
teamFilter | string | no | Case-insensitive filter for team names |
locationFilter | string | no | Case-insensitive filter for primary or secondary locations |
includeDescriptions | boolean | no | Adds full job description HTML and text |
Example input
{"companySlugsOrUrls": ["openai", "ramp", "https://jobs.ashbyhq.com/notion"],"maxItems": 100,"teamFilter": "Engineering","locationFilter": "San Francisco","includeDescriptions": false}
Input tips
- Use plain slugs like
openaiwhen possible. - Full board URLs such as
https://jobs.ashbyhq.com/rampalso work. maxItemsapplies across all submitted companies.- Leave filters blank to collect every public posting.
- Enable descriptions only when you need detailed role text.
- Description mode is slower because it adds more page visits.
Output example
{"companySlug": "openai","companyName": "OpenAI","jobId": "d4446040-9dd7-4116-8534-91a804a81b3c","postingId": "2c3ab9f8-e7d0-48b7-9817-afe1b6ddece2","title": "3D Printing Lab Technician, Robotics","team": "Robotics","teamId": "c16efb3c-493d-401c-a76f-a493cfccbeb8","locationName": "San Francisco","secondaryLocations": [],"employmentType": "FullTime","workplaceType": "Hybrid","department": "Research","publishedDate": "2026-05-19","compensationTierSummary": "$266K – $399K • Offers Equity","jobUrl": "https://jobs.ashbyhq.com/openai/2c3ab9f8-e7d0-48b7-9817-afe1b6ddece2","scrapedAt": "2026-06-17T00:00:00.000Z"}
How to scrape Ashby job boards
- Open the Actor on Apify.
- Add Ashby company slugs or board URLs.
- Set a low
maxItemsfor the first test. - Add optional team or location filters.
- Choose whether to include full descriptions.
- Click Start.
- Download results from the dataset tab as JSON, CSV, Excel, XML, or RSS.
Filtering examples
Engineering roles
{"companySlugsOrUrls": ["openai", "notion"],"teamFilter": "Engineering","maxItems": 100}
New York roles
{"companySlugsOrUrls": ["ramp"],"locationFilter": "New York","maxItems": 50}
Description analysis
{"companySlugsOrUrls": ["perplexity"],"includeDescriptions": true,"maxItems": 25}
Best practices
- Start with 1-3 companies to confirm the output shape.
- Use
maxItemsto keep exploratory runs small. - Turn on descriptions only when you need long-form content.
- Use filters to reduce noise for alerts and dashboards.
- Schedule runs daily or weekly for hiring-monitoring workflows.
- Store historical exports if you need change detection over time.
Integrations
You can connect this Actor to:
- Google Sheets for recruiting intelligence dashboards.
- Slack for alerts when target companies add roles.
- Airtable for job-board editorial workflows.
- HubSpot or Salesforce for hiring-trigger lead enrichment.
- Snowflake, BigQuery, or S3 for long-term market datasets.
- Zapier or Make for no-code automations.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/ashby-jobs-scraper').call({companySlugsOrUrls: ['openai', 'ramp'],maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/ashby-jobs-scraper').call(run_input={'companySlugsOrUrls': ['openai', 'ramp'],'maxItems': 100,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~ashby-jobs-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"companySlugsOrUrls":["openai","ramp"],"maxItems":100}'
MCP usage
Use Apify MCP to call this Actor from Claude Code, Claude Desktop, or other MCP clients.
MCP endpoint:
https://mcp.apify.com/?tools=fetch_cat/ashby-jobs-scraper
Claude Code setup:
$claude mcp add apify-ashby-jobs "https://mcp.apify.com/?tools=fetch_cat/ashby-jobs-scraper"
Claude Desktop MCP JSON config:
{"mcpServers": {"apify-ashby-jobs": {"url": "https://mcp.apify.com/?tools=fetch_cat/ashby-jobs-scraper"}}}
Example prompts for MCP usage:
- "Use the Apify Ashby Jobs Scraper MCP tool to scrape OpenAI and Ramp, then summarize engineering hiring by location."
- "Call the Ashby Jobs Scraper for Notion and return jobs whose titles or teams mention design or product."
- "Run the Ashby Jobs Scraper MCP tool for Perplexity with maxItems 50 and return a CSV-ready table."
Scheduling
For hiring intelligence, schedule the Actor to run every day or every week.
Daily schedules work well for sales triggers and job-board freshness. Weekly schedules are usually enough for market reports and competitive research.
Data freshness
The Actor returns currently visible public job postings at run time.
If a company removes a posting, future runs will no longer include it. Keep historical datasets if you need opening and closing dates.
Limits and caveats
- Only public Ashby hosted boards are supported.
- The Actor does not access private applicant data.
- Some companies may have zero public roles.
- Some fields depend on what the company chooses to display.
- Compensation summaries appear only when visible on the public board.
- Very large company lists should use a practical
maxItemslimit.
Troubleshooting
Why did a company return no jobs?
The company may not use a public Ashby hosted board, may have no public openings, or may use a different slug. Open https://jobs.ashbyhq.com/<slug> in a browser to confirm the board exists.
Why are descriptions missing?
Descriptions are included only when includeDescriptions is set to true. Leave it off for faster runs when listing-level fields are enough.
Why did I get fewer jobs than expected?
maxItems is a global cap across all companies. Filters can also reduce results. Increase maxItems or remove filters to collect more postings.
Legality and privacy
This Actor collects publicly available job posting information from public company career pages.
You are responsible for using the data in accordance with applicable laws, website terms, and privacy requirements. Do not use scraped data for spam, discrimination, or unlawful employment practices.
Related scrapers
Other actors by fetch_cat that may help with recruiting and market research:
- https://apify.com/fetch_cat/y-combinator-companies-scraper
- https://apify.com/fetch_cat/reddit-scraper
- https://apify.com/fetch_cat/craigslist-classifieds-scraper
FAQ
Can I scrape multiple companies in one run?
Yes. Add multiple slugs or URLs to companySlugsOrUrls.
Can I filter by remote jobs?
Yes. Use locationFilter with values such as Remote, or inspect workplaceType in the output.
Can I get salary data?
The Actor returns compensationTierSummary when the public posting displays compensation.
Can I use this for alerts?
Yes. Schedule regular runs and compare the latest dataset with previous results in your own workflow.
Does this require an Ashby account?
No. It is designed for public Ashby job boards.
Does it scrape applicants or candidates?
No. It only extracts public job posting information.
What if a company uses Greenhouse, Lever, Workday, or another ATS?
This Actor is focused on Ashby hosted job boards. Use a matching ATS scraper for other platforms.
Changelog
- Initial version: collect Ashby public job postings with optional description extraction.