Search active job postings
Paginated keyword + faceted search across all active job postings. Filters compose with AND semantics. Returns up to per_page Job documents per call. Filter values are escaped against Solr injection before query construction. Empty q matches everything (subject to the active campaign filter — only jobs with live sponsor budget are eligible). Results are DEDUPLICATED: the same job appearing across multiple feeds is collapsed to a single result (the highest-paying instance), so total and the rows reflect distinct jobs, not raw postings. NOTE: on API-key (publisher) responses the Job id is an opaque, stable token and jobid / job_provider_id are omitted (internal identifiers are not exposed); signed first-party responses carry the raw id + those fields.
Request
- Base URL: https://api.juju.com
- URL: https://api.juju.com/api/v1/jobs/search
- Auth: none declared
Query parameters
Keyword. Escaped before Solr — special characters are safe.
City to search near. By default this runs as a RADIUS around the city (api.default_radius_miles, >= 25 mi) — returning the surrounding metro, case-insensitively — not an exact city-name match. Pass an explicit radius to override.
Exact-match state filter (full name or 2-letter code, depending on indexed data).
Postal code to search near. Like city, defaults to a radius search (api.default_radius_miles, >= 25 mi) unless an explicit radius is given.
Exact-match country filter (e.g. US).
true|false. Filters by the is_remote field. Omit for no filter.
Category filter (exact match on indexed category).
Job group filter (exact match).
Work-type filter (exact match).
Numeric detailed O*NET occupation id (jobgroupid). Granular — prefer major_group_id for a category filter.
O*NET major-group id (the 23-value taxonomy from /lookups job_groups). The canonical, controlled category filter — prefer this over the free-text category.
Numeric job provider id. Scopes results to one sponsor.
Lower bound on salary_avg (inclusive).
Upper bound on salary_avg (inclusive).
Lower bound on cpc.
Upper bound on cpc.
Field + direction, e.g. date_posted desc. Allowed fields: date_posted, date_indexed, cpc, salary_avg. Anything else is silently ignored (relevance scoring is the default).
Recency filter (days). Only jobs posted within the last N days (clamped 1-365).
Radius (miles) around a resolved anchor named by postal OR (city + optionally state). OPTIONAL — a city/postal search already runs at the default radius (api.default_radius_miles, >= 25 mi); pass this to override it. When a radius is in effect, city / postal act as the anchor rather than exact-match filters. An unresolvable anchor falls back to an exact filter (search still runs).
1-indexed page number (clamped to >= 1). Results past api.search_max_window — i.e. (page-1)*per_page at or beyond that window — are rejected with 400; page through the first N matches only. Use the syndication feed for bulk retrieval.
Results per page. Clamped server-side to api.per_page_max (50).
Response serialization. json (default) or xml. XML returns the SAME envelope with Content-Type application/xml: <response><data><job>…</job></data><meta>…</meta><errors/></response>. HTML-bearing fields (e.g. description) are CDATA-wrapped; facet-bucket values that are not valid XML tag names are emitted as <entry key="…">. This XML option exists only on the public publisher endpoints (api.juju.com).
Response
Successful search. data is an array of Job documents (possibly empty); meta carries pagination and facet rollups.
Example response
{
"data": [
{
"id": "2LKlPuMKB6P6-mivzB8Cuw",
"jobid": "141096464",
"job_provider_id": 2,
"title": "CDL-A Truck Drivers - Earn $1,400 Weekly",
"company": "Hogan Transportation",
"click_url": "https://jobs.juju.com/jobs/click/abc123def456...",
"payout": "0.4200",
"city": "Rueter",
"state": "Missouri",
"state_code": "MO",
"postal": "65744",
"country": "US",
"latitude": 36.6,
"longitude": -92.86,
"geo_location": "36.600000,-92.860000",
"salary_low": 1400,
"salary_high": 1400,
"salary_avg": 1400,
"salary_type": "week",
"currency": "USD",
"work_type": "Full Time",
"category": [
"Driving and Transport"
],
"subcategory": [
"Truck Driver"
]
}
],
"meta": {
"total": 64,
"page": 1,
"per_page": 10,
"total_pages": 7,
"facets": {
"state": {
"California": 17,
"Idaho": 14
}
}
},
"errors": []
}Changes
No recorded changes to this operation across all 1 revision of this API.