Pre-screen candidates and speakers from public LinkedIn profiles
Turn LinkedIn profile URLs into JSON with headline, experience, education, skills and location, to pre-screen candidates, speakers or partners.
A recruiter with 80 applications, or a conference team with 40 speaker pitches, wants the same thing: a quick, uniform summary of each person without opening 80 tabs. Lovely Router reads the public profile for you. Send profile URLs, get one JSON object per profile, pay per profile from a prepaid balance. Call it from a script, an applicant tracker or an AI agent.
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.
Pre-screen candidates and speakers from public LinkedIn profiles. 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
Collect the profile URLs
Take the LinkedIn links from applications, pitches or a shortlist. Public identifiers (the last part of the URL) also work.
Run the tool with a cap
Send them in
urlstoPOST /v1/tools/linkedin-profile/runwithmax_results. The run holds its maximum cost from your balance.Summarize and compare
Ask a model to compare each profile to your requirements: years in role, skills, location. Keep the decision with a person.
Read LinkedIn profiles with one request
Get LinkedIn profiles takes profile URLs in urls, or public identifiers in publicIdentifiers. One run reads up to 50 profiles:
curl https://lovelyrouter.com/v1/tools/linkedin-profile/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"urls": [
"https://www.linkedin.com/in/jane-doe-example"
]
},
"max_results": 3
}'You pay for the profiles the run delivers. You are responsible for using people and contact data lawfully, including privacy and anti-spam rules in the countries of the people you contact. A run still going after 60 seconds returns 202; Run a tool shows how to poll.
What each profile holds
| Field group | What you get |
|---|---|
| Summary | Headline |
| Career | Experience |
| Education | Schools and degrees |
| Skills | Listed skills |
| Place | Location |
Only public profile fields are returned. It does not include an email; for that see linkedin-email-finder.
Recipes
Take the profile URLs from 60 applications, run them in two calls, and ask a model for a table of current role, years of experience and matching skills.
Read the profile of each proposed speaker and check the headline and experience against the pitch.
Read the buyer's profile an hour before the call and write two lines about their background.
Compare experience and education against what they told you.
Write headline, location and skills into candidate records so recruiters search by skill.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Read these 30 LinkedIn profile URLs from candidates.csv with linkedin-profile and give me a table of name, headline, current role, location and top skills. Set max_results to 30."
Pair it with sourcing and outreach
A profile is what you read once you have the name. Around it:
Public LinkedIn profile by URL: headline, experience, education, skills, location.
Search LinkedIn people by keyword, location, company and title. One call returns up to 25 short profiles.
Employees of LinkedIn companies, filterable by job title, location and keyword: name, headline, position, profile URL.
LinkedIn job postings for a title/skill and location (or a jobs search URL): title, company, location, salary, posted date, applicants, description.
Work email address for LinkedIn profile URLs.
linkedin-people-searchfinds candidates by title and place.linkedin-company-employeeslists people at a given employer.linkedin-jobsshows who else is hiring for the same role.linkedin-email-finderlooks up an email for a profile URL.
For the wider hiring workflow, see recruiting data.
What you pay
You pay per profile: starting a run holds its maximum cost, the per-call fee plus the per-profile 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 profiles it delivered, and a run refused at the start costs nothing.
Screening 80 applicants is billed as 80 profiles. 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 use identifiers instead of full URLs?+
Yes. publicIdentifiers takes the last part of the profile URL.
How many profiles can one run read?+
Up to 50. For a bigger pool, start several runs.
Can I read private profiles?+
No. The tool returns public profile fields only.
Can I use this to make hiring decisions automatically?+
Use it to prepare and compare. Your own review and applicable law decide how you use people data. You are responsible for using people and contact data lawfully, including privacy and anti-spam rules in the countries of the people you contact.
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.
Hiring at scale? See recruiting data, and the rest of the tool catalog. Run settings are in Run a tool.