BYTETOOLS

The Muse Jobs API

Free job search API with no key for basic use: listings from vetted employers with company profiles, experience level and location filters. Tested curl example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-19

What is the The Muse Jobs API?

The Muse API provides free access to job listings from vetted employers along with company profile data, filterable by category, experience level and location. Basic access requires no API key.

The Muse differs from raw job aggregators by curating employers and publishing company culture content alongside listings. That makes it useful when you want employer context, not just a job title and a link.

Its filtering is strong on the dimensions candidates actually care about — experience level, job category and location are all first-class parameters, with over 400,000 listings behind them.

Quick facts

Base URL
https://www.themuse.com/api/public
Authentication
Basic access works without a key. A free key raises the rate limit substantially.
Rate limit
About 500 requests per hour without a key; higher with a free API key.
Pricing
Free tier with optional free key for higher limits.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the The Muse Jobs API

Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.

1. Search job listings

GET https://www.themuse.com/api/public/jobs?page=1

curl
curl 'https://www.themuse.com/api/public/jobs?page=1'
JavaScript (fetch)
const res = await fetch("https://www.themuse.com/api/public/jobs?page=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://www.themuse.com/api/public/jobs?page=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "page": 1,
  "page_count": 20409,
  "items_per_page": 20,
  "took": 8,
  "timed_out": false,
  "total": 408174,
  "results": [
    {
      "contents": "<p><strong>Safety-Kleen</strong> is looking for a <strong>Territory Sales Representative</strong>, internally known as an Account Manager, to join their safety conscious team! This role focuses on building business within their territories as well as developing and maintaining strong customer relationships. While working in conjunction with route drivers, the Outside Sales Representative provides product insight to our clientele regarding essential lines of business.</p>\n\n<p><strong>This position requires daily visits to our local branch location.</strong></p>\n\n<ul><li>Why work for Safety-Kleen?</li><li>Health and Safety is our #1 priority and we live it 3-6-5!</li><li>Competitive wages: $65,000 - $80,000 + bonus opportunities </li><li>Comprehensive health benefits coverage after 30 days of full-time employment</li><li>Group 401K with company matching component</li><li>Generous paid time off, company paid training and tuition reimbursement</li><li>Positive and safe work environments</li><li>Opportunities for growth and development for all the stages of your career</li></ul>\n\n<ul><li>Ensures Health and Safety is the number one priority by complying with all safe work practices, policies, and processes and acting in a safe manner at all times;</li><li>Work with route drivers to convert new sales opportunities;</li><li>Grow current customer base with new lines of business;</li><li>Prepare and deliver customer quotes;<

Parameters

ParameterTypeRequiredDescription
pageintegerRequiredPage number — required, starts at 0. 1
categorystringOptionalJob category, repeatable. Software Engineering
levelstringOptionalExperience level. Entry Level
locationstringOptionalCity and state or country. London, United Kingdom
companystringOptionalFilter by company name. Spotify

Response fields

page / page_countinteger
Current page and total pages available.
totalinteger
Total listings matching the query.
results[].namestring
Job title.
results[].companyobject
Hiring company with id and name.
results[].locationsarray
Locations the role is offered in.
results[].levelsarray
Experience levels with name and short name.
results[].contentsstring
Job description as HTML — sanitise before rendering.

What you can build with the The Muse Jobs API

  • Build a job search with experience level and location filters
  • Show company culture profiles alongside vacancies
  • Target entry-level roles for a graduate careers site
  • Aggregate listings from vetted employers only

Common errors and how to fix them

400 without page

The `page` parameter is required.

Fix: Always pass page, starting at 0 — omitting it is the most common error.

Descriptions contain HTML

The `contents` field is raw HTML.

Fix: Sanitise before rendering to avoid XSS.

429

Unauthenticated rate limit hit.

Fix: Register for a free API key to raise the limit.

The Muse Jobs API — frequently asked questions

Does The Muse API need an API key?

Not for basic access, but the unauthenticated rate limit is around 500 requests per hour. A free key raises it significantly.

Why do I get a 400 error?

The `page` parameter is mandatory on the jobs endpoint and starts at 0. Omitting it is the usual cause.

Can I filter by experience level?

Yes, the `level` parameter supports values such as Entry Level, Mid Level and Senior Level, which is unusually well structured for a job API.

Does it include company information?

Yes. Listings link to company profiles, and The Muse publishes culture and office content for employers it works with.

Tools that pair with this API

The Muse Jobs is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.