superagnt_
Job APIs

Search Jobs

GET/search-jobs
priced per calljson responserest · mcp
01// about this endpoint

Search LinkedIn job postings with filters for title, location, company, and experience level. Returns active job listings with titles, companies, locations, and posting dates. Powers job board aggregators, labor market analytics, and career coaching agents that need to match candidates with relevant opportunities.

02// code samples

Call it over REST

Authenticate with a bearer token against https://api.agntdata.dev. Swap the placeholders for your key and parameter values.

curlbash
curl -s "https://api.agntdata.dev/search-jobs?keywords=<keywords>" \
  -H "Authorization: Bearer <YOUR_AGNTDATA_API_KEY>"
03// give it to your agent

Copy-paste prompt

Paste this into a coding agent. It connects the superagnt MCP server, finds the tool data_linkedin_search_jobs, and runs a first call — with the REST fallback if MCP is unavailable.

agent prompttext
You are wiring up the agntdata "LinkedIn" API to use this endpoint: Search Jobs.

1. CONNECT over MCP (preferred). Add the superagnt MCP server, then let the client
   run OAuth on first tool call — no token to paste:
     claude mcp add --scope user --transport http superagnt https://mcp.superagnt.com/mcp
     claude mcp login superagnt
   MCP endpoint: https://mcp.superagnt.com/mcp
   After connecting, the tool you want is named exactly:
     data_linkedin_search_jobs
   Call agnt_tools_search or agnt_tools_list_enabled to confirm it is available.

2. REST fallback (if you are not using MCP):
     GET https://api.agntdata.dev/search-jobs
     Header: Authorization: Bearer <YOUR_AGNTDATA_API_KEY>
   Required parameters:
    - keywords (string, required)
   Optional parameters:
    - sort (string, optional) — it could be one of these; mostRelevant, mostRecent
    - locationId (number, optional) — please follow this to find location id
    - titleIds (string, optional) — please follow this to find title id by title
    - experienceLevel (string, optional) — it could be one of these; internship, associate, director, entryLevel, midSeniorLevel. executive example: executive
    - functionIds (string, optional) — please follow this to find function id
    - jobType (string, optional) — it could be one of these; fullTime, partTime, contract, internship Example: contract
    - datePosted (string, optional) — it could be one of these; anyTime, pastMonth, pastWeek, past24Hours
    - salary (string, optional) — it could be one of these; 40k+, 60k+, 80k+, 100k+, 120k+, 140k+, 160k+, 180k+, 200k+ Example: 80k+
    - industryIds (string, optional) — please follow this to find industry id
    - companyIds (string, optional) — please follow this to find company id
    - onsiteRemote (string, optional) — it could be one of these; - onSite - remote - hybrid example: remote
    - start (string, optional) — it could be one of these; 0, 25, 50, 75, 100, etc. The maximum number of start is 975

3. COST & KEY. This endpoint is priced per call in credits, and each successful response reports its own cost in its meta.costCents field. Only successful calls are charged.
   Get an agntdata API key at https://app.agntdata.dev.

4. TEST. Connect the server (or set the key), discover the tool
   (data_linkedin_search_jobs), run one minimal call with just the required parameters,
   and report back the shape of the JSON response (top-level fields).

Reference (machine-readable variant): https://superagnt.com/docs/apis/social/linkedin/endpoints/Search_Jobs.md
mcp tool definitionjson
{
  "name": "search_jobs",
  "description": "Search Jobs",
  "parameters": {
    "type": "object",
    "properties": {
      "sort": {
        "type": "string",
        "description": "it could be one of these; mostRelevant, mostRecent",
        "default": "mostRelevant"
      },
      "locationId": {
        "type": "number",
        "description": "please follow this to find location id",
        "default": "92000000"
      },
      "titleIds": {
        "type": "string",
        "description": "please follow this to find title id by title"
      },
      "experienceLevel": {
        "type": "string",
        "description": "it could be one of these; internship, associate, director, entryLevel, midSeniorLevel. executive\nexample: executive"
      },
      "functionIds": {
        "type": "string",
        "description": "please follow this to find function id"
      },
      "jobType": {
        "type": "string",
        "description": "it could be one of these; fullTime, partTime, contract, internship\nExample: contract"
      },
      "keywords": {
        "type": "string",
        "description": "query parameter",
        "default": "golang"
      },
      "datePosted": {
        "type": "string",
        "description": "it could be one of these; anyTime, pastMonth, pastWeek, past24Hours",
        "default": "anyTime"
      },
      "salary": {
        "type": "string",
        "description": "it could be one of these; 40k+, 60k+, 80k+, 100k+, 120k+, 140k+, 160k+, 180k+, 200k+\nExample: 80k+"
      },
      "industryIds": {
        "type": "string",
        "description": "please follow this to find industry id"
      },
      "companyIds": {
        "type": "string",
        "description": "please follow this to find company id"
      },
      "onsiteRemote": {
        "type": "string",
        "description": "it could be one of these;\n- onSite\n- remote\n- hybrid\n\nexample: remote"
      },
      "start": {
        "type": "string",
        "description": "it could be one of these; 0, 25, 50, 75, 100, etc.\nThe maximum number of start is 975"
      }
    },
    "required": [
      "keywords"
    ]
  }
}
04// parameters
NameInTypeRequiredDescription
sortquerystringoptionalit could be one of these; mostRelevant, mostRecent
locationIdquerynumberoptionalplease follow this to find location id
titleIdsquerystringoptionalplease follow this to find title id by title
experienceLevelquerystringoptionalit could be one of these; internship, associate, director, entryLevel, midSeniorLevel. executive example: executive
functionIdsquerystringoptionalplease follow this to find function id
jobTypequerystringoptionalit could be one of these; fullTime, partTime, contract, internship Example: contract
keywordsquerystringrequired
datePostedquerystringoptionalit could be one of these; anyTime, pastMonth, pastWeek, past24Hours
salaryquerystringoptionalit could be one of these; 40k+, 60k+, 80k+, 100k+, 120k+, 140k+, 160k+, 180k+, 200k+ Example: 80k+
industryIdsquerystringoptionalplease follow this to find industry id
companyIdsquerystringoptionalplease follow this to find company id
onsiteRemotequerystringoptionalit could be one of these; - onSite - remote - hybrid example: remote
startquerystringoptionalit could be one of these; 0, 25, 50, 75, 100, etc. The maximum number of start is 975
05// responses

OK

200json
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "total": {
      "type": "integer"
    }
  }
}
06// pricing
priced per call

This endpoint is priced per call and deducted from your agntdata balance; only a successful call is billed. Every billable response reports its own cost in meta.costCents.

Get a key at app.agntdata.dev.

07// related endpoints
08// more from LinkedIn

start calling

Point your client at https://mcp.superagnt.com/mcp and your agent has this endpoint, plus every other source on one balance.

Start free
LinkedIn job search APIjob listings APIjob board APIhiring data APIlabor market APILinkedIn APILinkedIn data APILinkedIn scraper API