Use LinkedIn job postings as sales and market signals
Search LinkedIn jobs by title and location and get company, salary, posted date, applicants and description as JSON, to spot companies about to buy.
When a company posts a job for a role your product serves, it is telling you its priorities: a new data team, a security hire, a move into a market. That is a better reason to call than a cold list. LinkedIn is where most of those postings go. Lovely Router searches it for you. Send a title and a location, get one JSON object per job, pay per job from a prepaid balance. Run it daily from a script or an AI agent to build a trigger feed.
Hand it to your AI agent
Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.
Use LinkedIn job postings as sales and market signals. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the inputs (links, keywords or accounts) and how many results you need>How it works
Write the trigger
Pick the titles or skills that point at your product: for example Head of Data, FinOps or Revenue Operations.
Run the tool with a cap
Send them to
POST /v1/tools/linkedin-jobs/run.datePostedkeeps it to the last day or week,limitcaps the jobs andmax_resultscaps the run.Turn postings into leads
Group by company, read the description for the tools and priorities it names, and send the company to your sales team.
Search LinkedIn jobs with one request
Search LinkedIn jobs takes keywords (a title, skill or company) and a location. Add datePosted (r86400 for 24 hours, r604800 for a week, r2592000 for a month) and companyName to narrow it. limit caps the jobs, and one run returns up to 200:
curl https://lovelyrouter.com/v1/tools/linkedin-jobs/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"keywords": "Head of Data",
"location": "Chicago",
"datePosted": "r604800",
"limit": 25
},
"max_results": 25
}'The tool also accepts a LinkedIn jobs search URL when you already have one set up in your browser. A run still going after 60 seconds returns 202; Run a tool shows how to poll.
What each job holds
| Field group | What you get |
|---|---|
| Role | Title and job description |
| Company | The employer |
| Place | Location |
| Pay | Salary, when the posting shows one |
| Timing | Posted date and applicant count |
Use the description text for what a company names in its stack. A model can pull tools and requirements out of it.
Recipes
Run your trigger titles each morning with datePosted set to r86400, and send new companies to your reps.
Group a week of postings by company and rank by the number of open roles in one function.
Ask a model to list the tools named in each description, and find companies using a competitor of yours.
Search a title in one city and read the posted salaries before you set a budget.
Pass an account in companyName and track its open roles for hiring changes.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Search LinkedIn jobs for Head of Data in Chicago from the last week with linkedin-jobs, limit 50, and group the postings by company with the tools named in each description. Set max_results to 50."
Pair it with other hiring and account data
Jobs show intent. Other tools add context:
LinkedIn job postings for a title/skill and location (or a jobs search URL): title, company, location, salary, posted date, applicants, description.
Indeed job postings by title and location: company, salary, posted date, description.
Glassdoor job postings by keyword and location.
LinkedIn company pages: description, industry, size, headquarters, website, followers.
Employees of LinkedIn companies, filterable by job title, location and keyword: name, headline, position, profile URL.
indeed-jobscovers postings that never reach LinkedIn.glassdoor-jobsadds another view of the same employers.linkedin-companyadds size and industry to a hiring company.linkedin-company-employeesfinds the person who leads the team hiring.
For using job data to recruit rather than sell, see recruiting data.
What you pay
You pay per job: starting a run holds its maximum cost, the per-call fee plus the per-job fee times max_results, and the run settles to what it returned. The rest of the hold goes back to your balance. A run that fails or times out pays only for the jobs it delivered, and a run refused at the start costs nothing.
Pulling 50 jobs a day is billed as 50 jobs a day. There is no subscription and no monthly minimum: top up from $5, and one balance pays for tools and models. The card above shows today's price; pricing lists every tool.
Frequently asked questions
Can I limit results to recent postings?+
Yes. datePosted takes r86400 (24 hours), r604800 (a week) or r2592000 (a month); leave it empty for any time.
Does it show salary and applicants?+
The result includes salary, posted date and applicants, when the posting shows them.
How many jobs can one run return?+
Up to 200 per run.
Can I pass a LinkedIn search link?+
Yes, a jobs search URL works as an alternative to keywords and location.
Do I need a subscription?+
No. You add credit to a prepaid balance and each run draws it down. Failed runs pay only for the results they delivered, and nothing renews automatically.
Using hiring as a sales signal? See recruiting data, and the rest of the tool catalog. Run settings are in Run a tool.