What a company is hiring for is one of the clearest public indicators of where it is investing — new teams, new markets, new tech stacks. But reading that off LinkedIn by hand doesn’t scale, and there is no clean export of listings for a company or role into structured data.
This guide shows how to pull public LinkedIn job listings as JSON — no login or cookies — for hiring-trend, sales, and recruiting research.
Who uses hiring data
Public job listings are a leading indicator of company direction, and several teams read them that way. Sales teams watch for roles that signify a new initiative or budget — a company hiring its first data engineers is building a data team, and that is a buying window. Recruiters and talent researchers map which competitors are hiring for which skills, in which cities, at what pace. Investors and analysts track headcount momentum as a proxy for growth. And market researchers use role mix to understand where an industry is investing.
What the data looks like
One record per listing. A real row from a live run:
| Field | Example |
|---|---|
| job_title | Python Developer |
| company_name | Open Systems Technologies |
| location | New York, NY |
| posted_date | 2026-06-22 |
| job_url | linkedin.com/jobs/view/… |
| job_type | Not specified |
Records also include job id, salary (where shown), and the full description.
How to get it
Run the LinkedIn Jobs Scraper on Apify with keywords and an optional location. Output is JSON, CSV, or Excel, priced per listing. It defaults to a small evaluation-sized batch so you can verify the fields cheaply, then scale up.
Run it on a schedule
{
"keywords": "data engineer",
"location": "United States",
"maxResults": 100
}A weekly run builds a time series of who is hiring for a role — a leading indicator of team growth.
Common workflows
The usual jobs are: a company watch that pulls a named employer’s open roles on a schedule; a role-and-region sweep that tracks a specific title across a market week over week; a competitive-headcount build that compares hiring volume across a set of companies; and enrichment of a CRM or research database with current openings per account. Because the output is clean JSON or CSV, each of these drops straight into a spreadsheet, a dashboard, or an alerting step.
Why pull it as structured data
Reading listings in the browser does not scale and leaves no dataset behind. Turning them into structured records — title, company, location, posted date, and description — lets you measure trends over time rather than eyeballing a page. A weekly cadence turns a static snapshot into a time series: you can see when a company started hiring for a role, how fast the count is growing, and where the roles are concentrated.
Best practices
Start with a small result cap to confirm the fields, then scale up. Keep one scheduled job per company or per role so each feed stays clean, and store results over time so you can chart momentum rather than just the current snapshot.
Turning listings into an actionable hiring indicator
The payoff comes from cadence. A single pull tells you who is hiring today; a scheduled pull stored over weeks tells you who is accelerating, which roles are new, and where a company is placing its bets. That time series is the difference between a static list and an actionable read on account momentum — the kind of context that makes an outreach email land at the right moment.
In short: read consistently, store the history, and let the trend — not any single posting — guide the decision.
Used that way, public hiring data becomes a dependable, repeatable input to account planning rather than a one-off curiosity.
Cost and control
The Actor bills per listing returned and defaults to a small evaluation-sized batch, so you can confirm the fields for a few cents before scaling to a full pull. There is no subscription: a single-company watch is cheap, and a broad market sweep costs in proportion to the number of roles it collects. Because you control keywords, location, and result cap on every run, you can keep a daily company watch running continuously without it becoming an expensive commitment.
The through-line across all these uses is simple: one listing is noise, but a maintained series of listings is a dependable, low-cost read on where a company is heading.
FAQ
Does it need a LinkedIn login? No — it reads public listings without login or cookies.
Can I filter by role and location? Yes, by keywords, location, and job type.
Can an AI agent run it? Yes — it is Pay-Per-Event, so agents can call it via Apify’s x402 support and pay per run in USDC.
Can I track a single company over time? Yes — schedule a recurring run for that employer and store the output to build a hiring time series.
Related: Startup Funding Tracker for growth indicators and Website Contact Scraper for lead enrichment.
We cover AI agents, automation, and the tools that make them work. Our mission is to make AI accessible to everyone.