public

Find people from public data

Search for people through an anonymous public web search; no connected account is needed. Results are public data, never signed-in LinkedIn details (connection degree, who engaged with a post, whether someone is reachable by message). Found profiles are saved as contacts and render as a people list; narrate a one-line count. limit (1-300, default 15) is how many profiles ONE call targets: a specific number sets it, a volume word with no ceiling raises it toward 100-300. Pass every plausible title, seniority, or city as an array on the SAME filter field in ONE call. more:true continues the SAME filters past people already found. exhaustion:"axes-exhausted" means every angle was tried: suggest a real change, do not call more:true again. exhaustion:"batch-failed" is a temporary vendor hiccup. A signal that would show in a headline (years in role, a school, a tool, freelance) belongs in filters.keywords, not a visit-first pass. When they asked for somebody in particular rather than describing a crowd, pass their words as sentence ALONGSIDE the facets: that is what answers a named question directly instead of slicing a market. A result returns everybody it found, including people already in the contact list, marked completeness "already-a-contact": that is an ANSWER, never a reason to search again with other words. Asked who somebody is, name them and say they are already saved.

post/public/search

Request body

limitinteger

Target number of profiles to return.

saveboolean

When true, found profiles are saved to your contacts.

moreboolean

Continue past the people an earlier search on these same filters already returned, instead of returning them again. What counts as already returned is the position the last search reached, kept server side.

sentencestring

What the person actually asked, in their own words, when they asked for somebody in particular rather than describing a crowd: a named person, a role at a named organisation, everyone at one, or people who used to work there. Send it ALONGSIDE the facets, never instead of them. It is what lets the search answer a named question directly instead of slicing a market that has no such answer.

Response

Found and enriched people

source'public' required
providerstring required

The search provider that answered.

querystring required

The exact query sent, so a thin result set can be read rather than guessed at.

existingCountinteger

How many of the people returned were already in your contacts. They ARE in contacts like everyone else, marked completeness "already-a-contact", and were not re-fetched because their profile was already read once. Absent when there were none. Not a reason to search again: the search already answered.

askedForinteger

How many results carry the words YOU typed, rather than the words the search expanded them into. Zero on a full result set that otherwise looks healthy is a strong caveat worth telling the reader about, most often meaning the job title or company named was not found. It is a caveat and not a verdict: a partial result, or a title nobody writes in a headline, can also read zero. Corroborate before saying the person or company does not exist.

refused'nothing-to-search' | 'wants-companies'

Set when the request could not be searched at all. 'nothing-to-search' means nothing in it named anybody. 'wants-companies' means it asked for organisations, which this operation does not find: use the company search instead. Neither is a retry: say what happened and change the request.

notFoundstring[]

People you named by name that the search could not find. When this is set, no result is that person: say so rather than presenting the people returned as them.

urlsFoundinteger required

Total profile URLs found.

newUrlsinteger required

Profiles fetched on this call. People already in your contacts are returned too, from the search result, without being fetched again.

hydratedinteger required

Profiles fetched and enriched in this call.

searchesinteger

How many searches it took to find these people.

searchesFailedinteger

Searches that did not reach the provider. When this is high the result says nothing about the market.

moreAvailableboolean

Whether asking again with more can still reach people you have not seen.

exhaustion'more-available' | 'axes-exhausted' | 'batch-failed'

Finer than moreAvailable: 'axes-exhausted' means every search angle for this audience has genuinely been tried, calling again with more will not find anybody new. 'batch-failed' means this attempt could not reach the search provider, worth retrying. 'more-available' is the ordinary case.

rateLimitedinteger

Profiles found but deferred because the scraping pool is busy.

notestring

Explanation when part of the result set was deferred.

Changes