Discover/Indeed API
live

Indeed APIca.indeed.com

Access Indeed Canada job listings, company profiles, employee reviews, and salary data via 6 structured API endpoints. Filter by keyword, location, and date.

Endpoint health
verified 4d ago
get_company_reviews
get_company_jobs
search_jobs
get_job_details
get_company_salaries
6/6 passing latest checkself-healing
Endpoints
6
Updated
21d ago

What is the Indeed API?

The Indeed Canada API provides access to Canadian job market data across 6 endpoints, covering job search, job details, company profiles, employee reviews, reported salaries, and company-specific job listings. The search_jobs endpoint accepts keyword, location, sort order, and recency filters, returning job keys you can pass directly to get_job_details for structured compensation, description, and employer data.

Try it
Sort order for results.
Search keyword(s) for job title, skills, or company name.
Maximum age of listings in days.
Location to search in (city, province, or country).
api.parse.bot/scraper/3ca3409d-7717-4c1b-8854-c204b951ef8a/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3ca3409d-7717-4c1b-8854-c204b951ef8a/search_jobs?sort=date&query=software+engineer&fromage=14&location=Toronto%2C+ON' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace ca-indeed-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Indeed Canada SDK — search jobs, drill into details, explore companies."""
from parse_apis.indeed_canada_api import IndeedCanada, Sort, CompanyNotFound

client = IndeedCanada()

# Search for recent software engineer jobs in Toronto
for job in client.jobsummaries.search(query="software engineer", location="Toronto, ON", sort=Sort.DATE, limit=5):
    print(job.title, job.company, job.location)

# Drill into the first result for full details
listing = client.jobsummaries.search(query="data analyst", limit=1).first()
if listing:
    detail = listing.details()
    print(detail.title, detail.job_key)

# Explore a company: profile, reviews, salaries, open positions
rbc = client.company("Royal-Bank-of-Canada")

profile = rbc.profile()
print(profile.page_title, profile.overview)

reviews = rbc.reviews()
print(reviews.company, reviews.reviews_data)

salaries = rbc.salaries()
print(salaries.company, salaries.salaries_data)

# Typed error handling for unknown companies
try:
    unknown = client.company("Nonexistent-Corp-12345").profile()
    print(unknown.page_title)
except CompanyNotFound as exc:
    print(f"Company not found: {exc.company}")

company_jobs = rbc.jobs()
print(company_jobs.total_count, company_jobs.filtered_count)
for item in company_jobs.jobs[:3]:
    print(item.title, item.location, item.indeedApply)

print("exercised: jobsummaries.search / details / company.profile / reviews / salaries / jobs")
All endpoints · 6 totalmissing one? ·

Full-text search over job listings on ca.indeed.com. Matches query against job titles, skills, and company names. Results are scoped by location and recency (fromage). Returns up to ~15 listings per call (single page; no server-side pagination is exposed without authentication). Each result carries a jobkey usable with get_job_details for the full posting.

Input
ParamTypeDescription
sortstringSort order for results.
queryrequiredstringSearch keyword(s) for job title, skills, or company name.
fromageintegerMaximum age of listings in days.
locationstringLocation to search in (city, province, or country).
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job listing objects with jobkey, title, company, location, and url",
    "query": "string query used for the search",
    "location": "string location used for the search",
    "total_results": "integer total number of results found"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "url": "https://ca.indeed.com/viewjob?jk=92347315ab929f6a",
          "title": "Lead Full Stack Developer - Vice President",
          "jobkey": "92347315ab929f6a",
          "company": "Citi",
          "location": "Mississauga, ON L5B 3P7"
        }
      ],
      "query": "software engineer",
      "location": "Toronto, ON",
      "total_results": 16
    },
    "status": "success"
  }
}

About the Indeed API

Job Search and Detail

The search_jobs endpoint takes a required query string along with optional location, sort ('date' or 'relevance'), and fromage (maximum listing age in days) parameters. It returns an array of job objects — each with a jobkey, title, company, location, and url — plus the total result count. Note that results are limited to the first page without authentication; deep pagination is not available.

The get_job_details endpoint accepts a jk job key (the hexadecimal identifier from search results) and returns a title, job_key, a job_info object reflecting Indeed's internal data model, and a description_html field containing the full HTML-formatted job description when available.

Company Data

The get_company_profile endpoint retrieves a company's overview using a slug that matches the Indeed URL path (e.g., Royal-Bank-of-Canada). The response includes a data object with sub-sections for aboutSectionViewModel, reviews, salaries, jobs, and Q&A, alongside a page_title and overview meta description. This gives a broad picture of the employer in a single call.

For more granular data, three dedicated endpoints go deeper. get_company_reviews returns a reviews_data object containing the reviews list, per-review ratings, submission dates, job titles, and pagination metadata. get_company_salaries returns salaries_data organized by job category and role. get_company_jobs returns an array of open postings per company, each with jobKey, title, location, url, indeedApply, and sponsored fields, plus a total_count of open positions.

Reliability & maintenanceVerified

The Indeed API is a managed, monitored endpoint for ca.indeed.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ca.indeed.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official ca.indeed.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate Canadian job listings by keyword and province for a niche job board
  • Track new postings at specific companies using get_company_jobs and total_count over time
  • Pull compensation benchmarks by role from get_company_salaries to populate salary guides
  • Display employer reputation data using review ratings and text from get_company_reviews
  • Build a company research tool that combines profile, reviews, and salaries in one view
  • Filter recent postings by setting fromage to monitor a specific job category's hiring velocity
  • Cross-reference description_html from job details against keyword lists to classify roles automatically
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Indeed have an official developer API?+
Indeed previously offered a public job search API, but it was discontinued and is no longer available to new applicants as of 2024. Indeed's current official publisher program is restricted to select partners.
What does `get_job_details` return beyond the search listing?+
It returns a job_info object with structured data from Indeed's internal job model — typically including compensation details, employer information, and employment type — plus a description_html field with the full job description in HTML. The description_html field may be null if the posting does not include a formatted description.
How do I find the correct company slug for profile and review endpoints?+
The slug matches the path segment in the Indeed Canada company URL — for example, Royal-Bank-of-Canada or Td-bbaa945d. Some companies have a hash suffix in their slug. If the plain name doesn't resolve, check the URL on ca.indeed.com for the exact slug format.
Is pagination supported for job search results?+
The search_jobs endpoint returns the first page of results only. Multi-page traversal is not available through this endpoint. You can fork the API on Parse and revise it to add an offset or page parameter if your use case requires deeper result sets.
Does the API cover job postings outside Canada, such as remote roles from US employers?+
The API is scoped to ca.indeed.com and returns results as that domain surfaces them, which may include remote roles with Canadian locations. International job data from indeed.com or other country-specific Indeed domains is not currently covered. You can fork this API on Parse and revise it to target a different Indeed regional domain.
Page content last updated . Spec covers 6 endpoints from ca.indeed.com.
Related APIs in JobsSee all →
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
in.indeed.com API
in.indeed.com API
indeed.co.in API
Search for jobs across Indeed India and access detailed information about listings, companies, salaries, and locations to help with your job hunt. Get autocomplete suggestions for job titles and places, plus salary guides and company details to make informed career decisions.
indeed.co.uk API
Search for jobs across Indeed UK and retrieve detailed information including job listings, application links, and company profiles. Access comprehensive job data to compare opportunities, learn about employers, and find direct application pathways.
fr.indeed.com API
Search job listings and get detailed information about positions, companies, and alternance opportunities on Indeed France, all in one place. Access comprehensive company profiles and job details to find your next career move or research employers.
de.indeed.com API
Access data from de.indeed.com.
uk.indeed.com API
Search for job listings across Indeed UK and retrieve complete job details including descriptions, requirements, salary information, and application links. Filter by job type, experience level, location, remote preference, and more to find relevant opportunities.
naukri.com API
naukri.com API