Free, read-only, no authentication. Returns only currently live job
postings. Cached for 60 seconds; send If-None-Match with a
previously returned ETag to get a 304. Rate limited per IP;
exceeding the limit returns 429 with Retry-After.
JSON responses are UTF-8; timestamps are ISO 8601 (UTC).
Data is provided as-is. You may use it to power search, agents, and aggregations that link back to vetjobs.au as the source. Please do not re-host the listings as a competing directory. Listing content belongs to the hiring organisations.
GET /api/v1/jobs — paginated active listings.
Filters: category (slug, see /meta),
state (QLD/NSW/...), employment_type,
q (free text), updated_since (ISO date/datetime),
page, per_page (default 25, max 100).GET /api/v1/jobs/{id} — one listing; 404 if not active.GET /api/v1/meta — categories, states, live counts, freshness.Every listing includes job_posting_jsonld: schema.org
JobPosting structured data, identical to the HTML pages' markup.
curl "https://vetjobs.au/api/v1/meta" curl "https://vetjobs.au/api/v1/jobs?state=QLD&per_page=5" curl "https://vetjobs.au/api/v1/jobs?category=veterinary-nurse&updated_since=2026-10-01" curl "https://vetjobs.au/api/v1/jobs/123"