Pinpoint Jobs Scraper — Any Pinpoint Careers Page | $1/1K
Pricing
from $1.00 / 1,000 jobs
Pinpoint Jobs Scraper — Any Pinpoint Careers Page | $1/1K
Scrape every open job from any Pinpoint careers page: paste a company.pinpointhq.com URL or the account name. Official public postings.json feed, no proxy. Pay ranges, workplace type, employment type, filters by keyword, location, department, and a monitor mode for new jobs.
Pricing
from $1.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Steadyrow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Paste a Pinpoint careers page, get every open job as clean JSON. $1 per 1,000 jobs.
Pinpoint (<company>.pinpointhq.com) runs the careers pages of many companies in the UK, Europe and the US. Pinpoint documents a public postings.json endpoint for showing jobs on a website. This Actor reads it and returns every posting with title, department, location, workplace type, employment type, structured pay range and the full description, in one request per company.
- ✅ Any Pinpoint careers site —
<company>.pinpointhq.com, a posting URL, or just the account name (impulsespace) - ✅ Pay ranges — reads Pinpoint's structured compensation when the company shows it, otherwise parses the range from the description (a range was found for 43 of 75 jobs in our test)
- ✅ Monitor mode — schedule it daily and only pay for jobs you have not received before
- ✅ No browser, no proxy, no login — one plain HTTPS request per company
- ✅ Filters — keywords, excluded words, location, remote, department
- ✅ No personal data — the hiring manager's name that Pinpoint includes in its feed is never output; e-mail addresses inside descriptions are removed
Need Greenhouse, Lever, Ashby, Workday, Workable and more in the same run? Use the combined ATS Jobs API. This Actor is the Pinpoint-only version with inputs built for Pinpoint.
What can I use it for?
- Job boards and aggregators — pull the Pinpoint companies you track into one feed
- Job alerts — daily monitor run → Slack, e-mail or Google Sheets with only the new roles
- Salary research — published pay ranges by role, location and company
- Hiring signals for sales and recruiting — which departments a company is growing
- AI agents — a typed job feed your agent can call through the Apify API or MCP
Input
{"companies": ["https://impulsespace.pinpointhq.com","intermedia","pinpoint:field"],"keywords": ["engineer","manager"],"excludeKeywords": ["intern"],"locations": ["United States","Remote"],"departments": ["Product"],"maxItemsPerSource": 200,"monitorMode": false}
| Field | What it does |
|---|---|
companies | Required. One per line: a careers site URL (https://impulsespace.pinpointhq.com), a posting URL (the whole site is scraped), the account name (impulsespace or pinpoint:impulsespace) or a company careers page that embeds a Pinpoint board. Entries that belong to another ATS are skipped with a note in the log. |
keywords | Keep jobs whose title contains any of these words (whole word, case-insensitive). Turn on searchInDescription to search the description too. |
excludeKeywords | Drop jobs whose title contains any of these words. |
locations | Keep jobs whose location or country contains one of these words. remote matches remote jobs. |
departments | Keep jobs whose department or team contains one of these strings. |
maxItemsPerSource / maxItems | Limits per site / per run (0 = no limit). |
includeDescription, includeDescriptionHtml | Plain-text and/or HTML description. |
monitorMode, monitorStateName | Output only jobs not delivered before; name of the store that remembers them. |
Finding the account name
Open a job on the company's careers page: the address looks like https://<account>.pinpointhq.com/en/postings/<id>. The <account> part is what you need. Companies with their own domain for the careers page usually still link to their pinpointhq.com page; paste the company's careers page and the Actor looks for that link (some company sites block automated requests; then paste the Pinpoint URL).
Output
One item per job:
{"job_id": "pinpoint:intermedia:403711","ats": "pinpoint","company": "Intermedia","company_board_id": "intermedia","title": "Product Lead, Healthcare Software Solutions","department": "Product","team": null,"location": "United States","locations": ["United States"],"country": null,"remote": true,"workplace_type": "remote","employment_type": "FULL_TIME","posted_at": null,"updated_at": null,"salary_min": 155000,"salary_max": 186000,"salary_currency": "USD","salary_period": "YEAR","salary_source": "ats","description_text": "Product Lead – Healthcare Solutions\nLocation: US, Remote…","apply_url": "https://intermedia.pinpointhq.com/en/postings/3a7ab46a-6d34-42bc-84be-c8d885562d85","source_url": "https://intermedia.pinpointhq.com/en/postings/3a7ab46a-6d34-42bc-84be-c8d885562d85","input": "pinpoint:intermedia","scraped_at": "2026-10-20T17:29:58.586Z"}
Pinpoint-specific notes:
posted_atis alwaysnull— Pinpoint's feed has no posting date. Consequently thepostedWithinDaysfilter does not exist in this Actor's input; use monitor mode to get only new jobs.- The hiring manager's name is never output. Pinpoint's feed has a
reporting_tofield with a person's name; the Actor drops it. job_idispinpoint:<account>:<id>and stays the same between runs.companyis derived from the account name (impulsespace→Impulsespace) because the feed does not carry a display name.departmentis Pinpoint's department andteamits division (nullwhen the company does not use divisions). Pinpoint has no country field (countryisnull).salary_sourceisatswhen the company shows structured compensation,descriptionwhen a range was parsed from the text, and all salary fields arenullotherwise. In our main test 43 of 75 jobs had a range.- A run summary (per site: listed / output / errors) is saved as
SUMMARYin the default key-value store. An unknown account is reported there and in the log; the other accounts still run.
Monitor mode: only new jobs
- Turn on Monitor mode and save the input as a task.
- Add a schedule (for example every morning).
- The first run returns all matching jobs. Every later run returns only jobs not delivered before — and you pay only for those.
Delivered IDs are kept per site in the named key-value store pinpoint-jobs-monitor (change it with monitorStateName if you run several independent monitors). In our tests a second run on the same sites returned 0 jobs, and after forgetting 9 delivered jobs a third run returned exactly those 9.
Pricing
Pay per event:
| Event | Price |
|---|---|
| Job in the dataset | $0.001 ($1 per 1,000 jobs) |
| Actor start | $0.002 per run |
Examples: 1,000 jobs ≈ $1. A daily monitor on 20 sites that finds 30 new jobs ≈ $0.03 + $0.002 per day. Jobs removed by your filters or already delivered in monitor mode are not charged. Set Maximum cost per run and the Actor stops cleanly at the limit.
FAQ
How many jobs can it get? All postings of a site, in one request. In our tests Impulse Space listed 212 open jobs, Intermedia 58 and Field 15.
Is it legal? The Actor reads Pinpoint's public postings.json endpoint, without logging in and without bypassing any protection. No recruiter or candidate data is collected, and the manager name in the feed is dropped. You are responsible for how you use the data.
An account returns "not found". The account name is probably wrong or the company has left Pinpoint. Open https://<account>.pinpointhq.com in a browser to check.
Why is employment_type/remote empty for some jobs? Only when the company leaves the field empty in Pinpoint.