Pinpoint Jobs Scraper — Any Pinpoint Careers Page | $1/1K avatar

Pinpoint Jobs Scraper — Any Pinpoint Careers Page | $1/1K

Pricing

from $1.00 / 1,000 jobs

Go to Apify Store
Pinpoint Jobs Scraper — Any Pinpoint Careers Page | $1/1K

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

Steadyrow

Maintained by Community

Actor 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
}
FieldWhat it does
companiesRequired. 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.
keywordsKeep jobs whose title contains any of these words (whole word, case-insensitive). Turn on searchInDescription to search the description too.
excludeKeywordsDrop jobs whose title contains any of these words.
locationsKeep jobs whose location or country contains one of these words. remote matches remote jobs.
departmentsKeep jobs whose department or team contains one of these strings.
maxItemsPerSource / maxItemsLimits per site / per run (0 = no limit).
includeDescription, includeDescriptionHtmlPlain-text and/or HTML description.
monitorMode, monitorStateNameOutput 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_at is always null — Pinpoint's feed has no posting date. Consequently the postedWithinDays filter 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_to field with a person's name; the Actor drops it.
  • job_id is pinpoint:<account>:<id> and stays the same between runs.
  • company is derived from the account name (impulsespace → Impulsespace) because the feed does not carry a display name.
  • department is Pinpoint's department and team its division (null when the company does not use divisions). Pinpoint has no country field (country is null).
  • salary_source is ats when the company shows structured compensation, description when a range was parsed from the text, and all salary fields are null otherwise. In our main test 43 of 75 jobs had a range.
  • A run summary (per site: listed / output / errors) is saved as SUMMARY in 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

  1. Turn on Monitor mode and save the input as a task.
  2. Add a schedule (for example every morning).
  3. 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:

EventPrice
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.