LinkedIn Search Jobs API reference
Your first 10 calls are free, no card needed. Pricing and FAQ
Get a free API keycurl "https://api.insightsocial.app/v1/linkedin/search/jobs?query=marketing" \ -H "x-api-key: $INSIGHTSOCIAL_API_KEY"
Returns LinkedIn job postings matching a keyword, each with job id, title, hiring company, location, posting date, and Easy Apply flag.
Beta. The source's own structure under our naming rules (snake_case keys, string ids, ISO times where the source gives a timestamp), not one of the schema-2 entities. Fields may change. See Schema 2.
Use it to search openings across employers with filters like remote, job type, and experience level, then pass an id to job.
100 credits per call.
Paginates by cursor: see Pagination.
Authorization
apiKey Your key from the dashboard. It starts with isk_.
In: header
Query Parameters
Search keyword.
1-based page number. Defaults to 1.
1 <= valueHow recently the job was listed. One of anytime, past_24_hours, past_week, past_month. Note the job lanes use past_24_hours while /v1/linkedin/search/posts uses past_24h; they are different vocabularies and are not interchangeable.
Value in
- "anytime"
- "past_24_hours"
- "past_week"
- "past_month"
Required seniority for the role.
Value in
- "internship"
- "entry_level"
- "associate"
- "mid_senior"
- "director"
- "executive"
Contract type for the role.
Value in
- "full_time"
- "part_time"
- "contract"
- "temporary"
- "volunteer"
- "internship"
- "other"
Workplace type: onsite, remote, or hybrid.
Value in
- "onsite"
- "remote"
- "hybrid"
When true, return only jobs that support LinkedIn Easy Apply.
Result ordering.
Value in
- "recent"
- "relevant"
Filter by company, using a numeric company id from /v1/linkedin/company (author.id).
Filter by location, using a geocode id from /v1/linkedin/search/location.
Comma-separated industry ids from /v1/linkedin/search/industry.
The pagination.next_cursor from the previous page, sent back unchanged. Omit it for the first page.
Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged.
Value in
- "1"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.insightsocial.app/v1/linkedin/search/jobs?query=string"{ "success": true, "platform": "string", "endpoint": "string", "schema_version": "2", "pagination": { "next_cursor": "string", "has_more": true, "page_size": 0, "stopped_at": "since" }, "unavailable": [ "string" ], "credits_used": 0, "credits_remaining": 0, "request_id": "string", "cached": true, "idempotent_replay": true, "charge_reason": "string", "free_call": true, "data": { "property1": null, "property2": null }}