The API, explained

Jobber API for Contractor Websites: GraphQL, OAuth and the Custom Integration Flow

Jobber's developer platform was built for software companies that sell apps to thousands of Jobber users. A single landscaping company that wants its website to file requests is a smaller customer of the same machinery, and it follows a slightly different path.

November 4, 2026 · 8 min read

acmelandscape.com · integration notes
Custom integration flow
Approved, authorized and filing requests Monday
Custom integration approvedMon 9:30 am
App set up in the Developer CenterMon 10 am
Admin authorized it through OAuthMon 2:10 pm
First request filed by GraphQLMon 3:05 pm
Webhook answeredunder 1 second
Jobber password sharednever
Illustrative: sample notes for a fictional landscaping companylive the same day

The short answer

Jobber's API is a GraphQL API reached through its Developer Center. A website for one company connects as a custom integration: an app that uses the same OAuth 2.0 authorization as public apps but is not listed in Jobber's App Marketplace. Jobber's developer docs say custom integrations are available only to approved Jobber customers and developers, so approval comes before code.

On this page
  1. An app with an audience of one
  2. What we read first-hand, and what only through search summaries
  3. Approval, OAuth and the admin's click
  4. What the platform can do, judged by Jobber's own Zapier app
  5. Webhooks with a one-second deadline, and a budget instead of a wall
  6. From first question to a connected website in six steps
  7. How we build on Jobber, and the price

An app with an audience of one

Jobber's help center describes the Developer Center as a place for developers to "build, ship, and monetize their own apps" on Jobber's platform "via GraphQL." Most of what lives there is aimed at software companies building for many Jobber customers at once. A contractor's website is different: one company, one account, one job to do. Jobber anticipated that. Its help article says "you can build an app for just one client using the custom integration flow," and that it "wouldn't approve an app to be listed publicly for just one client."

So a website connection is an app nobody else will ever install. It still goes through Jobber's front door, with an OAuth screen your admin approves, which is a cleaner arrangement than pasting a key into a settings page. The rest of this page is what that means in practice, and where our knowledge stops. If you are earlier in the decision, the Jobber integration hub covers the plain-English version, and Jobber online booking shows what Jobber already does without any code.

What we read first-hand, and what only through search summaries

Honesty about sources matters on an API page, because an invented endpoint wastes a developer's week. Jobber's help center and its Zapier listing are readable, and we read them in November 2026. Jobber's developer site turns away automated readers, and we respect that, so anything from it reached us through search-engine summaries. We mark those below and confirm them in your account during scoping.

Read on Jobber's own pages

  • GraphQL API through the Developer Center
  • A custom integration flow for a single client, with no public listing
  • 2FA required on the developer account to submit an app for review
  • Testing needs a Jobber account separate from the Developer Center account
  • Jobber's API team helps troubleshoot basic issues

Seen only in search summaries

  • OAuth 2.0 with the same scopes for custom and public apps
  • Custom integrations limited to approved customers and developers
  • One POST endpoint at api.getjobber.com with a version header
  • Webhook signatures, the one-second response rule and at-least-once delivery
  • A query-cost budget plus a cap of 2,500 requests per 300 seconds
A black-and-white hand with a magnifying glass over a full-color padlock shaped like a garden shed, chalk braces and arrows, collage on slate gray
Half the documentation sits behind a polite locked door. We knock, take notes, and confirm the rest in your account.

Approval, OAuth and the admin's click

The access story runs in three steps, as best Jobber's public material shows it. First, approval: search summaries of Jobber's custom integration page say custom integrations are possible only for specific, approved Jobber customers and developers. Second, authorization: the app sends your admin to Jobber's authorize page, the admin approves the scopes, and Jobber returns tokens. Third, upkeep: if both the access and refresh tokens expire, an admin runs the authorization again.

Two practical consequences follow. Your account never shares a password or a long-lived key with us; it grants an app access that the admin can revoke. And because a draft app is blocked once it connects to more than five paying Jobber accounts without Jobber's approval, per the same summaries, a studio cannot quietly reuse one custom app across its clients. Each website gets its own, which is how it should be.

What the platform can do, judged by Jobber's own Zapier app

With the developer reference out of reach, the most reliable map of what Jobber accepts from outside is its own Zapier app, which runs on the same platform. Zapier lists eleven triggers, six actions and a client search. Where Zapier is silent, we say not confirmed rather than guess.

What a website can do in Jobber from outside, using Jobber's Zapier app as evidence, as of November 2026
Can a websiteAnswerEvidence
Find an existing clientYesFind Client and Find or Create Client
Create a client and tag itYesCreate Client and Add Tags to Client
File a request from a formYesCreate Request
Add the form's answers to that requestYesAdd Note to Request
Create a quote or a jobYesCreate Quote and Create Job
Hear about new requests, quotes, jobs and invoicesYesTriggers including New Request Created, Quote Approved, Job Closed and Invoice Updated
Read open booking timesNot confirmedJobber's own booking form does this; we found no public description of an API equivalent
Create an invoice or send a textNot confirmedNo Zapier action for either

One behavior is worth knowing before you design reports: per search summaries of Jobber's docs, a client created through an app gets the app's name in the Lead Source field. That is tidy for counting website clients and blunt for counting campaigns, which is why the Jobber marketing attribution guide keeps campaign detail in tags and notes. Form mapping is on the Jobber lead forms page.

Webhooks with a one-second deadline, and a budget instead of a wall

Search summaries of Jobber's webhook page describe a design worth respecting. Webhooks are set up per app. Topics such as client created, updated and destroyed live in an enum in the schema, and an app can only subscribe to topics whose objects it has scope to read. Jobber expects a response within one second and recommends doing the work asynchronously. Delivery is at least once, so duplicates happen, and each request carries an X-Jobber-Hmac-SHA256 header for checking authenticity. Our listener verifies the signature, records the event, answers immediately and processes it afterward, ignoring repeats.

  • Rate limits come in two layers, per the same summaries: a points budget per app and account, reported back in each response's cost and throttle status, and a ceiling of 2,500 requests per 300 seconds that returns HTTP 429 when crossed.
  • Larger figures for the points budget appear in some third-party notes; we could not confirm them on Jobber's own pages, so we do not quote them.
  • A website that files requests uses a sliver of either limit. A dashboard that syncs years of jobs does not, and has to page through data patiently.
  • Every request names an API version in a header, so an integration should be tested again when Jobber retires a version.

These are the mechanics that decide whether an integration survives a busy Monday. They are also the details that a plugin hides until it fails. For how a server-side build compares with plugins in general, our WordPress to Next.js page and the Housecall Pro API guide make useful companions.

From first question to a connected website in six steps

  1. 1

    Write down the jobs

    File requests from forms, tag clients by campaign, hear when a job closes. Each one maps to actions and webhook topics.

  2. 2

    Check whether Zapier is enough

    If Jobber's Zapier actions cover the list and your volume is low, a zap may be the cheaper answer. We say so when it is.

  3. 3

    Ask Jobber about approval

    Custom integrations need Jobber's approval for your account, per its developer docs. Settle that before budgeting a build.

  4. 4

    Create the app and a test account

    We create the custom app in the Developer Center and test against a Jobber account separate from it, never your live schedule.

  5. 5

    Authorize from your account

    Your admin approves the app on Jobber's own screen. We receive tokens, never a password.

  6. 6

    Confirm the schema, then build

    We read your account's API schema for the exact fields, write the field map, build, and test with labeled records.

How we build on Jobber, and the price

The method is our API integrations method on any platform: field map first, checks on the server, tokens kept off the browser, queued retries, idempotent writes so a retry never makes a second request, and a log written for the office. HomeService WebApp, a contractor command center whose API layer syncs jobs and estimates both ways with ServiceTitan, shows that discipline on a bigger platform; it does not touch Jobber.

API work on an existing site starts at $575, depending on complexity, quoted after a free review; a two-system connection typically goes live the same day. New sites start at $1,500 with one custom integration included, per our web design pricing, and 0% financing spreads the cost. Choosing software first? Our three-platform comparison covers the website side. Then ask for a free site audit or call (210) 346-0848.

Questions contractors ask about Jobber integration

GraphQL. Jobber's help center says its Developer Center lets developers build apps on its platform via GraphQL, and search summaries of its developer docs describe a single POST endpoint at api.getjobber.com with an OAuth bearer token and a header naming the API version. We found no separate REST API in Jobber's own material.

Per Jobber's developer docs, as summarized by search engines because the site blocks automated readers, custom integrations are possible only for specific, approved Jobber customers and developers. Ask Jobber about approval for your account before paying for a build. Zapier needs no such approval and covers many simple cases.

Not if it serves one company. Jobber's help center says you can build an app for just one client using the custom integration flow, and that Jobber would not approve an app to be listed publicly for a single client. A website connection stays private to your account.

Search summaries of Jobber's docs describe a query-cost points budget per app and account, shown in each response, plus a cap of 2,500 requests per 300 seconds that returns HTTP 429 when exceeded. We could not confirm the size of the points budget first-hand. A website filing requests stays far below both.

Jobber says you need a Jobber account completely separate from your Developer Center account, and third-party developers can sign up for a special testing account. We build and test against that first, then run a few labeled test requests in your live account before launch.

Kairos · AI chat and booking

Book the job while the visitor is still on the page

Kairos answers questions from your own services, hours and published prices, offers real open times and books the appointment in the chat, at 2 p.m. or 2 a.m. Today it books into a Google or Microsoft 365 calendar; booking straight into Jobber is rolling out. Clio, its dashboard, shows which pages and ads turned into bookings.

Try Kairos on a live demo
Free · No obligation

Find out if your Jobber integration needs code at all

Tell us what the website should send to Jobber and what it should hear back. We will say whether Zapier covers it, what approval is needed, and quote the rest.

Which of these sounds like you? (pick any)

Rather talk now? Call (210) 346-0848.

CallGet a quote