# Job market research. Indeed, Naukri, Upwork and LinkedIn jobs.

> Study demand for a role across Indeed, Naukri, Upwork and LinkedIn jobs: listings, salary text, skills, budgets and dates. Priced per listing.

Canonical: https://apiforagents.dev/use-cases/job-market-research · Updated 2026-10-21

Count who is hiring for a role, where, and at what pay, across four job boards. Search each with the same title, keep the posting dates, and compare salaries, skills and the remote share.

- Indeed: from $0.000045 per record
- Naukri: from $0.0018 per record
- Upwork: from $0.0027 per record
- LinkedIn jobs: $0.001 per record

## The workflow

1. Run Indeed search with a query, location and country, plus postedWithin and employmentType: full postings with salary, skills and employer signals.
2. Run Naukri search for India with experience, salaryMin and salaryMax in lakhs, locations and workplace. Add fetchDetails for each posting's full description; it is slower.
3. Run Upwork search for freelance demand: budget or hourly range, experience level, client history and project length, with proposal counts on every posting.
4. Run LinkedIn jobs with a title query, locations, workplace, experienceLevel and postedWithin: title, company, location, salary text, listed date and description.
5. Group by company, city and skill. Read the free history operations on Naukri (applicants, views) and Upwork (applicants, hired) to see how postings filled.

## Who uses it

- **Recruiters and staffing firms.** See which cities and companies are hiring for a role this month, and at what pay.
- **[Freelancers and agencies](https://apiforagents.dev/platforms/upwork/jobs-api).** Read Upwork demand by budget, client history and project length before you pick a niche.
- **Analysts and investors.** Track hiring by company and skill as a signal of where money is going.

## Operations used

List prices per record. A call can carry a minimum, so quote first: the quote is free, and a record that does not come back is not charged.

| Step | Operation | What comes back | Price |
|---|---|---|---|
| 1 | Indeed search | Full postings with salary, skills, employer signals | $0.000045 per record |
| 2 | Naukri search | Postings with the board's filters, full text with fetchDetails | $0.0018 per record |
| 3 | Upwork search | Postings with budget, client profile, proposal counts | $0.0027 per record |
| 4 | LinkedIn jobs | Title, company, location, salary text, listed date, description | $0.001 per record |

> **Quote the big boards first** A Naukri search returns 50 to 200 rows per call. Quote it with "estimateOnly": true, and set "maxUsd" on every board in the loop.

## The operations in this workflow

- [Indeed search](https://apiforagents.dev/platforms/indeed/jobs-api): Full postings with salary, skills, employer signals
- [Naukri search](https://apiforagents.dev/platforms/naukri/jobs-api): Postings with the board's filters, full text with fetchDetails
- [Upwork search](https://apiforagents.dev/platforms/upwork/jobs-api): Postings with budget, client profile, proposal counts
- [LinkedIn jobs](https://apiforagents.dev/platforms/linkedin/jobs-api): Title, company, location, salary text, listed date, description

## Questions

### Which countries does Indeed cover?

US, GB, CA, AU, IN, DE, FR, JP, BR, MX, IT and ES, chosen with country.

### Do I get salaries?

Where the posting shows one: salary on Indeed, salary text on LinkedIn, salary bands as a filter on Naukri, and budget or hourly range on Upwork.

### Can I get the full posting text?

Yes. LinkedIn listings include the description, Indeed's jobs operation reads full postings by job key, and Naukri returns full descriptions with fetchDetails.

## Why API for Agents

- One key for 26 platforms: social, commerce, jobs, places, search and contacts, with one request shape and one response shape.
- A free quote before any spend: add "estimateOnly": true to any call and see the most it can cost.
- Pay per record in US dollars. No subscription, nothing expires, top-ups from $5.
- $0.10 free to try, no card. An AI agent can sign itself up in one request; a person claims it later.
- Measured, not estimated: every answer says when each row was measured, whether it was fresh or a recent capture, and how sure to be of each field.
- Partial success is success: anything that could not be fetched is named with a reason, and the charge settles to what came back, never above the quote.
- Typed fields that keep their names whichever source answered, and a details object last with everything else the source sent, under our own field names.
- Try any endpoint in the playground and download the answer as CSV or JSON.

## Start

The playground runs any endpoint by hand: pick a platform and what you want from it, fill a short form named in plain words (or press Use sample input), see the free quote on the Run button, run it, then read the answer as a table or JSON and download it as CSV or JSON. The same call is written out as cURL, Python and Node while you type. Open it at https://apiforagents.dev/dashboard/run (sign in first).

Agents register at https://apiforagents.dev/auth.md (one POST, $0.10 free). People: https://apiforagents.dev/docs#start. Prices: https://apiforagents.dev/pricing.md
