Pinpoint Jobs Scraper & API — Any Pinpoint Board avatar

Pinpoint Jobs Scraper & API — Any Pinpoint Board

Pricing

from $4.00 / 1,000 jobs

Go to Apify Store
Pinpoint Jobs Scraper & API — Any Pinpoint Board

Pinpoint Jobs Scraper & API — Any Pinpoint Board

Pinpoint jobs API. Paste a Pinpoint board slug, board URL or company domain and get every open role on that board, read live when you run it. One normalized schema with parsed salary, seniority, remote flag and direct apply URLs. Pay per job; boards we cannot reach are free.

Pricing

from $4.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Blackcube

Blackcube

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 minutes ago

Last modified

Share

Career Site & ATS Jobs Suite  •  12 Actors, one codebase, one job posting billed once
Career Site Job Listing API
Any Company, 14 ATS
SmartRecruiters Jobs Scraper & API
Any SmartRecruiters Board
Workable Jobs Scraper & API
Any Workable Board
Recruitee Jobs Scraper & API
Any Recruitee Board
Personio Jobs Scraper & API
Any Personio Board
BambooHR Jobs Scraper & API
Any BambooHR Board
Rippling Jobs Scraper & API
Any Rippling Board
Breezy Jobs Scraper & API
Any Breezy Board
Teamtailor Jobs Scraper & API
Any Teamtailor Board
Pinpoint Jobs Scraper & API
➤ You are here
SmartRecruiters Jobs Scraper
Full Job Posts, Any Board
Workable Jobs Scraper
Full Job Posts, Any Board

More from this account: YouTube Transcript Suite · Website Contact & Email Suite · Google News Suite · Keyword Research Suite · Shopify Store Intelligence Suite · eBay Data Suite · Amazon Reviews Suite · Reddit · Meta Ad Library · Vinted · Trustpilot Review Intelligence Suite · App Store & Google Play Reviews Suite · Etsy Research Suite · YouTube Comments Intelligence Suite · Telegram Channel Intelligence Suite · Business Reviews Suite · Google Trends Suite · Amazon Product Data Suite · Polymarket Order Book · Nordic Marketplaces Suite · Google Sheets Suite · TikTok Suite · Snapchat Suite · LinkedIn Public Data Suite · Instagram Suite · Contact Validation Suite · Google Maps Suite · X / Twitter

Every open role from any Pinpoint job board, in one clean schema.

Paste a Pinpoint board slug, a board URL, or just the company's domain — you get every open posting on that board, read live at the moment you run it.

You pay per job returned. A board we cannot reach is free, and so is a board with no open roles — there is no start fee on any plan. Every company that produces no jobs still comes back as a row telling you why. When your filters leave a board that was read with nothing to deliver — a salary filter on a board that publishes no pay, or a re-run with "only new or changed" that finds nothing new — it is billed once as a board checked: the price of a single posting, not of the whole board.

Unofficial. Not affiliated with, endorsed by, or connected to Pinpoint or any employer whose board it reads. It reads only the vacancies employers publish for the public on their own career pages.


Why this one for Pinpoint

Live, not a snapshot. This is not a pre-crawled database with an indexing delay. Every row carries a scrapedAt timestamp and was open on that board at that moment. If a role closed an hour ago, it is not in your results.

Pinpoint's strength is used properly. The best-structured board of the fourteen for pay — 94% of postings in a live run carried a real salary range, with minimum, maximum, currency and period as separate fields.

And its limits are published, not hidden. Where an employer has deliberately chosen not to show pay, that choice is respected and the salary fields come back null rather than filled in from somewhere else. It publishes no posting dates.

A guessed board must not name somebody else. Company names collide across boards, and a plausible-looking match can belong to an unrelated account. When a board guessed from a bare domain names a different employer, it is dropped, and if nothing else matches you get a free atsNotFound row instead — not a stranger's postings on your invoice. Lever, Ashby, Personio and Rippling do not name the employer in their feeds, so a board guessed there is matched on its address alone; a BambooHR or Pinpoint board is guessed only when its own careers site names the company and no other platform in atsPlatforms (Applicant tracking systems) has a board at that address. This listing checks only Pinpoint by default, so no other platform is asked unless you add the ones you suspect to atsPlatforms. Names are matched loosely, so paste the board slug or URL when it matters.

Finding the board

It is the subdomain of the board: <company>.pinpointhq.com.

You can also pass a bare company domain and let the Actor find the board for you.

What Pinpoint actually gives you

Measured on a real run, not claimed. These are field fill rates:

DepartmentSeniorityLocationRemoteEmployment typeSalaryPosted date
100%46%100%100%100%94%0%

Where a field is unavailable you get an explicit null — never a guess, and never a missing key. Seniority is derived rather than reported: almost no ATS publishes it at all, so it is normalized here to 11 comparable levels.

Input

FieldDefaultWhat it does
companiespinpoint:impulsespacePinpoint board slugs, board URLs, or company domains.
onlyNewJobsfalseReturn only postings that are new or materially changed since your last run.
titleKeywords / excludeTitleKeywords—Filter on the job title.
locationKeywords, remoteOnly—Filter on location; remote excludes hybrid and unknown.
seniority, employmentType, departments—Filter on the normalized fields.
hasSalary, minSalaryYearly, postedWithinDays—Only postings with a parsed range / paying at least this much a year, in the posting's own currency / published recently.
maxJobs, maxJobsPerCompany—Caps, honoured exactly.
includeDescriptionfalseAdd the full description as HTML and text.

Filters are applied before billing, so you pay for the rows you keep, plus one board checked (the price of a single posting) for each board they leave empty.

Repeat runs charge for what changed

Turn on Only new or changed jobs and a scheduled run returns — and bills for — only postings that are new, or whose title, department, location, salary, employment type or workplace type moved since last time. Description edits deliberately do not count, so a re-worded posting is never re-charged. A board with nothing new is billed once as a board checked, the price of a single posting.

Need more than Pinpoint?

This is one platform's listing of a 14-ATS engine. If you track companies across several systems, the multi-ATS version takes a mixed list and detects each one for you — same schema and same code, priced on its own listing.


Reads only publicly published job listings — the vacancies employers deliberately publish for candidates to find. It does not log in, bypass authentication, solve captchas, or touch applicant data.

Job postings are company information rather than personal data. You are responsible for how you use the output, including any outreach you base on it.


Unofficial project. Uses only publicly available data. Not affiliated with Pinpoint or any employer.

Use it from n8n, MCP, the API or a schedule

Built to be called by a workflow, not only from the Store form. The Actor is vonsensey/pinpoint-jobs-scraper-api; every snippet below sends {}, which runs the defaults shown on the form — replace it with your own input.

n8n

Install the Apify community node (@apify/n8n-nodes-apify under Settings → Community Nodes, or search "Apify" on n8n Cloud). Add Apify → Run Actor with Actor vonsensey/pinpoint-jobs-scraper-api and your input JSON, then Apify → Get Dataset Items on the run's defaultDatasetId and pipe the rows anywhere. For scheduled runs, the On new Apify Event trigger fires when a run of this Actor finishes.

MCP (Claude, Cursor, VS Code, any MCP client)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vonsensey/pinpoint-jobs-scraper-api",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Your agent then calls vonsensey/pinpoint-jobs-scraper-api as a tool with the same input the form takes and reads the dataset back.

REST API (one call, rows in the response)

curl -X POST "https://api.apify.com/v2/acts/vonsensey~pinpoint-jobs-scraper-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d '{}'

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vonsensey/pinpoint-jobs-scraper-api").call(run_input={})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('vonsensey/pinpoint-jobs-scraper-api').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Make, Zapier, LangChain, CrewAI

The Apify app in Make and Zapier has a Run an Actor module: pick vonsensey/pinpoint-jobs-scraper-api. In LangChain and CrewAI the Apify tool wrappers take the same Actor id. A daily schedule needs nothing but the Console: Schedules → Create → this Actor → cron, and the dataset fills on its own.

Run it without configuring anything — Scrape jobs from a Pinpoint board, a ready-made example you can start as-is or copy.

Use cases

  • Hiring as a buying signal. A company posting roles in a function you sell to is a company with budget — track a target list and act on the change.
  • Build a niche job board. Pull real postings straight from company career pages, with the apply URL intact, instead of re-listing an aggregator.
  • Watch a competitor's headcount plan. What a rival hires for, and where, tells you what it is about to ship.
  • Talent-market research. Departments, seniority, location and employment type arrive as structured fields, so a market map is a pivot table away.

Run it on a schedule

A one-off pull answers a question; a schedule answers it every day without you. Open Schedules in the Apify Console, point a cron at this Actor, and the dataset keeps filling on its own — no server, no cron box, no babysitting. Everything here is built to be re-run: you are billed per job posting delivered, and the FAQ below says exactly what a scheduled run that finds nothing new costs.

FAQ

Do I need an API key for each ATS?

No. Give it a company domain or a board slug and it detects the applicant tracking system behind the page for you.

Can I get only the jobs that are new since my last run?

Yes. Turn on change tracking and a scheduled run returns only new or changed postings — which is also all you are charged for.

What happens if a company has no open roles?

You get a free row saying so. "No jobs today" and "we could not reach the board" are different answers, and neither one costs you anything.

Which applicant tracking systems are supported?

Greenhouse, Lever, Ashby, Workday, Workable, BambooHR, SmartRecruiters, Teamtailor, Recruitee, Personio, Rippling, Breezy, Pinpoint and Dover — 14 in all.


Something wrong, or a field you need that is missing? Open an issue on the Issues tab — it is read and it gets fixed. If this saved you time, a rating on the Store page helps the next person find it.