Skip to content
scrapeatlas.Dashboard

Search LinkedIn posts

Try in Playground

Search public LinkedIn posts by keyword and retrieve each result with the post endpoint's fields.

GET/v1/linkedin/search/postsx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
3
querystringrequiredquery

Keyword or phrase, 1–200 characters.

min 1 chars · max 200 chars

Exampleai agents
date_postedenumquery

last-hour, last-day, last-week, last-month or last-year. last-hour is applied at day granularity with a warning.

one of: last-hour, last-day, last-week, last-month, last-year

Examplelast-month
cursorstringquery

Next page number when another page may exist.

Response fields
39
requestIdstring

Operational correlation UUID.

Search request plus one page (and document manifests) per result.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned.

statusenum

success or partial; failed/challenged on errors.

one of: success, partial

sourceUrlstring

Search index endpoint used for discovery; posts are read from www.linkedin.com.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

Source is web_search. post_unavailable marks result pages that could not be read.

coverage.sourceenum

Always included.

one of: public_page, web_search

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

querystring

Keyword or phrase, 1–200 characters.

Up to ten posts with the post endpoint shape.

up to 10 items

posts.urlstring

Always included.

absolute HTTPS URL

posts.namestringoptional

Optional.

posts.thumbnailUrlstringnullableoptional

Optional.

posts.headlinestringnullableoptional

Optional.

posts.commentCountnumbernullable

Always included.

posts.likeCountnumbernullable

Always included.

posts.datePublishedstringnullable

Always included.

posts.uploadDatestringnullableoptional

Optional.

posts.descriptionstring

Always included.

posts.transcriptstringnullableoptional

Optional.

posts.mediastringnullableoptional

Optional.

posts.imagesstring[]optional

Optional.

posts.imagestringnullableoptional

Optional.

Always included.

posts.author.namestring

Always included.

posts.author.urlstringnullable

Always included.

posts.author.imagestringoptional

Optional.

posts.author.followersnumbernullable

Always included.

Always included.

up to 100 items

posts.comments.authorstring

Always included.

posts.comments.textstring

Always included.

posts.comments.linkedinUrlstringnullable

Always included.

posts.moreArticlesobject[]optional

Optional.

up to 100 items

cursorstringoptional

Next page number when another page may exist.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
9
HTTPfailure.codeMeaning
400invalid_requestNot a public LinkedIn profile, company or post URL, or invalid parameters.
401unauthorizedInvalid worker key.
403restrictedLinkedIn redirected to a login page for this resource.
404not_foundThe page does not exist or the search returned no posts.
429upstream_rate_limitedLinkedIn or the search index throttled retrieval.
502upstream_challengedLinkedIn answered with a challenge (HTTP 999/403 or an auth wall), including through the proxy.
502upstream_error unsupported_page unsafe_redirect search_failedSource or search index did not return a usable page.
503search_unavailable busyNo search key configured, or all retrieval slots are busy.
504timeoutThe operation exceeded its deadline.