Job Search
Search jobs with occupation taxonomy, company, location, salary, tag, and title filters.
POST
Job Search
Job Search
Search jobs with frontend-friendly filters. The/v3/jobs/search route resolves company domains, country codes, tags, occupation taxonomy, and title terms into normalized filter IDs before running a bounded query.
POST /v3/jobs-search is an alias for this endpoint with a simplified request shape. Use /v3/jobs/search for new integrations.Endpoint Details
- Pricing
- Rate Limits
Quick Example
Start withlimit: 5 and totalMode: "none" while testing. Add facets, deep mode, salary, company, and taxonomy filters only after the base search works.
Request Parameters
string[]
Job title terms. Uses indexed title search.
string[]
Title terms to exclude.
boolean
default:"false"
Request semantic title matching where available.
string[] | integer[]
Broad occupation families. Results include
occupation_taxonomy.level1.id and occupation_taxonomy.level1.name.string[] | integer[]
Mid-level occupation categories. Results include
occupation_taxonomy.level2.id and occupation_taxonomy.level2.name.string[] | integer[]
Specific normalized job titles. Results include
occupation_taxonomy.level3.id and occupation_taxonomy.level3.name.string[]
Company domains or names. Domains are resolved exactly; names use fuzzy helper matching.
string[]
Company domains or names to exclude.
integer[]
Exact company IDs from helper responses.
string[] | integer[]
Country codes, names, or IDs.
string[] | integer[]
Region names or IDs.
string[] | integer[]
State or province names or IDs.
string[] | integer[]
City names or IDs.
string
Free-text location. Use
mode: "deep" when you need text location matching.string[] | integer[]
Tag names or IDs. Tags are resolved before search and can attach occupation taxonomy metadata.
string[] | integer[]
Tag names or IDs to exclude.
integer
Minimum normalized USD salary.
integer
Maximum normalized USD salary.
string[]
Experience levels. Use
EN, MI, SE, or EX.string[]
Two-letter language codes such as
en, de, or fr.boolean
Filter for jobs that support remote work.
integer[]
Work mode IDs. Allowed values are
1, 2, and 3.integer[]
Job type IDs from the job type catalog.
integer[]
Company industry IDs.
integer[]
Company type IDs.
integer[]
Company size bucket codes.
string
Include jobs posted on or after a date in
YYYY-MM-DD format.string
Include jobs posted before or on a date in
YYYY-MM-DD format.integer
Include jobs posted within the last N days.
boolean
default:"false"
Include staffing/recruiting agency jobs. Defaults to excluding agencies.
integer
default:"25"
Number of jobs to return. Maximum is 50.
object
Cursor from
pagination.next_cursor for the next page.boolean
default:"false"
Include a short description snippet. Use only when you need description text.
boolean
default:"true"
Include the company object in each returned job.
boolean
default:"false"
Request facet metadata where available.
boolean
default:"true"
Include normalized occupation taxonomy fields in each returned job.
string
default:"capped"
Count mode. Use
none, capped, or exact.string
default:"fast"
Query mode. Use
fast by default. Use deep only for broader text matching.boolean
default:"false"
Validate/resolve the request without charging credits.
boolean
default:"true"
Resolve friendly strings like company domains, countries, tags, and occupation taxonomy values before search.
integer
Optional internal query budget hint. Omit unless instructed by support.
Built-in Search Modes
Facets, semantic title matching, and deep matching are all part ofPOST /v3/jobs/search. You do not need separate endpoints.
Response
object[]
Returned jobs/signals.
string
Job title.
object
Company object with
id, name, website_url, and (when available) linkedin_url.string | null
Display location string.
object
Salary fields, including normalized USD ranges where available.
string | null
Published timestamp/date for the job.
boolean
Whether the job supports remote work.
string
Application URL for the job posting.
object[]
Job type metadata.
object[]
Full tag metadata.
object
Broad occupation taxonomy level with
id and name.object
Mid-level occupation taxonomy level with
id and name.object
Specific normalized title level with
id and name.integer
Total matching jobs (bounded by
totalMode).string
Echoes the count mode used (
none, capped, or exact).object
Pagination wrapper with
next_cursor for cursor-based pagination.object
How input filters were resolved (only present when
autoResolve: true).string[]
Non-fatal notes about fallback behavior, unsupported combinations, or broad matching.
string
Query path describing how the search was executed, such as
title+geo_bridge+vector_requested.number
Finalized credits charged for this request.
Example Response
Related endpoints
Helpers
Resolve companies, tags, occupation taxonomy values, titles, locations, and catalogs.
Search Stats
See coverage, capabilities, and top dimensions across Jobs, Company, and People Search.
Job Search v2
Previous jobs finder shape.
Authorizations
Your LeadMagic API key. Header name is case-insensitive (X-API-Key, X-API-KEY, x-api-key all work).
Body
application/json
Include jobs posted within the last N days.
Required range:
x <= 50Cursor from pagination.next_cursor.
Available options:
none, capped, exact Available options:
fast, deep Job Search