ca.indeed.com 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.
curl -X GET 'https://api.parse.bot/scraper/3ca3409d-7717-4c1b-8854-c204b951ef8a/search_jobs?sort=relevance&query=developer&fromage=7&location=Toronto' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for job listings on ca.indeed.com with keyword, location, and recency filters. Returns the first page of results (no pagination beyond page 1 is available without authentication).
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order: 'date' or 'relevance'. |
| queryrequired | string | Search keyword(s) for job title, skills, or company name. |
| fromage | integer | Maximum age of listings in days. |
| location | string | Location to search in (city, province, or country). |
{
"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=d4e5b1c064574a59",
"title": "software developer",
"jobkey": "d4e5b1c064574a59",
"company": "Korah Limited",
"location": "Markham, ON L3R 0B1"
}
],
"query": "developer",
"location": "Toronto",
"total_results": 16
},
"status": "success"
}
}About the ca.indeed.com 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.
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.
- Aggregate Canadian job listings by keyword and province for a niche job board
- Track new postings at specific companies using
get_company_jobsandtotal_countover time - Pull compensation benchmarks by role from
get_company_salariesto 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
fromageto monitor a specific job category's hiring velocity - Cross-reference
description_htmlfrom job details against keyword lists to classify roles automatically
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does Indeed have an official developer API?+
What does `get_job_details` return beyond the search listing?+
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?+
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?+
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.