search

Search LinkedIn by URL

Changed on

Search LinkedIn by URL

Paste any LinkedIn search URL and the endpoint will automatically extract the category, keywords, and all filters from it, then execute the search and return structured results.

When to use this endpoint

  • A user gives you a LinkedIn search URL and you want to get the results programmatically
  • You want to replicate a search the user performed in their browser
  • You want to automate searches based on bookmarked LinkedIn search URLs

Supported URL formats

The endpoint supports all standard LinkedIn search URLs:

  • https://www.linkedin.com/search/results/people/?keywords=engineer
  • https://www.linkedin.com/search/results/content/?keywords=AI&sortBy=%22date_posted%22
  • https://www.linkedin.com/search/results/companies/?keywords=startup&companyHqGeo=%5B%22103644278%22%5D
  • https://www.linkedin.com/jobs/search/?keywords=frontend&location=Paris
  • https://www.linkedin.com/search/results/all/?keywords=test (treated as people search)

URL path → Category mapping

URL path segmentCategory
/results/content/posts
/results/people/people
/results/companies/companies
/results/all/people
/jobs/search/jobs

What is read from the URL

Keywords and every filter the vertical can actually apply, under LinkedIn's own spellings as its filter bar writes them (titleFreeText, schoolFilter, companySizeV2, companyHQBingGeo, industryCompanyVertical) with the bare names accepted as a fallback for a hand-written URL. A company's HEADQUARTERS is kept as its own filter and never folded into the person's location: they are different questions and return different people. Jobs facets are comma-separated in LinkedIn's URLs and each value is read on its own.

A facet the URL carries that this search cannot apply comes back as a URL_FACET entry in warnings, naming the facet. That matters because a dropped filter means the search ran WIDER than the one on the person's screen, so a result set with URL_FACET warnings is a bigger cohort than they asked for and should be described that way.

Pagination override

You can optionally pass start and count to override the pagination embedded in the URL.

Credits

Cost: 1 credit for every 20 results returned, at least 1 when any come back, nothing when none.

post/search/linkedin/url

Request

  • Base URL: https://api.bereach.ai
  • URL: https://api.bereach.ai/search/linkedin/url
  • Auth: HTTP bearer

Request body

urlstring required

A LinkedIn or Sales Navigator search results link, exactly as the person pasted it. Its keywords, filters and page are read from it.

startinteger

Override pagination offset. If not provided, uses the page from the URL (or defaults to 0).

countinteger

How many results to return.

Response

Search results parsed from the LinkedIn URL

successtrue required
category'posts' | 'people' | 'companies' | 'jobs' required
hasMoreboolean required
countinteger

How many items this page returned.

savedinteger nullable

People from this page written to the contact list. Null or absent means the write has not answered: report nothing saved rather than the number of rows returned.

creditsUsedinteger required

Credits this call spent, net of anything given back. 0 when nothing was charged: a free read, a cached answer, nothing delivered.

retryAfterinteger required

Seconds to wait before another call of the same type. 0 means no wait is needed.

Changes

    • info

      added subschema #1 subschema #2 subschema #3 to the response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 subschema #3 from the response property anyOf list for the response status

    • warning

      removed the optional property from the response with the status