search

Search LinkedIn Posts

Changed on

Search LinkedIn Posts

Find posts matching your keywords and filters. Returns structured post data including full text, engagement metrics, author info, and URLs.

Required parameters

  • keywords (string, required): The search terms to match against post content. Examples: "AI automation", "remote work trends", "SaaS growth strategies".

Keyword syntax (Boolean operators)

Keywords support LinkedIn Boolean search syntax:

  • Exact phrase: "outreach automation": matches only that exact phrase
  • AND: AI AND marketing, both terms required (spaces default to AND)
  • OR: "growth hacking" OR "growth marketing": either term
  • NOT: outreach NOT webinar, exclude unwanted terms
  • Parentheses: (AI OR ML) AND "case study": group logic

Operators must be UPPERCASE. Precedence: Quotes > Parentheses > NOT > AND > OR.

Available filters

FilterTypeDescription
sortBy"relevance" | "date"Sort by relevance (default) or most recent first
authorJobTitlestring[]The author's job title, free text. The strongest filter here: two different titles return sets of authors that do not overlap, so asking twice reaches twice as many people
postedBystring[]Restrict to your own network: first or following. Far fewer results by nature
contentType"images" | "videos" | "documents"Filter by media type
authorIndustrystring[]Author's industry names or ids, resolved for you
authorCompanystring[]Author's company names or ids, resolved for you
datePosted"past-24h" | "past-week" | "past-month"Filter by recency window. On a high-volume query the newest posts are shared across windows, so the first page can look unchanged while the narrower window holds fewer results

Response fields (per item)

FieldTypeDescription
postUrlstringDirect URL to the LinkedIn post
textstringFull post text content
datenumberPublication timestamp (ms since epoch)
likesCountnumberTotal reactions
commentsCountnumberTotal comments
sharesCountnumberTotal shares/reposts
author.namestringAuthor's display name
author.profileUrlstringAuthor's LinkedIn profile URL
author.headlinestringAuthor's headline
author.isCompanybooleanWhether the author is a company page
isRepostbooleanWhether this is a repost of another post

Pagination

  • Default page size: 20, max 50
  • Use start + count to paginate: start=0, count=10 → page 1, start=10, count=10 → page 2
  • Check hasMore in the response to know if more pages exist
  • paging.total gives the estimated total number of results

Example workflows

  1. Content research: Search for trending topics → analyze top posts → extract engagement patterns
  2. Lead generation: Search for posts about problems your product solves → extract author profiles
  3. Competitive intelligence: Search for competitor mentions → track sentiment and engagement

Credits

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

post/search/linkedin/posts

Request

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

Request body

keywordsstring required

Search keywords (required). Searches across post text content. Supports LinkedIn Boolean syntax: use double quotes for exact phrases (e.g. "AI automation"), AND to require both terms, OR for alternatives (e.g. "growth hacking" OR "growth marketing"), NOT to exclude (e.g. outreach NOT webinar), and parentheses to group (e.g. (AI OR ML) AND "case study"). Operators must be UPPERCASE. Without quotes, multi-word queries are treated as AND by default which may return broad results.

urlstring

A LinkedIn search URL. The category and every filter the vertical can actually apply are read from it; a facet it carries that this search cannot apply is reported back as a URL_FACET warning rather than applied, so a result set carrying those is WIDER than the URL asked for. Explicit params override anything read from the URL.

sortBystring

Sort order. 'relevance' (default) or 'date' (most recent first). Natural forms ('newest','recent') are normalized server-side.

datePostedstring

Filter posts by recency window: 'past-24h' < 'past-week' < 'past-month'. Natural forms ('last week','this month','24 hours') are normalized server-side. On a high-volume query the newest posts are shared across windows, so the first page of results can look identical while the narrower window genuinely holds fewer; judge it by how deep the results go rather than by the top of the list.

contentTypestring

Filter by media type: 'images' (photos), 'videos', 'documents' (carousel/PDF). Natural forms ('video','photo','pdf') are normalized server-side.

authorIndustrystring[]

Filter by the post author's industry. Pass human labels (e.g. ['Software Development']): server resolves to LinkedIn industry IDs via typeahead. Numeric IDs pass through if you already have them.

authorCompanystring[]

Filter by the post author's company. Pass company names (e.g. ['Google','Stripe']): server resolves to LinkedIn company IDs via typeahead. Numeric IDs pass through if you already have them.

authorJobTitlestring[]

Filter by the post author's job title, as free text. The strongest filter on post search by a wide margin: two different titles return sets of authors that do not overlap at all, so it is also the best way to reach more people by asking twice. Needs no id, unlike the industry and company filters.

postedBystring[]

Restrict to posts from your own network: 'first' for first-degree connections, 'following' for people you follow. Returns far fewer results than an open search by nature, since it is bounded by who you know rather than by an open search.

startinteger

Pagination offset (default 0). Use multiples of count to page through results. Example: start=0 for page 1, start=10 for page 2 (with count=10).

countinteger

How many posts to return (default 20, max 50).

Response

List of LinkedIn posts matching the search criteria

successtrue required
category'posts' required
hasMoreboolean required
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

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • warning

      removed the optional property from the response with the status