Simpro API Integration Guide: Auth, Endpoints, Rate Limits & Patterns (2026)
A developer-focused guide to Simpro's REST API, OAuth 2.0 authentication, the endpoints most integrations use (jobs, quotes, invoices, customers, cost.
A developer-focused guide to Simpro's REST API, OAuth 2.0 authentication, the endpoints most integrations use (jobs, quotes, invoices, customers, cost.
The Simpro API is one of the more capable field-service management APIs in the Australian market, but the documentation assumes you already understand REST, OAuth, and Simpro's data model. This guide fills the gaps we wish we had known when we shipped our first Simpro integration.
Written for developers evaluating whether to build in-house, and for CTOs deciding whether to hire someone who already knows the platform.
Simpro's REST API exposes almost everything the Simpro web UI does, jobs, quotes, invoices, customers, sites, employees, catalogues, cost centres, timesheets and reporting. If you can see it in the Simpro interface, you can read or write it via the API.
What it does not do (as of mid-2026):
Simpro uses OAuth 2.0 with the client credentials flow for server-to-server integrations. The steps:
https://{their-build}.simprosuite.com/oauth2/token.https://{their-build}.simprosuite.com/api/v1.0/companies/{company-id}/....Access tokens expire in 1 hour. Store the expiry timestamp with the token and refresh proactively, do not wait for a 401 to trigger a refresh in production.
Multi-company gotcha: a Simpro build can contain multiple companies. The company ID is a path parameter on every URL. Do not hard-code it; look it up from /companies at start-up and confirm with your customer which one to use.
| Endpoint | Purpose | Notes |
|---|---|---|
GET /jobs | List jobs | Filter by Stage, DateModified, CustomerID. |
GET /jobs/{id} | Full job detail | Includes cost centres, sections, tasks. Big payload. |
GET /quotes / POST /quotes | Quotes CRUD | Quotes can convert to jobs; watch for the parent-child link. |
GET /invoices | List invoices | Includes progress claims and credit notes. |
GET /customers / POST /customers | Customer records | Simpro distinguishes company customers and individual customers, separate endpoints. |
GET /timesheets | Employee time entries | Filter by EmployeeID and date range. |
GET /catalogs | Catalogue items | Needed for price-book sync. |
Simpro rate limits are documented as 200 requests per minute per API user. In practice we have seen bursty patterns triggering earlier throttling. Assume:
Retry-After, respect it).Pagination is the source of most Simpro integration bugs. The API returns paginated collections with page and pageSize query params. The default page size is small (25). Common bugs:
orderbyMost common integration by far. Poll GET /invoices?DateIssuedSince={last-sync}, transform to Xero's invoice schema, POST to Xero. Watch for:
GET /timesheets filtered by date range, transformed to your payroll platform's schema (Deputy, Employment Hero, MYOB Payroll, Xero Payroll). See our rostering-to-MYOB compatibility guide for platform-specific mapping notes.
Customers can be created in either Simpro or your CRM. Two-way sync needs:
DateModified filters. If a job is deleted in Simpro, you will not detect it unless you compare the full ID list.You can build a working Simpro → Xero invoice sync in a week of focused developer time. The maintainable version, the one that handles pagination correctly, retries safely, logs failures where someone will actually see them, and survives Simpro API version bumps, takes 3-6 weeks depending on scope.
Reasons to hire out:
If you want a scoped conversation, our Simpro integration services page covers the workflows we build for Australian trade businesses and the fixed-price model we use.
Ask the author
Ask it here and it comes straight to the founder. No sales call, no obligation, and a real answer even if the answer is that you do not need us.
Kasun Wijayamanna
Founder, replies within one business day
Tell us what you're working on. We'll come back with a practical recommendation and clear next steps.
Built here. Your data stays here.
Thanks for reaching out. We will get back to you within one business day.
See what else we do