SEARCH

LinkedIn Profile Search API

What is a LinkedIn profile search API?

A LinkedIn profile search API finds LinkedIn profiles programmatically by job title and location. upAPI’s LinkedIn Profile Search operation does it without a LinkedIn login or LinkedIn’s own API: it searches the web for linkedin.com/in pages and returns each match’s name, headline and profile URL as JSON.

LinkedIn Profile Search finds LinkedIn profile pages by job title and, optionally, location. It builds a web-search query restricted to linkedin.com/in, runs it through a general web search engine and returns the matching profiles as JSON, so you never log in to LinkedIn and the call never contacts LinkedIn itself. The required input is keyword, a job title or skill such as Data Engineer. location narrows the query to a place such as Toronto, and maxResults caps the list; it defaults to 50 and accepts up to 100. Each entry in profiles has a position, a name, a headline, the profile url and its linkedinPath. The response also returns totalFound, the exact query that was run, a message and a fetchedAt timestamp. Because the data comes from search-result listings rather than from LinkedIn, you get only what a search engine shows. The name and headline are read from each result’s title, so headline can come back as an empty string, and the list holds the profiles the engine returned, which can be fewer than maxResults. It does not return a profile’s experience, education, email address or follower count, and it cannot filter by company, seniority or industry. proxyUrl optionally routes the search through a residential proxy, because search engines often block datacenter addresses. When every search attempt fails, the call raises an error instead of returning an empty list. Every call authenticates with your upAPI key. The exact price and cache lifetime are on this page’s FAQ, generated from the same catalog the calls run against.

What data you get

LinkedIn Profile Search

query
stringrequired
keyword
stringrequired
message
stringrequired
success
booleanrequired
location
stringrequired
profiles
arrayrequired
profiles[].url
stringrequired
profiles[].name
stringrequired
profiles[].headline
stringrequired
profiles[].position
integerrequired
profiles[].linkedinPath
stringrequired
elapsedMs
integerrequired
fetchedAt
stringrequired
totalFound
integerrequired

Calling LinkedIn Profile Search

A schema-derived request and response shape — not a captured production call, since upAPI has none to publish. Every field is real, from the operation’s own published schema.

bash
curl -X POST https://api.upapi.io/linkedin-profile-search.post \
  -H "X-Api-Key: $UPAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "keyword": "Data Engineer",
  "maxResults": 50
}'
json — example response shape
{
  "query": "typescript",
  "keyword": "example",
  "message": "example",
  "success": false,
  "location": "example",
  "profiles": [
    {
      "url": "https://github.com",
      "name": "example",
      "headline": "example",
      "position": 1,
      "linkedinPath": "example"
    }
  ],
  "elapsedMs": 1,
  "fetchedAt": "example",
  "totalFound": 1
}

Pricing

Every unit draws from one pooled monthly quota shared across the whole catalog. What a unit costs on each plan is on the pricing page, linked below.

Questions people actually ask

Is this LinkedIn’s own people search API?

No. It uses no LinkedIn account, token or partner access. It searches the web for linkedin.com/in pages and parses the results, so it returns only profiles a search engine lists and only the fields a search result shows.

What does each profile in the response contain?

position, name, headline, url and linkedinPath. url is the full profile address and linkedinPath is the same address starting at /in/. headline is read from the search result’s title and is an empty string when the title carries none.

Can I search by company, seniority or industry?

No. The only inputs that shape the search are keyword and an optional location, and each is searched as an exact quoted phrase next to site:linkedin.com/in. Use a job title or skill for keyword and a place name for location; the query field of the response shows exactly what was run.

Does it put my LinkedIn account at risk?

No LinkedIn account is involved. The operation sends no cookie or credential to LinkedIn and never requests a LinkedIn page; it only reads search results. You still need your upAPI key to call it.

How much does this cost?

Every operation in this cluster costs 15 weighted units per call, drawn from your plan’s pooled monthly quota — see upapi.io/pricing for what a unit costs on each tier.

How fresh is the data — is it cached?

every cached operation here returns a response held for 10 minutes. A repeat call inside a cached window returns the cached response and is billed nothing.

Related

Start with the free plan

One key and one pooled monthly quota cover LinkedIn Profile Search and every other API in the catalog. See what a unit costs on each plan, or run the operation first.