Supergood | Housecall Pro API

Supergood | Housecall Pro API

Programmatically access Housecall Pro field service data, schedules, and billing with a stable REST API. Supergood builds and operates production-grade, unofficial Housecall Pro integrations so your team can automate field and office workflows without heavy custom engineering.

Plain English: Housecall Pro is field service management software used by home service contractors (HVAC, plumbing, electrical, cleaning, pest control) to run their businesses end-to-end. An unofficial API lets you programmatically pull customer records, service locations, jobs and schedules, estimates, invoices, payments, pricebook items, memberships, and attachments—and push new jobs, updates, and financials back into Housecall Pro.

For a tech company integrating with Housecall Pro, this means you can ingest real-time job and customer data to power dispatch dashboards, sync invoices and payments to accounting, automate quote creation and scheduling from your product, or enrich your platform with photos, notes, and technician time entries. You can also push new jobs from lead capture, create invoices from your pricebook, collect payments, and keep stakeholder systems (CRM, ERP, analytics, customer comms) in lockstep.

What is Housecall Pro?

Housecall Pro (https://www.housecallpro.com/) is a cloud platform for home and field service businesses that centralizes scheduling, dispatch, customer management, job execution, and payments. Teams use Housecall Pro to book appointments, manage pricebooks and estimates, send invoices, process payments, track memberships/service plans, communicate with customers, capture field photos and notes, and reconcile work across office and field.

Core product areas include:

  • Scheduling & Dispatch (e.g., calendar, assignment, arrival windows, routeing)
  • CRM & Customer Management (e.g., customer profiles, service locations, tags)
  • Estimates & Invoicing (e.g., pricebook, line items, taxes, discounts)
  • Payments & Financing (e.g., card capture, ACH, tips, deposits)
  • Service Plans/Memberships (e.g., recurring visits, benefits, renewals)
  • Communication & Automations (e.g., email/SMS, reminders, review requests)
  • Time Tracking & Team Management (e.g., technician time, roles, permissions)
  • Attachments & Field Artifacts (e.g., photos, documents, signatures)

Common data entities:

  • Customers and Service Locations
  • Jobs/Work Orders and Statuses
  • Estimates, Invoices, Line Items, Taxes, Discounts
  • Payments (card, cash, check, ACH) and Fees
  • Pricebook Items (services, parts, bundles)
  • Employees/Technicians and Schedules
  • Memberships/Service Plans
  • Notes, Photos, Attachments, Messages

The Housecall Pro Integration Challenge

Field service teams rely on Housecall Pro daily, but turning portal-based workflows into API-driven automation is non-trivial:

  • Calendar-first UX: Scheduling, dispatch, and arrival windows are optimized for the web/mobile apps; data is spread across views and exports
  • Role-based permissions: Office vs. field roles, technician visibility, and customer privacy must be respected programmatically
  • Payments and PCI constraints: Tokenized card flows, refunds, and reconciliation require careful handling
  • Pricebook complexity: Services, parts, bundles, and taxes/discounts vary by market and membership benefits
  • Membership cycles: Recurring visits, renewals, and entitlements create time-based logic for automation
  • Attachments and media: Photos, documents, and signatures need reliable upload/download flows

How Supergood Creates Housecall Pro APIs

Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Housecall Pro tenant.

  • Handles username/password and 2FA/MFA when enabled; operates behind SSO/OAuth where applicable
  • Maintains session continuity with automated refresh and change detection
  • Normalizes responses so you can integrate once and rely on consistent objects across modules
  • Aligns with customer entitlements and role-based permissions to ensure compliant access

Use Cases

Customer and Job Data Sync

  • Mirror customers, service locations, and jobs into your internal systems
  • Keep addresses, contact info, and tags current for analytics and routing
  • Normalize job statuses and timestamps for multi-tenant operations

Scheduling & Dispatch Automation

  • Create jobs automatically from lead capture or IoT alerts
  • Assign technicians based on skills, location, and availability
  • Update arrival windows and send customer notifications programmatically

Estimates, Invoices & Payments

  • Generate quotes from your pricebook, apply taxes/discounts, and convert to invoices
  • Push invoices and payments to accounting (e.g., QuickBooks) for reconciliation
  • Record card/ACH/cash/check payments and manage refunds or deposits

Service Plans & Pricebook Management

  • Sync memberships, benefits, and recurring visit schedules
  • Manage pricebook items, bundles, and market-specific pricing
  • Apply member-only discounts and upsells consistently

Available Endpoints

Authentication

POST /sessions: Establish a session using credentials. Supergood manages MFA/2FA and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": { "type": "totp", "code": "123456" }
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_5b129d",
    "name": "Dispatcher",
    "entitlements": ["customers", "jobs", "scheduling", "invoices", "payments", "pricebook", "memberships"]
  }
}

POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.

Customers

GET /customers: List customers with filters and summary details.

Query parameters

  • search: string (name, email, phone)
  • tag: string
  • hasMembership: boolean
  • updatedFrom, updatedTo: ISO 8601 timestamps
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "customerId": "cus_92af10",
      "name": "Jamie Rivera",
      "email": "[email protected]",
      "phone": "+1-303-555-0187",
      "billingAddress": {
        "line1": "1440 Platte St",
        "city": "Denver",
        "region": "CO",
        "postalCode": "80202",
        "country": "US"
      },
      "defaultServiceAddress": {
        "line1": "1440 Platte St",
        "city": "Denver",
        "region": "CO",
        "postalCode": "80202",
        "country": "US"
      },
      "tags": ["VIP", "HVAC"],
      "membershipStatus": "active",
      "createdAt": "2026-01-12T15:21:00Z",
      "updatedAt": "2026-01-20T09:33:12Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Jobs

POST /jobs: Create a new job/work order with scheduling and assignment.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/jobs \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "customerId": "cus_92af10",
    "serviceAddress": {
      "line1": "1440 Platte St",
      "city": "Denver",
      "region": "CO",
      "postalCode": "80202",
      "country": "US"
    },
    "jobType": "service",
    "description": "No heat - diagnose and repair furnace",
    "scheduledStart": "2026-01-25T14:00:00Z",
    "durationMinutes": 90,
    "arrivalWindow": { "start": "2026-01-25T13:30:00Z", "end": "2026-01-25T15:30:00Z" },
    "assignedTechIds": ["tech_41b902"],
    "priority": "high",
    "pricebookItems": [
      { "pricebookItemId": "pb_thermostat_diag", "quantity": 1, "unitPrice": 89.00 }
    ],
    "attachments": [
      { "fileName": "thermostat.jpg", "uploadToken": "upl_98dc3a" }
    ],
    "notes": "Customer available after 1pm. Dog on site."
  }'

Example response

{
  "jobId": "job_7c42e1",
  "jobNumber": "J-2026-00128",
  "status": "scheduled",
  "scheduledStart": "2026-01-25T14:00:00Z",
  "assignedTechIds": ["tech_41b902"],
  "createdAt": "2026-01-21T09:12:33Z"
}

Invoices

POST /jobs/{jobId}/invoices: Create an invoice against a job with line items, taxes, and optional delivery.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/jobs/job_7c42e1/invoices \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "referenceNumber": "INV-2026-00057",
    "lineItems": [
      { "description": "Diagnostic Fee", "pricebookItemId": "pb_diag_fee", "quantity": 1, "unitPrice": 89.00, "taxPercent": 7.5 },
      { "description": "Igniter Replacement", "pricebookItemId": "pb_igniter", "quantity": 1, "unitPrice": 129.00, "taxPercent": 7.5 }
    ],
    "discountAmount": 10.00,
    "dueDate": "2026-02-05",
    "sendToCustomer": true,
    "deliveryMethod": "email"
  }'

Example response

{
  "invoiceId": "inv_51af80",
  "status": "sent",
  "jobId": "job_7c42e1",
  "totals": {
    "subtotal": 218.00,
    "discount": 10.00,
    "tax": 15.60,
    "total": 223.60
  },
  "createdAt": "2026-01-21T11:20:44Z"
}

Payments

POST /invoices/{invoiceId}/payments: Record a payment for an invoice (card, cash, check, ACH).

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/invoices/inv_51af80/payments \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "amount": 223.60,
    "currency": "USD",
    "method": "card",
    "cardToken": "tok_8ab92e",
    "tipAmount": 20.00,
    "processedAt": "2026-01-21T12:05:00Z",
    "notes": "Customer paid on site"
  }'

Example response

{
  "paymentId": "pay_9f2a71",
  "status": "captured",
  "invoiceId": "inv_51af80",
  "amount": 223.60,
  "fee": 6.25,
  "depositedAt": "2026-01-23T08:00:00Z"
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA/2FA and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination across modules
  • Rate limits: Tuned for enterprise throughput while honoring customer entitlements and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of customers, jobs, invoices, and payments
  • Security: Encrypted transport, scoped tokens, and audit logging; respects Housecall Pro role-based permissions
  • Webhooks: Optional asynchronous delivery for long-running workflows (e.g., job status changes, invoice payments)

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume customer/job sync and billing operations
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your modules, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened Housecall Pro adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as Housecall Pro evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which Housecall Pro modules can this integration cover?

Supergood supports workflows across commonly used modules such as Scheduling & Dispatch, CRM/Customers, Estimates & Invoices, Payments, Pricebook, and Memberships/Service Plans—subject to your licensing and entitlements. We scope coverage during integration assessment.

Q: How are MFA and SSO handled for automation?

We support username/password + MFA/2FA and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.

Q: Can you sync invoices and payments to our accounting system?

Yes. We can normalize invoices and payments to match your ERP schema (e.g., QuickBooks line items, taxes, discounts) and deliver updates via webhooks or polling while complying with rate and permission constraints.

Q: Are attachments supported for jobs and invoices?

Yes. We support downloading artifacts and uploading attachments via signed uploads, with checksum validation and time-limited URLs.



Ready to automate your Housecall Pro workflows?

Supergood can have your Housecall Pro integration live in days with no ongoing engineering maintenance.

Get Started →

Read more