API Documentation

Real-world data. Clean JSON. Fast.

REST API with JSON responses. All endpoints require an API key. Base URL: https://api.dialed.fyi/v1

Get API Access →

Authentication

All API requests require a Bearer token in the Authorization header. Your API key is available in the dashboard after signup.

# All requests
Authorization: Bearer dial_live_xxxxxxxxxxxx
Content-Type: application/json

Keys are prefixed with dial_live_ for production and dial_test_ for the sandbox environment. Test keys return realistic but synthetic data.

Rate Limits

Rate limits are applied per API key. Responses include headers indicating your current usage.

PlanRequests/minRequests/dayHistorical depth
Starter ($299)6010,00030 days
Pro ($599)300100,00090 days
EnterpriseUnlimitedUnlimitedAll history
# Rate limit response headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1744358460

Gas Prices

GET/v1/gas-prices

Returns the latest gas prices for stations in a given city, plus 30–90 days of history depending on your plan.

Query Parameters

ParameterTypeRequiredDescription
citystringYesCity slug (e.g. honolulu)
gradestringNoregular | mid | premium | diesel
limitintegerNoResults per page (default 20, max 100)
// GET /v1/gas-prices?city=honolulu
{
  "data": [
    {
      "business": "Costco Honolulu",
      "address": "525 Alakawa St",
      "called_at": "2026-04-11T06:02Z",
      "payload": {
        "regular": 4.29,
        "premium": 4.69,
        "diesel": 4.89
      }
    }
  ],
  "meta": { "total": 24, "updated": "2026-04-11T06:02Z" }
}

Wait Times

GET/v1/wait-times

Returns current wait times for urgent care centers and restaurants. Updated every 2 hours for medical, every 30 minutes for restaurants during peak hours.

ParameterTypeRequiredDescription
citystringYesCity slug
categorystringNourgent_care | restaurant
// GET /v1/wait-times?city=honolulu&category=urgent_care
{
  "business": "Straub Medical Center",
  "wait_minutes": 22,
  "walkins_open": true,
  "called_at": "2026-04-11T08:47Z"
}

Availability

GET/v1/availability

Returns appointment availability for medical providers, dental offices, and service businesses. Includes next available slot and whether new patients are accepted.

// GET /v1/availability?city=honolulu&category=dental
{
  "business": "Mahina Dental Group",
  "next_available": "2026-04-14",
  "new_patients": true,
  "insurance": ["HMSA", "Kaiser"]
}

Request Call

POST/v1/calls

Request an immediate call to a specific business. Pro and Enterprise plans only. Returns a call ID you can poll or subscribe to via webhook. Results typically available within 5 minutes.

// POST /v1/calls
// Request body
{
  "business_id": "biz_4f9a2c",
  "category": "gas_station",
  "priority": "high",
  "webhook_url": "https://your-endpoint.com/hook"
}

// 202 Accepted response
{
  "call_id": "c_9d3f1a2b",
  "status": "queued",
  "eta_seconds": 180
}

Errors

All errors return a JSON body with a machine-readable code and human-readable message.

HTTP StatusCodeDescription
400invalid_paramsMissing or malformed query parameters
401unauthorizedMissing or invalid API key
403plan_limitFeature not available on current plan
404not_foundBusiness or resource not found
429rate_limitedRate limit exceeded — check X-RateLimit headers
500internal_errorUnexpected server error — retry with backoff
503call_unavailableBusiness could not be reached for on-demand call