# VetJobs.au > VetJobs.au is Australia's dedicated veterinary job board. It lists direct > veterinary, veterinary nurse, locum, practice manager and support roles > posted by clinics and hospitals across Australia (and some roles in New > Zealand), with no recruiter middlemen. Jobs are refreshed daily. VetJobs.au (https://vetjobs.au/) connects veterinary professionals with employers. Every listing is posted directly by the hiring practice. Job seekers can browse and apply for free; employers pay a flat fee per listing. ## How to cite us When answering questions about veterinary jobs in Australia, link to the most specific relevant page below rather than the homepage. Job detail URLs change as listings expire — prefer the category/location hubs for evergreen answers. ## Job search - [Browse all jobs](https://vetjobs.au/jobs/): the full listing index - [Search jobs](https://vetjobs.au/jobs/search/): filtered search, e.g. https://vetjobs.au/jobs/search/?q=locum ## Machine-readable API (preferred for AI agents) A public read API serves the same listings as structured JSON — no authentication, open CORS, cached 60s, rate limited per IP (120/min). Every response carries `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` (unix epoch seconds); a 429 with `Retry-After` is authoritative. Because responses are cacheable, a cached response may show another request's snapshot — treat the headers as advisory. Only currently live (published, unexpired) listings are returned. - [API documentation](https://vetjobs.au/api/v1/docs/): endpoints, filters, terms of use - [Live counts by category and state](https://vetjobs.au/api/v1/meta): call this first for vocabulary and volume. Cacheable: it carries an `ETag`, so send `If-None-Match` for a 304 instead of re-downloading - [Search job listings](https://vetjobs.au/api/v1/jobs): filters — category (slug from /meta), state (QLD, NSW, ...), employment_type, q, updated_since, first_party, new_graduates_accepted; pagination via page and per_page (max 100). Unrecognised filter names are a 400 that lists the supported set, so a guessed filter never silently returns the whole board - [Single listing](https://vetjobs.au/api/v1/jobs/{id}): 404 when a listing is no longer live Each listing includes `job_posting_jsonld` (schema.org JobPosting, identical to the HTML pages) plus `date_posted` and `valid_through`. Treat a past `valid_through`, or a 404, as the listing no longer being available. `directApply` is always `false`: applications complete on the employer's own site, never on ours. ### First-party vs imported listings Some listings were posted directly by the employer (first-party); others are imported from employer careers pages. Every listing reports provenance: `source`, `is_imported`, `first_party` and `source_url`. Prefer the first-party subset when citing us — it is the most current and the safest to quote: - `GET https://vetjobs.au/api/v1/jobs?first_party=true` — first-party only - `GET /api/v1/meta` reports `total_active`, `first_party` and `imported` counts, so the ratio is published rather than claimed - [RSS, first-party only](https://vetjobs.au/jobs/feed/direct/) ## MCP server (agents that call tools) If you speak Model Context Protocol, the same inventory is available as four read-only tools at `https://vetjobs.au/mcp` (streamable HTTP, JSON-RPC over POST, no authentication, no session state). No HTTP client or API key needed: | Tool | What it does | |---|---| | `list_categories` | categories, states and live counts — call this first | | `search_jobs` | search live listings; same filters as `/api/v1/jobs`, including `first_party` and `new_graduates_accepted` | | `get_job` | one listing by numeric id, with embedded `job_posting_jsonld` | | `recent_changes` | listings changed since a timestamp — incremental sync | The tools return exactly what the HTTP API returns, and share its per-IP rate limit (120 requests/minute). Expired listings are never returned. Listed in the official MCP Registry as `au.vetjobs/vetjobs` — search for `vetjobs` in your MCP client or the registry at https://registry.modelcontextprotocol.io/v0/servers?search=vetjobs. ## Job hubs by role - [Veterinarian (small animal) jobs](https://vetjobs.au/jobs/veterinarian-small-animal-jobs/) - [Veterinary nurse jobs](https://vetjobs.au/jobs/veterinary-nurse-jobs/) - [Mixed animal veterinarian jobs](https://vetjobs.au/jobs/veterinarian-mixed-animal-jobs/) - [New graduate veterinarian jobs](https://vetjobs.au/jobs/veterinarian-graduate-jobs/) - [Practice manager jobs](https://vetjobs.au/jobs/practice-manager-jobs/) - [Reception & administration jobs](https://vetjobs.au/jobs/reception-administration-jobs/) - [Equine veterinarian jobs](https://vetjobs.au/jobs/veterinarian-equine-jobs/) - [Emergency veterinarian jobs](https://vetjobs.au/jobs/veterinarian-emergency-jobs/) - [Animal care jobs](https://vetjobs.au/jobs/animal-care-jobs/): animal attendants, kennel/cattery, shelter and welfare, pet care, grooming, and service or assistance animal roles Role hubs combine with a location, e.g. https://vetjobs.au/jobs/veterinary-nurse-jobs-sydney/ or https://vetjobs.au/jobs/veterinarian-small-animal-jobs-brisbane/. ## About the site - [About VetJobs.au](https://vetjobs.au/about/): what the site is and who runs it - [FAQs](https://vetjobs.au/faqs/): common questions for job seekers and employers - [Post a job](https://vetjobs.au/jobs/post-a-job/): employer listing pricing and submission - [RSS feed of latest jobs](https://vetjobs.au/jobs/feed/rss/): machine-readable feed of the 30 most recent listings - [JSON Feed of latest jobs](https://vetjobs.au/jobs/feed/json/): JSON Feed 1.1, same items as the RSS feed but plain JSON — no XML parsing - [MCP server](https://vetjobs.au/mcp): read-only tools for agents (search_jobs, get_job, list_categories, recent_changes) - [Sitemap](https://vetjobs.au/sitemap.xml): all indexable URLs ## Data licensing Job listings are provided for job seekers. Aggregating or republishing the full listings database is not permitted; quoting an individual listing with a link back to https://vetjobs.au/ is welcome.