Search posts
Find LinkedIn posts matching a keyword query.
POST /v1/actions/linkedin-search-content/run/live
Authentication and cost
Use an API key in the Bearer header. This action costs 1 credit per returned record. The maximum result count is 100.
Request
curl "$API_URL/v1/actions/linkedin-search-content/run/live" \
-H "Authorization: Bearer $API_KEY" \
-H "Idempotency-Key: unique-linkedin-search-content-001" \
-H "Content-Type: application/json" \
-d '{
"input": {
"keywords": "developer tools"
},
"max_results": 10,
"max_credits": 10
}'| Parameter | Requirement |
|---|---|
input.keywords | Required non-empty string, at most 500 characters. |
max_results | Integer from 1 to 100. Default 10. |
max_credits | Optional positive integer; must cover the requested reservation. |
Idempotency-Key | Required; 8–128 letters, numbers, underscores, hyphens, or colons. |
Output fields
The response contains an output array. Available record fields include:
social_idlinkedin_post_idlinkedin_activity_idlinkedin_post_urlcontent_textpublished_datecomment_countreaction_countrepost_countlinkedin_post_type
Fields not available from the source are omitted. Your parser must tolerate absent properties and empty arrays. Examples are illustrative, not live customer data.
Completion and retries
Both 200 and 202 are valid responses. Read status: a live call can remain queued when capacity is busy. Poll the run until it reaches a terminal state. A terminal failed run can have HTTP 200; inspect its error and status, not just the HTTP code.
Reuse the same idempotency key and request body after a network timeout. A changed request under the same key returns 409.
Coverage notes
The post ID and activity ID represent different LinkedIn identifiers. They are not interchangeable. Results are one source page, not an exhaustive search or an analytics feed.
See coverage and limits before planning a production dependency. For async execution, replace /run/live with /run/async using the same input.