YouthHire Public API

Pull our active youth jobs into your university career portal, partner site, or community newsletter. JSON over HTTPS, no authentication required, CORS open. Versioned under /api/v1/.

Free for non-commercial use. If you're integrating into a commercial product or expect > 1,000 requests / day, please email our team first.

Base URL

https://www.canadayouthhire.ca/api/v1

Endpoints

GET/api/v1/jobs

List active job postings. Returns up to 200 per request.

Query parameters

ParamTypeDescription
limitinteger1–200, default 100
offsetinteger≥0, default 0
provstring2-letter province code (e.g. BC, ON)
categorystringExact category name (e.g. Hospitality & Tourism)
employment_typestringFull-Time | Part-Time | Contract | Seasonal | Casual
remotebooleantrue or 1 to include only remote roles
sinceISO datee.g. 2026-04-01 — only jobs created on/after
qstringKeyword match against title and description (max 80 chars)

Example

curl 'https://www.canadayouthhire.ca/api/v1/jobs?prov=BC&category=Retail&limit=10'

Response

{
  "api_version": "v1",
  "count": 10,
  "offset": 0,
  "limit": 10,
  "jobs": [
    {
      "job_id": "1777847314418",
      "title": "Kitchen Helper",
      "company": "Sushi Langford",
      "loc": "Langford, BC",
      "prov": "BC",
      "type": "Full-Time",
      "category": "Food Services",
      "wage": "$18-22/hr",
      "remote": "onsite",
      "lang": "English",
      "edu": "None",
      "exp_req": "No experience",
      "description": "...",
      "requirements": "...",
      "benefits": "...",
      "posted_date": "2026-05-03",
      "exp_date": "2026-07-02",
      "apply_method": "email",
      "apply_url": null
    }
  ]
}
GET/api/v1/jobs/{job_id}

Single active job by id. Returns 404 if not active or doesn't exist.

Example

curl 'https://www.canadayouthhire.ca/api/v1/jobs/1777847314418'
GET/api/v1/stats

Aggregate platform stats. Cached for 5 minutes server-side.

Example

curl 'https://www.canadayouthhire.ca/api/v1/stats'

Response

{
  "active_jobs": 6,
  "employers": 4,
  "cities": 4,
  "provinces": 1,
  "postings_30d": 8,
  "as_of": "2026-05-08T00:00:00.000Z"
}

Other distribution channels

If you don't want to write code:

Rate limits

EndpointLimit (per IP)
/api/v1/jobs (list)30 / 10 minutes
/api/v1/jobs/{id}30 / 10 minutes
/api/v1/stats60 / 10 minutes

Over-limit responses return HTTP 429. Recover with exponential backoff. If you need higher limits for a legitimate integration, email our team.

Stability and versioning

/api/v1/ is the stable contract — fields will only be added, not removed or renamed, within this version. Breaking changes ship under /api/v2/ with a 6-month overlap.

The api_version field on list responses lets you detect the active version client-side.

Compliance

YouthHire complies with Canadian Anti-Spam Legislation (CASL) and PIPEDA. See our compliance pledges for details on how we vet employers and handle data. Partner integrations should respect the same standards when republishing jobs.