ServiceM8 is a job management platform for trades and field service contractors—handling quoting, scheduling, dispatch, on-site invoicing, and payments, with much of the workflow centered on its iOS app. An unofficial API lets you programmatically pull jobs, clients, staff, job activities, materials, and attachments—and push updates like new jobs, quotes, job activities, and payments back into ServiceM8.

ServiceM8 is a job management platform for trades and field service contractors that helps businesses cut paperwork, schedule and dispatch staff, quote and invoice on site, and get paid faster. Built primarily around its iOS app and powered by AWS, ServiceM8 is used by electricians, plumbers, HVAC, cleaning, locksmith, pool, pest control, lawn care, and appliance-repair businesses to manage billions of dollars in jobs annually, and it integrates with QuickBooks Online, Xero, and MYOB.
Core product areas include:
Common data entities:
Contractors run their entire field operation on ServiceM8 every day, but turning a mobile-first, add-on-driven platform into clean API-driven automation is non-trivial:
Supergood reverse-engineers authenticated ServiceM8 flows—across the OAuth-secured REST API and the app surfaces where field data lives—to deliver a resilient, normalized API layer for your ServiceM8 account.
Use ServiceM8 with AI agents: ServiceM8 MCP Server →
Book a 30-minute session to confirm the jobs, clients, staff, and payment data you need and your authentication model.
We deliver a production-ready ServiceM8 adapter tuned to your account's scopes and data volume.
Go live with continuous monitoring and automatic adjustments as ServiceM8 evolves.
Authentication
/authenticateAuthenticate to a ServiceM8 account via OAuth 2.0 and obtain an access token with the required scopes for downstream calls.
Jobs
/jobsList jobs with filters for status, queue, assigned staff, client, and date range.
Jobs
/create_jobCreate a new job against a client with description, location, and queue, returning the new record UUID.
Clients
/clientsRetrieve companies (clients) and their company contacts with address and billing details.
Job Activities
/job_activitiesPull job activities, time entries, and on-site notes linked to a job by UUID.
Billing
/create_paymentRecord a job payment against an invoice with amount, method, and timestamp.
- Pull active jobs, queues, and assigned staff from ServiceM8 into a central warehouse - Stream job status and scheduling changes to downstream dispatch and reporting tools - Reconcile client and contact records for a unified customer view
- Push new jobs and quotes into ServiceM8 from your CRM or intake forms - Pull invoices and job materials back for margin and revenue reporting - Trigger follow-ups when a quote is accepted or a job is completed
- Record job payments and sync them against invoices in ServiceM8 - Match payment activity to QuickBooks Online, Xero, or MYOB ledgers - Surface outstanding balances and aged receivables to retention workflows
- Pull photos, videos, and signed PDF forms attached to jobs - Archive job attachments to compliance and document-management systems - Link media back to the originating job and activity by UUID
Authentication
OAuth 2.0 authorization code flow with scoped access tokens, handled in a managed session
Connectivity
ServiceM8 REST API (api.servicem8.com/api_1.0) plus authenticated app surfaces where field data lives
Response format
Normalized JSON across Jobs, Activities, Materials, Companies, Staff, and Attachments, keyed by UUID
Rate limits
Adaptive throttling within ServiceM8's 180 requests/minute and 20,000 requests/day per-account caps
Session management
Automatic token refresh, scope handling, and credential rotation
Data freshness
Near real-time pulls for jobs, activities, and payments with optional scheduled batch syncs
Security
Encrypted credential vault, scoped OAuth tokens, SOC 2-aligned controls, and audit logging
Webhooks
Event-style callbacks for job, client, and payment changes via ServiceM8 webhook subscriptions for OAuth apps
Latency
Sub-second reads on cached entities; multi-second writes when creating jobs and posting payments
Throughput
Horizontally scaled workers paced per account to respect ServiceM8's daily request budget
Reliability
Retry, backoff, and idempotency keys for job creation and payment posting
Adaptation
Continuous monitoring of ServiceM8 API and add-on platform changes with automatic adjustment
Yes. ServiceM8 is built primarily around its iOS app, and Supergood normalizes job activities, media, and signed-form attachments captured in the field alongside the data exposed through the REST API.
ServiceM8 caps requests at 180 per minute and 20,000 per day per account, returning HTTP 429 when exceeded. Supergood applies adaptive throttling and per-account pacing so your integration stays within budget without manual tuning.
No. Supergood handles the OAuth 2.0 authorization flow, scope grants, and token refresh for you, so you work against a clean normalized API instead of managing add-on registration and credentials.
Yes. You can create jobs, quotes, job activities, and payments, with idempotency and retry handling so writes are safe even under rate-limit pressure.
Supergood surfaces ServiceM8 invoices and payments in a normalized form so you can reconcile them against your accounting system, whether that's QuickBooks Online, Xero, or MYOB.