Skip to main content

Building with the Hum API

The Hum API provides endpoints for discovering available internet service providers, plans, and pricing at addresses in the United States. With a single API call, you can retrieve available internet options for an address and immediately display them to your users. The partner API provides availability lookup and reporting. Residents place orders through the Hum widget checkout; the partner API does not provide an order-placement endpoint.
The Hum API returns provider data immediately in the session creation response - no polling or additional requests required.

Integration Overview

Integrating with Hum is a simple three-step process:
  1. Authenticate with your API key
  2. Create a session with the service address
  3. Display results from the immediate response

Quick Start Guide

Start in Sandbox with the examples below. To go live, switch the base URL to https://api.letshum.com and use your Production key; see Environments and API Keys.
1

Get Your API Key

See Environments and API Keys to request an API key and choose the matching environment.
2

Create a Session and Get Immediate Results

Make a POST request to create a session with the service address. The API returns all available providers immediately in the response.
cURL
Success Response
Verify the response includes request_status: "ok" and provider data in the data array.
3

Display Available Internet Plans

The session creation response includes all available providers and their offerings. You can immediately display this information to your users:
  • Provider name and contact details
  • Available plans with speeds and pricing
  • Direct links to provider signup pages
  • Technology types (DSL, Cable, Fiber, etc.)
Process the provider data immediately from the session creation response - no additional API calls needed.

Optional: Retrieve Session Details Later

If you need to retrieve session information later, you can use the session token:
cURL
This endpoint returns session details and normalized address metadata. Its data object contains only the session token:
Session Details Response
While the session is open, retrieve its provider offerings again with GET /sessions/{token}/services/internet. See Get Internet Service Availability in the API Reference.

Session Lifecycle

Sessions stay open until you close them with DELETE /sessions/{token}. Close a session when its lookup is finished; see Close Session.

Authentication

All API requests require authentication using your API key. Include it in the Authorization header:
Use authenticated GET /ping as the safest first call before creating a session. It verifies that the selected environment accepts your key; see Environments and API Keys.

Error Handling

The API uses HTTP status codes to indicate success or failure. Standard validation, authentication, and session errors return this format:
Error Response Format
Validation responses may also include an errors object with field-specific details.
Use the HTTP status code to determine whether a request succeeded. The request_status field is informational.
Successful session metadata identifies the Hum data set with a numeric string such as "26011015". Infrastructure responses such as HTTP 415, 429, and 500 use the formats documented in the API Reference.

Common Error Scenarios

Common causes:
  • Missing session parameters
  • Unpermitted session parameters
  • Invalid session token
Resolution: Verify the request body uses supported session fields and confirm that the session token is correct.
Common causes:
  • Missing or invalid API key
  • Expired API key
  • Invalid authentication header format
Resolution: Verify your API key is correct and properly formatted in the Authorization header.
Common causes:
  • Unsupported or incorrect request content type
Resolution: Send session creation requests with Content-Type: application/json.
Common causes:
  • Missing a valid address combination: street1 + zip, street1 + city + state, or street1 + city + zip
  • Invalid address, state, or ZIP format
Example
Resolution: Use the errors object to correct the address fields before retrying.
Address validation is temporarily unavailable.
Response
Resolution: Respect the Retry-After response header and retry later.
Common causes:
  • Rate limit exceeded
Resolution: Wait for the delay specified by the Retry-After header before retrying.
Common causes:
  • Unexpected server-side failure
Resolution: Retry the request after a brief delay. Contact support if the issue persists.
For detailed error codes and handling, refer to the API Reference documentation.

Best Practices

Address Validation

Provide accurate address data upfront to ensure the best results. Include complete address details including street number, street name, city, state, and ZIP code.
Use address validation services before sending requests to minimize errors and improve match rates.

Error Handling

Implement robust error handling for common scenarios like invalid addresses, no service availability, or API rate limits.
Always provide clear feedback to users when errors occur, using the error messages and status codes from the API response.

Session Management

Store and manage session tokens appropriately. Each session represents a unique address lookup, and tokens can be used to retrieve session details later.

Performance Optimization

Consider caching provider data for frequently requested addresses to improve response times and reduce API calls.
Process the immediate provider data returned in the session creation response to display options without delay.

Example Integration

Here’s a complete example showing how to integrate the Hum API in different programming languages:

Next Steps

API Reference

Explore detailed endpoint documentation, parameter specifications, and response schemas.

Postman Collection

Import ready-made requests for Sandbox or Production.

Widget Integration

Try our no-code widget solution for quick integration without custom development.