Public API — v1

A stable, CORS-open REST API for partners and integrators. Pull active Indigenous employment listings, site-wide statistics, and feed data without authentication. Free for all partners — please cache responses where reasonable.

Stability: The v1 contract will not change in breaking ways without a deprecation window. New optional fields may be added; existing fields will not be renamed or removed. Versioning via path: future /api/v2/....

Base URL

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

Endpoints

GET /api/v1/jobs

List active job postings with optional filters and cursor pagination.

ParamTypeDescription
provincestring (2-letter)Filter by province code: ON, BC, AB, etc.
categorystringExact match: Hospitality & Tourism, Construction, etc.
employerstring (ILIKE)Case-insensitive employer name match. Use % wildcards.
employment_typestringEmployment type: Full-Time, Part-Time, etc.
limitinteger (1–200)Default 50.
after_idintegerCursor for pagination — pass the last item's id.

Response:

{
  "api": "turtle-island-jobs",
  "version": "v1",
  "generated_at": "2026-05-08T...",
  "count": 6,
  "limit": 50,
  "next_page": null,
  "docs": "https://www.turtleislandjobs.ca/api",
  "jobs": [
    {
      "id": "1777785988061",
      "title": "Restaurant Manager",
      "company": "SUSHI KAWA",
      "location": {
        "city": "Salmon Arm",
        "province": "BC",
        "country": "CA",
        "remote": false
      },
      "employment_type": "Full-Time",
      "category": "Food Services",
      "wage": "$22-$28/hr",
      "posted_at": "2026-...",
      "expires_at": "2026-...",
      "url": "https://www.turtleislandjobs.ca/jobs/1777785988061",
      "apply_url": "https://www.turtleislandjobs.ca/jobs/1777785988061"
    }
  ]
}

GET /api/v1/stats

Site-wide aggregate counts. Useful for partner dashboards, hero cards, and weekly reporting.

{
  "api": "turtle-island-jobs",
  "version": "v1",
  "generated_at": "2026-05-08T...",
  "active_jobs": 6,
  "distinct_employers": 3,
  "distinct_provinces": 1,
  "distinct_categories": 2,
  "indigenous_owned_employers": 0,
  "breakdown": {
    "by_province": { "BC": 6 },
    "by_category": { "Food Services": 5, "Health Care": 1 }
  }
}

GET /feed.xml

RSS 2.0 of all active jobs. Suitable for aggregator ingest (Indeed, Jooble, Adzuna, CareerJet). Polled every 15 minutes upstream.

https://www.turtleislandjobs.ca/feed.xml

GET /sitemap.xml

Standard XML sitemap. All public URLs (jobs, landing pages, hubs) listed with changefreq and priority hints.

https://www.turtleislandjobs.ca/sitemap.xml

Rate limits & caching

Data licensing

Job posting metadata may be republished with attribution to turtleislandjobs.ca. Please link the apply URL to https://www.turtleislandjobs.ca/jobs/<id> so candidates can complete the original posting flow.

Stability & breaking changes

The v1 contract is locked for additive changes only. Renames, removals, or behavior changes ship under /api/v2/. Subscribe to deprecation announcements at tijobs.ca@gmail.com.

Try it

curl -s "https://www.turtleislandjobs.ca/api/v1/stats" | head -20

curl -s "https://www.turtleislandjobs.ca/api/v1/jobs?province=BC&limit=5" | head -40

Support

API issues, partnership inquiries, or feature requests: tijobs.ca@gmail.com