Connectors › Harvest API

Harvest API post search

Source people from LinkedIn post content via HarvestAPI post search — the record is the post's author, with the post itself carried alongside so a downstream step can quote what surfaced them; page pagination, `limit` is the spend control.

Connectorharvest/post-search
Rolesource
Recordsperson
Tierverified since 2026-08-31
CredentialHARVEST_API_KEY stored once with gtme secret set HARVEST_API_KEY
Cost$0
CallsGET https://api.harvestapi.io/linkedin/post-search
Sourcegithub.com/gtme-run/gtme-bindings/harvest-post-search

Use it

Install it from the registry. Nothing installs unverified: the fixtures run offline first.

gtme adapters add github.com/gtme-run/gtme-bindings/harvest-post-search@main

The command prints the hosts the binding will call and the credentials it will ask for, then pins the commit it fetched. Then, in a pipeline file:

source:
  use: harvest/post-search
  with:
    search: SEARCH

Replace the placeholder:

gtme plan pipeline.yaml checks the credential is set and that every field this step needs is provided by a step before it, without calling anyone.

Needs

Nothing. A source starts the pipeline.

Provides

full_name, linkedin_url, linkedin_internal_url, linkedin_sales_nav_url, harvest.author_url, harvest.author_public_id, harvest.author_profile_id, harvest.author_headline, harvest.post_id, harvest.post_url, harvest.post_content, harvest.post_posted_at, harvest.post_likes, harvest.post_comments, harvest.post_shares

Config

KeyTypeWhat it does
searchstringKeywords to search post content for (LinkedIn honours "quoted phrases")
authorKeywordsstringFilter by keywords in the authors' own profiles
sortByrelevance | dateDefault relevance.
postedLimit24h | week | monthRecency filter applied by LinkedIn
scrapePostedLimit1h | 24h | week | month | 3months | 6months | yearRecency filter applied by HarvestAPI after LinkedIn returns
contentTypestringvideos | images | live_videos | documents | collaborative_articles | jobs
limitintegerStop after this many people. This is the spend control: the engine stops paginating as soon as the cap is met, so a limit at or below one page's worth costs exactly one request. Declared here because a source binding with additionalProperties:false must (elegant-atomics/gtme#32).
base_urlstringOverride the API host (testing) Default https://api.harvestapi.io.

What a response looks like

Recorded from a real response to page=2, status 200. The conformance kit proves this payload in produces canonical records out, and gtme run --simulate serves it in place of the network.

{
  "status": "ok",
  "pagination": {
    "totalPages": 1,
    "totalElements": 2,
    "pageNumber": 2,
    "pageSize": 0
  },
  "elements": []
}

On this page, connector means what gtme calls an adapter. This one is a binding from the registry. Two adapter tiers explains the difference.