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.
| Connector | harvest/post-search |
|---|---|
| Role | source |
| Records | person |
| Tier | verified since 2026-08-31 |
| Credential | HARVEST_API_KEY stored once with gtme secret set HARVEST_API_KEY |
| Cost | $0 |
| Calls | GET https://api.harvestapi.io/linkedin/post-search |
| Source | github.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@mainThe 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: SEARCHReplace the placeholder:
SEARCH: keywords to search post content for (LinkedIn honours "quoted phrases")
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
| Key | Type | What it does |
|---|---|---|
search | string | Keywords to search post content for (LinkedIn honours "quoted phrases") |
authorKeywords | string | Filter by keywords in the authors' own profiles |
sortBy | relevance | date | Default relevance. |
postedLimit | 24h | week | month | Recency filter applied by LinkedIn |
scrapePostedLimit | 1h | 24h | week | month | 3months | 6months | year | Recency filter applied by HarvestAPI after LinkedIn returns |
contentType | string | videos | images | live_videos | documents | collaborative_articles | jobs |
limit | integer | Stop 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_url | string | Override 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.