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
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
- An app with an audience of one
- What we read first-hand, and what only through search summaries
- Approval, OAuth and the admin's click
- What the platform can do, judged by Jobber's own Zapier app
- Webhooks with a one-second deadline, and a budget instead of a wall
- From first question to a connected website in six steps
- 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

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.
| Can a website | Answer | Evidence |
|---|---|---|
| Find an existing client | Yes | Find Client and Find or Create Client |
| Create a client and tag it | Yes | Create Client and Add Tags to Client |
| File a request from a form | Yes | Create Request |
| Add the form's answers to that request | Yes | Add Note to Request |
| Create a quote or a job | Yes | Create Quote and Create Job |
| Hear about new requests, quotes, jobs and invoices | Yes | Triggers including New Request Created, Quote Approved, Job Closed and Invoice Updated |
| Read open booking times | Not confirmed | Jobber's own booking form does this; we found no public description of an API equivalent |
| Create an invoice or send a text | Not confirmed | No 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
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
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
Ask Jobber about approval
Custom integrations need Jobber's approval for your account, per its developer docs. Settle that before budgeting a build.
- 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
Authorize from your account
Your admin approves the app on Jobber's own screen. We receive tokens, never a password.
- 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.
Keep reading
- Lead formsWebsite Requests Into Jobber Without the Copy and PasteSend website form leads into Jobber as requests: Jobber's own request form, Zapier's Create Request action, or a custom connection that keeps the ad source.
- Marketing attributionJobber Lead Source Tracking: UTM Tags, Click IDs and the Quote That Got ApprovedHow Jobber fills the lead source from forms, UTM tags, Google and CallRail, why the click ID needs your website, and how approved work reaches Google.
- The API, explainedThe Housecall Pro API, Endpoint by Endpoint, for Owners Who Will Never Read ItWhat the Housecall Pro API reads and writes, who can create a key, what the Max plan includes, how webhooks are signed, and what the public docs leave out.
- Online bookingJobber Online Booking on a Website: Assessments, One-Off Jobs and the Tracking CatchPut Jobber online booking on your site by embed, link or WordPress plugin, keep the lead source with UTM tags, and see when custom work pays off.
- Everything in Jobber IntegrationSee the section
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.