Rather have us handle this? We set this up for clients every day.
See the Service
Guides / Jobber

Jobber GraphQL API Basics

Quick intro to Jobber's GraphQL API — what it does, how we use it, what data is available.

Last verified: April 2026

What GraphQL Is (Without the Jargon)

Most APIs work like a restaurant with a fixed menu — you pick from a set of endpoints, and each one returns a predefined set of data. That’s REST.

GraphQL is different. It’s more like telling the kitchen exactly what you want. You ask for specific fields on specific objects, and that’s exactly what you get back. No more, no less.

Jobber uses GraphQL for their API. This matters for integration because it means we can pull exactly the data we need in a single request instead of making dozens of separate calls.

How It Differs from REST

RESTGraphQL
EndpointsMany (one per resource)One (single endpoint for everything)
Data returnedFixed response shapeYou choose the fields
Multiple resourcesMultiple requestsOne request can fetch related data
Over-fetchingCommon (you get everything)Eliminated (you get what you ask for)

For your integration, this means fewer API calls, faster data retrieval, and less unnecessary data transfer.

What Data Is Available

Jobber’s API exposes the core objects you work with daily:

  • Clients: Name, contact info, addresses, custom fields, tags
  • Jobs: Job details, status, scheduling, assigned team members, line items
  • Invoices: Amounts, line items, status, linked jobs and clients
  • Quotes: Quote details, status, line items, linked clients
  • Requests: Service requests and their details
  • Properties: Client property/site information

We query these objects to sync data between Jobber and your other systems — CRM, accounting, scheduling, or whatever you’re connecting.

The GraphQL Explorer

Jobber provides a GraphQL explorer (sometimes called a playground) in their developer documentation. It’s an interactive tool where you can write queries and see the results in real time.

We use this during development to:

  • Test queries before building them into the integration
  • Explore available fields and relationships
  • Verify data structure and field names

You don’t need to use the explorer yourself, but it’s there if you’re curious about what data is available.

A Simple Example

Here’s what a basic query looks like (you don’t need to write these — we handle this):

query {
  clients(first: 10) {
    nodes {
      id
      firstName
      lastName
      emails {
        address
      }
    }
  }
}

This asks for the first 10 clients, returning only their ID, first name, last name, and email addresses. Nothing else. That efficiency is why GraphQL is well-suited for integration work.

Why This Matters for Your Integration

  • Efficient syncing: We pull only the fields that map to your destination system, keeping syncs fast
  • Related data in one call: We can fetch a client, their jobs, and their invoices in a single query instead of three separate requests
  • Pagination built in: Jobber’s GraphQL API handles large datasets with cursor-based pagination, so we can reliably sync all your records even if you have thousands
Ready to get your systems connected? No pitch. Just a conversation about what's possible.
Start a conversation

Common Issues

Rate Limits

Jobber applies rate limits to API calls. GraphQL is more efficient than REST, but complex queries that request deeply nested data still count against your limit. We design queries to stay well within bounds.

Field Availability

Not every field you see in the Jobber UI is available through the API. If there’s a specific field you need synced, let us know early so we can verify it’s accessible.

Mutations (Writing Data Back)

GraphQL isn’t just for reading — it also supports “mutations” for creating and updating records. If your integration writes data back to Jobber (e.g., creating a job from a CRM deal), we use mutations for that.

Next Steps

Need help with the full integration?

This guide covers the setup. If you want us to handle the integration end to end, we can do that.

See Integration Services