The API, explained
The Housecall Pro API, Endpoint by Endpoint, for Owners Who Will Never Read It
Housecall Pro's public API documentation runs to more than a hundred operations and schemas. Most owners need five facts from it, a developer needs fifty, and both need to know which plan they are on before anyone opens a code editor.
November 3, 2026 · 9 min read
The short answer
Housecall Pro's API is a REST API at api.housecallpro.com, available only on the Max plan. An Admin user generates an API key with Full access or Read-only permission. It reads and writes customers, leads, jobs, appointments, estimates, lead sources and tags, reads invoices and booking windows, and sends signed webhooks for job, estimate, lead, invoice and customer events.
On this page
- One line on the pricing page, and everything hanging from it
- Keys, tokens and the header that has to be exactly right
- Can the API do this? Twelve questions, straight answers
- Signed webhooks from forty-one moments in a job's life
- Gaps in the documentation, and how a careful build covers them
- Getting a key and scoping an API project in six steps
- How we build on it, and what it costs
One line on the pricing page, and everything hanging from it
Start with the gate. Housecall Pro's help center says "API is available only to Pros on a MAX plan," and its pricing page puts Max at $299 a month billed annually, $329 month to month, as of November 2026. Webhooks carry the same condition. If your shop is on Basic or Essentials, the rest of this page describes what you would gain by moving up, and our Housecall Pro integration hub describes what you can do without it.
The second fact is about people. Only Admin users can generate or delete keys, under My Apps, then All Apps, then API Key Management. Each key gets a name and one of two permissions: Full access or Read-only. Housecall Pro is blunt about the stakes, warning that a key is "essentially giving them access to _all_ of the data in your Housecall Pro account." It is equally blunt about support: it cannot build or maintain custom integrations created with API keys and does not give dedicated support on API requests. The developer you hire owns the result.
Keys, tokens and the header that has to be exactly right
Housecall Pro's authentication page describes two methods. A Pro, or a developer working for one, uses an API key. OAuth 2.0 is "available exclusively for official integration partners," the companies that build apps for many Housecall Pro customers. A website for one shop uses a key.
- Every request goes to
https://api.housecallpro.comwith the key in the Authorization header, written as the word Token followed by the key. The docs stress the exact format. - A multi-location account can use one key across locations:
GET /companylists the location IDs, and anX-Company-Idheader picks the location for each request. - A key reaches its own location and the locations beneath it, never a parent or a sibling, so a branch key cannot read headquarters.
- A key lives on a server. Put one in browser code and every visitor can read your whole customer list.

Can the API do this? Twelve questions, straight answers
These rows come from the operations listed in Housecall Pro's v1 reference as of November 2026. A yes means an operation exists; it does not mean every field you want is on it, so a real project checks the schema for each one.
| Question | Answer | Operation in the reference |
|---|---|---|
| Find an existing customer | Yes | Get Customers with a search query on name, email, mobile number and address |
| Create or update a customer | Yes | Create Customer, Update Customer, plus customer addresses |
| Create a lead from a web form | Yes | Create Lead, with a customer ID or new customer details |
| Turn a lead into a job or estimate | Yes | Convert Lead to Estimate or Job |
| Create a lead source | Yes | Create lead source, with a name |
| Create a job with a time | Yes | Create a Job, which requires a customer ID and address ID and accepts a schedule |
| Add or move an appointment | Yes | Create, Update and Delete appointment on a job |
| Show open booking times | Yes | Booking Windows, based on Online Booking settings and each employee's open slots |
| Create an estimate | Yes | Create an estimate, with options, line items and notes |
| Create an invoice | No | Invoices are read-only: Get Invoices, Get Invoice by UUID, Preview Invoice |
| Send a text message | No | No messaging operation is listed |
| Hold a time slot while someone books | No | No hold or reservation is described |
The reference also covers checklists, employees, job types, materials and price forms, service zones, routes, pipeline statuses, tags and an events feed. Those matter more to dashboards than to websites. For the booking side in practice, see Housecall Pro online booking; for forms, the lead forms guide.
Signed webhooks from forty-one moments in a job's life
Polling, asking the API every few minutes whether anything changed, is the fallback when a platform cannot call you. Housecall Pro can. An Admin turns on the Webhooks app under My Apps, enters the address that should receive events, saves, and Housecall Pro returns a signing secret. Then you choose events. The help article lists 41 of them.
Events a website uses
- lead.created, lead.converted and lead.lost, to learn what each form produced
- job.scheduled and job.appointment.rescheduled, to send fresh confirmations
- job.completed, to trigger a review request at the right moment
- job.paid and invoice.paid, to report revenue back to an ad platform
Events a dashboard uses
- estimate.sent and estimate.option.approval_status_changed, for close rate
- invoice.payment.failed and invoice.refund.succeeded, for cash flow
- customer.created and customer.updated, to keep a copy current
- job.canceled and job.deleted, so the numbers do not lie
Every event carries Api-Timestamp and Api-Signature headers. The webhooks page says to join the timestamp, a period and the JSON payload, compute an HMAC with SHA256 using the signing secret, and compare. We do that on every event and drop anything that fails. Each payload also names its event, its company ID and when it occurred. The docs do not describe a retry schedule, a timeout or event ordering, so our listener answers at once, ignores repeats and does the real work afterward.
Gaps in the documentation, and how a careful build covers them
Every API has a back room nobody photographs. Here is Housecall Pro's, as far as its public pages show in November 2026, and what we do about each gap.
- No published rate limit. We found no number in the help center or the reference. We queue writes, pace bulk reads and back off on any refusal rather than guess a ceiling.
- No sandbox described. Testing runs in your live account under a test lead source and labeled test customers that a named person cleans up the same day.
- No messaging endpoint. A website text-back goes through your own provider, with consent captured on the form, and Housecall Pro's own texting stays separate.
- Invoices are read-only. The website can show or report on invoices but not create them; billing stays in Housecall Pro.
The changelog shows an API under active work. In 2026 alone it added pipeline status updates (February 3), real service durations in Booking Windows (February 18), a lost date on leads (March 3), totals and conversion links on leads (August 4), time zones on schedules (August 20) and an approval timestamp on estimate options (August 26). An integration should be written to tolerate new fields, because they keep arriving.
Getting a key and scoping an API project in six steps
- 1
Confirm the plan
Check that the account is on Max, or decide whether the website work justifies moving up. Ask Housecall Pro about anything plan-related in writing.
- 2
Write down the jobs to be done
Create leads from forms, read booking windows, react to paid jobs. Each item becomes a list of operations and events.
- 3
Pick the permission
Full access if the site writes anything; Read-only for a reporting project. Ask for the narrower one whenever it will do.
- 4
Generate the key as an Admin
My Apps, All Apps, API Key Management, Generate API Key. Name it for the project so you know what to delete later.
- 5
Deliver it safely
Send the key through a password manager or a one-time secret link, never in plain email. It goes straight into server settings.
- 6
Agree the field map and the test plan
Which form field fills which Housecall Pro field, which lead sources exist, and how test records are labeled and removed.
How we build on it, and what it costs
Our API integrations method is the same on every platform: the field map comes before code, every lead is checked on the server, keys never reach the browser, failed sends are queued and retried, writes are idempotent so a retry never doubles a record, and the log is written for the office, not the developer. On Housecall Pro that means searching customers before creating them, verifying every webhook signature, and storing Housecall Pro IDs beside the website's own records.
The same discipline runs through HomeService WebApp, a contractor command center whose API layer syncs jobs and estimates both ways with ServiceTitan; it shows the work, though it does not touch Housecall Pro. API work on an existing site starts at $575, depending on complexity, after a free review, and a two-system connection typically goes live the same day. A new site with one custom integration included starts at $1,500 on our pricing page, with 0% financing and hosting and maintenance from $55 a month.
If you are comparing platforms first, our ServiceTitan, Housecall Pro and Jobber comparison covers the website side of all three, and the Jobber API guide is this page's counterpart. When the question is attribution, read the Housecall Pro marketing attribution guide. Or start with a free site audit and a call to (210) 346-0848.
Questions contractors ask about Housecall Pro integration
Yes. Housecall Pro publishes its v1 API reference at docs.housecallpro.com, with the base address api.housecallpro.com. Access requires the Max plan, per its help center, and an API key generated by an Admin user. OAuth 2.0 is reserved for official integration partners; a single company's website uses a key.
An Admin user signs in, opens My Apps, then All Apps, finds API Key Management, clicks Generate API Key, names the key, chooses Full access or Read-only, and copies it for the developer. Deleting the key later breaks any integration using it, which is also how you revoke access.
We did not find a published number, as of November 2026, in Housecall Pro's help center or its API reference. A careful integration does not need one to behave: it queues writes, paces large reads and backs off when the API refuses a request. A website creating a few leads a day will not come near any sensible limit.
Each event includes an Api-Timestamp header and an Api-Signature header. Join the timestamp, a period and the JSON payload, compute an HMAC with SHA256 using the signing secret Housecall Pro gave you when you saved the webhook address, and compare the result with Api-Signature. Reject anything that does not match.
Yes, for multi-location accounts. Housecall Pro's docs say an Admin's key reaches its own location and every location beneath it. You list locations with GET /company and choose one per request with the X-Company-Id header. A sub-location's key cannot reach its parent or its siblings.
Only in a limited way. Housecall Pro's help article says it cannot provide dedicated support on API requests and cannot build or maintain custom integrations created with API keys. Its docs give an API email for authentication problems. Plan on your developer owning the integration end to end.
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 Housecall Pro is rolling out. Clio, its dashboard, shows which pages and ads turned into bookings.
Keep reading
- Lead formsHousecall Pro Lead Forms That Ask Less and File MoreGet website requests into Housecall Pro as leads: the native Lead Form, the Zapier limit, and a custom form on Max that matches customers, keeps the source.
- Marketing attributionHousecall Pro Lead Source Tracking From the Ad Click to the Paid InvoiceHow Housecall Pro records lead sources, where the trail goes cold, and how a website carries the ad click into each lead and reports paid jobs to Google Ads.
- Online bookingHousecall Pro Online Booking on Your Website: Keep the Modal or Build the FlowHousecall Pro's Book online button against a custom booking step that reads its open windows: what each does, when each wins, and what the build costs.
- Everything in Housecall Pro IntegrationSee the section
Scope your Housecall Pro API project before you pay for it
Tell us what the website should send to or read from Housecall Pro. We will list the operations involved, flag any gaps, and send a fixed quote.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.