InsightSocial API
LinkedIn

LinkedIn Search Jobs API reference

Your first 10 calls are free, no card needed. Pricing and FAQ

Get a free API key
Example request
curl "https://api.insightsocial.app/v1/linkedin/search/jobs?query=marketing" \
  -H "x-api-key: $INSIGHTSOCIAL_API_KEY"
GET
/v1/linkedin/search/jobs

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.

x-api-key<token>

Your key from the dashboard. It starts with isk_.

In: header

Query Parameters

query*string

Search keyword.

page?integer

1-based page number. Defaults to 1.

Range1 <= value
date_posted?string

How 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"
experience_level?string

Required seniority for the role.

Value in

  • "internship"
  • "entry_level"
  • "associate"
  • "mid_senior"
  • "director"
  • "executive"
job_type?string

Contract type for the role.

Value in

  • "full_time"
  • "part_time"
  • "contract"
  • "temporary"
  • "volunteer"
  • "internship"
  • "other"
remote?string

Workplace type: onsite, remote, or hybrid.

Value in

  • "onsite"
  • "remote"
  • "hybrid"
easy_apply?boolean

When true, return only jobs that support LinkedIn Easy Apply.

sort_by?string

Result ordering.

Value in

  • "recent"
  • "relevant"
company?string

Filter by company, using a numeric company id from /v1/linkedin/company (author.id).

geocode?string

Filter by location, using a geocode id from /v1/linkedin/search/location.

industry_ids?string

Comma-separated industry ids from /v1/linkedin/search/industry.

cursor?string

The pagination.next_cursor from the previous page, sent back unchanged. Omit it for the first page.

dry_run?"1"

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  }}