Tool ID:
harvestapi_search_postsRun this action
Use the TypeScript SDK for a single call. Putctx.tools.execute(...) inside a Play when the call should be durable, scheduled, or run across a CSV.
import { Deepline } from 'deepline';
const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
'harvestapi_search_posts',
{
"authorKeywords": "software companies hiring engineers",
"authorsCompany": "example",
"authorsIndustryId": "authors_industry_123"
},
);
console.log(result.toolResponse.raw);
CLI
deepline tools execute harvestapi_search_posts --input '{
"authorKeywords": "software companies hiring engineers",
"authorsCompany": "example",
"authorsIndustryId": "authors_industry_123"
}' --json
Example response
The SDK exposes this shape atresult.toolResponse.raw. Values below are representative.
{
"data": {
"elements": [
{
"id": "id_123"
}
],
"pagination": {
"totalPages": 123,
"totalElements": 123,
"pageNumber": 123
},
"status": 1
}
}
deepline tools get harvestapi_search_posts --json for the latest machine-readable contract.
Input reference
Search LinkedIn posts. Supports general, company, profile, and group filters documented by HarvestAPI on the shared post-search endpoint.| Name | Type | Required | Default | Details |
|---|---|---|---|---|
payload.authorKeywords | string | No | — | Filter by keywords in authors’ profiles |
payload.authorsCompany | string | No | — | List of LinkedIn companies where authors of posts work (comma-separated). It supports company URLs and IDs. |
payload.authorsIndustryId | string | No | — | List of LinkedIn industry IDs of authors’ companies (comma-separated). It supports industry IDs. Full list of industry IDs: https://github.com/HarvestAPI/linkedin-industry-codes-v2/blob/main/linkedin_industry_code_v2_all_eng.csv |
payload.company | string | No | — | Filter posts by this company URL or URLs (comma-separated). Note: LinkedIn returns fewer results per company when using post search. To extract all posts by a company, use the /linkedin/company-posts endpoint |
payload.companyId | string | No | — | Filter posts by company ID or IDs (comma-separated). It’s faster to search by ID. Note: LinkedIn returns fewer results per company when using post search. To extract all posts by a company, use the /linkedin/company-posts endpoint |
payload.contentType | string | No | — | Filter by content type. Supported values: ‘videos’, ‘images’, ‘live_videos’, ‘documents’, ‘collaborative_articles’, ‘jobs’ |
payload.group | string | No | — | Group LinkedIn URL or Group ID |
payload.mentioningCompany | string | No | — | Filter posts mentioning this LinkedIn company URL or ID (comma-separated). It supports company URLs and IDs. |
payload.mentioningMember | string | No | — | Filter posts mentioning this LinkedIn profile URL or ID (comma-separated). It supports profile URLs and IDs. |
payload.page | integer | No | 1 | Page number for pagination |
payload.paginationToken | string | No | — | Required if it was returned by the previous page. Otherwise the page will always be 1 (on LinkedIn side). Doesn’t apply for all queries, usually profile posts return this token Format: nullable. |
payload.postedLimit | string | No | — | Filter posts by maximum posted date. Supported values: ‘24h’, ‘week’, ‘month’. This parameter will be sent to LinkedIn, the filtering will be done on their side |
payload.profile | string | No | — | Filter posts by author’s profile URL (comma-separated). Note: LinkedIn returns fewer results per profile when using post search. To extract all posts by a profile, use the /linkedin/profile-posts endpoint |
payload.profileId | string | No | — | Filter posts by author’s profile ID or IDs (comma-separated). It’s faster to search by ID. Note: LinkedIn returns fewer results per profile when using post search. To extract all posts by a profile, use the /linkedin/profile-posts endpoint |
payload.scrapePostedLimit | string | No | — | Post-Filter posts by maximum posted date. Supported values: ‘1h’, ‘24h’, ‘week’,‘month’, ‘3months’, ‘6months’, ‘year’. This parameter will be applied after receiving results from LinkedIn, the filtering will be done on our side |
payload.search | string | No | — | Keywords to search for in posts |
payload.sortBy | string | No | — | Sort by field. Supported values: ‘relevance’, ‘date’ |
Output reference
Standard tool result payload.| Name | Type | Required | Default | Details |
|---|---|---|---|---|
result.data | object | Yes | — | Provider response payload. |
result.data.elements | array | No | — | — |
result.data.elements[].id | string | Yes | — | — |
result.data.elements[].content | string | No | — | — |
result.data.elements[].linkedinUrl | string | No | — | — |
result.data.elements[].author | object | No | — | — |
result.data.elements[].author.id | string | No | — | — |
result.data.elements[].author.urn | string | No | — | — |
result.data.elements[].author.publicIdentifier | string | No | — | — |
result.data.elements[].author.universalName | string | No | — | — |
result.data.elements[].author.name | string | No | — | — |
result.data.elements[].author.linkedinUrl | string | No | — | — |
result.data.elements[].author.type | boolean | No | — | — |
result.data.elements[].author.info | boolean | No | — | — |
result.data.elements[].author.website | boolean | No | — | — |
result.data.elements[].author.websiteLabel | boolean | No | — | — |
result.data.elements[].author.avatar | object | No | — | — |
result.data.elements[].author.avatar.url | string | No | — | — |
result.data.elements[].author.avatar.width | integer | No | — | Format: int32. |
result.data.elements[].author.avatar.height | integer | No | — | Format: int32. |
result.data.elements[].author.avatar.expiresAt | integer | No | — | Format: int64. |
result.data.elements[].postedAt | object | No | — | — |
result.data.elements[].postedAt.timestamp | integer | No | — | — |
result.data.elements[].postedAt.date | string | No | — | — |
result.data.elements[].postedAt.postedAgoShort | string | No | — | — |
result.data.elements[].postedAt.postedAgoText | string | No | — | — |
result.data.elements[].postImages | array | No | — | — |
result.data.elements[].postImages[].url | string | No | — | — |
result.data.elements[].postImages[].width | integer | No | — | Format: int32. |
result.data.elements[].postImages[].height | integer | No | — | Format: int32. |
result.data.elements[].postImages[].expiresAt | integer | No | — | Format: int64. |
result.data.elements[].postVideo | object | No | — | — |
result.data.elements[].postVideo.thumbnailUrl | string | No | — | — |
result.data.elements[].postVideo.videoUrl | string | No | — | — |
result.data.elements[].article | object | No | — | — |
result.data.elements[].article.title | string | No | — | — |
result.data.elements[].article.subtitle | string | No | — | — |
result.data.elements[].article.link | string | No | — | — |
result.data.elements[].article.linkLabel | string | No | — | — |
result.data.elements[].article.description | string | No | — | — |
result.data.elements[].article.image | object | No | — | — |
result.data.elements[].article.image.url | string | No | — | — |
result.data.elements[].article.image.width | integer | No | — | Format: int32. |
result.data.elements[].article.image.height | integer | No | — | Format: int32. |
result.data.elements[].article.image.expiresAt | integer | No | — | Format: int64. |
result.data.elements[].repostId | string | No | — | Format: nullable. |
result.data.elements[].repost | record | No | — | — |
result.data.elements[].repostedBy | object | No | — | — |
result.data.elements[].repostedBy.publicIdentifier | string | No | — | — |
result.data.elements[].repostedBy.name | string | No | — | — |
Deepline cost
- Pricing model:
provider_usage(provider usage). - Estimated Deepline credits:
0.03per pricing unit.