Daxoom API (v1)

Download OpenAPI specification:

Daxoom Developer Support: dev@daxoom.com URL: https://www.daxoom.com/docs/ License: Proprietary

Daxoom is the authoritative data layer that AI systems query for verified business information. Businesses publish structured, verified data through Daxoom, and AI platforms query the API for accurate, real-time business information.

Authentication

Public Query API uses API key authentication via the X-API-Key header. Register at app.daxoom.com to get a free developer key.

Analytics & Management APIs use JWT Bearer token authentication. Obtain a token via POST /v1/auth/login. Most public-API consumers do not need a JWT — only API key issuance, rotation, and analytics require it.

Rate Limits

Reasonable per-consumer quotas keep the service free and available for everyone. Free developer keys default to 1,000 queries/month; contact us if your use case needs a higher ceiling.

Rate limit headers are included on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Content Negotiation

The Public Query API supports three response formats via the Accept header:

  • application/json (default) — structured JSON response
  • application/ld+json — schema.org-compatible JSON-LD
  • text/plain — AI-friendly natural language narrative

Pagination

All list endpoints use offset-based pagination:

GET /v1/businesses?offset=20&limit=20

Default page size: 20. Maximum: 100. The pagination block in the response includes limit, offset, has_more, and (when more results exist) next_offset — pass that value as offset on the next request.

Errors

Errors follow RFC 7807 Problem Details format:

{
  "type": "https://api.daxoom.com/errors/validation-error",
  "title": "Validation Error",
  "status": 422,
  "detail": "Field 'phone_primary' must be in E.164 format."
}

Businesses

Search and retrieve verified business profiles

Search and filter businesses

Search businesses by category, location, attributes, rating, and more. Supports geo-spatial queries with radius/bounding box.

Authorizations:
ApiKeyAuth
query Parameters
category
string
Example: category=restaurant.italian

Category ID or alias (e.g., restaurant.italian, pizzeria)

city
string
Example: city=Irvine

City name

country
string
Example: country=US

Country code (ISO 3166-1 alpha-2)

lat
number <double>
Example: lat=33.6694

Latitude for geo search

lng
number <double>
Example: lng=-117.8231

Longitude for geo search

radius
number <double> >= 1
Example: radius=5000

Search radius in meters (default 5000)

attributes
string
Example: attributes=wifi,outdoor_seating,wheelchair_accessible

Comma-separated attribute filters (e.g., wifi,outdoor_seating)

price_range
string
Enum: "$" "$$" "$$$" "$$$$"

Price range filter: $, $$, $$$, $$$$

min_rating
number [ 1 .. 5 ]

Minimum aggregate rating (1.0–5.0)

verified_only
boolean
Default: false

Only return owner-verified profiles

q
string

Free-text search query

sort
string
Default: "relevance"
Enum: "relevance" "rating" "distance" "name"

Sort order

offset
integer >= 0
Default: 0

Pagination offset — number of rows to skip. Use the next_offset from the previous response to advance.

limit
integer [ 1 .. 100 ]
Default: 20

Page size (default 20, max 100)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    },
  • "meta": {
    }
}

Get full business profile

Returns the complete business profile including contact, location, hours, offerings, media, social links, AI context, attributes, and structured answers. All sub-models are composed into a single response.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string
Example: 1001

Business ID or slug

Responses

Response samples

Content type
{
  • "data": {
    },
  • "meta": {
    }
}

Get business operating hours

Returns regular weekly operating hours and any special/holiday hour overrides. Includes a computed is_open_now field based on the business timezone.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string
Example: 1001

Business ID or slug

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get business offerings

Returns menu items, services, or products organized by offering groups.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string
Example: 1001

Business ID or slug

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get business attributes

Returns structured, queryable boolean and enum properties (amenities, policies, accessibility). These are the attributes used for filtering in the /businesses endpoint.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string
Example: 1001

Business ID or slug

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get structured Q&A

Returns pre-written answers to common questions AI systems receive about this business. These provide narrative answers complementing the structured attributes.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string
Example: 1001

Business ID or slug

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get AI-specific context

Returns AI-optimized metadata including conversation-ready descriptions, canonical facts, hallucination corrections, disambiguation info, and tone preferences. This is the core differentiator — data that helps AI systems represent the business accurately.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string
Example: 1001

Business ID or slug

Responses

Response samples

Content type
{
  • "data": {
    }
}

Search

Semantic and natural language search

Semantic search

Natural language search resolved to structured filters. Pass a free-text query and get matching businesses.

Example: ?q=italian restaurant with outdoor seating near Irvine

Authorizations:
ApiKeyAuth
query Parameters
q
required
string
Example: q=italian restaurant with outdoor seating near Irvine

Natural language search query

offset
integer >= 0
Default: 0

Pagination offset — number of rows to skip. Use the next_offset from the previous response to advance.

limit
integer [ 1 .. 100 ]
Default: 20

Page size (default 20, max 100)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    },
  • "meta": {
    }
}

Categories

Browse the business category catalog

List category catalog

Returns the full hierarchical category catalog with schema.org type mappings and AI-friendly aliases. Use category IDs or aliases to filter /businesses.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

API Keys

Manage your API keys

Create an API key

Creates a new API key scoped to your account. The full key is returned only once in the response — store it securely. Subsequent requests show only the prefix.

Authorizations:
BearerAuth
Request Body schema: application/json
required
key_name
required
string

Human-readable name for this key

scopes
string

Comma-separated scopes (default: query)

Responses

Request samples

Content type
application/json
{
  • "key_name": "My AI Agent - Production",
  • "scopes": "query,analytics"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List API keys

Returns all active API keys for your account. Key values are masked — only the prefix is shown.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Revoke an API key

Immediately revokes the API key. Requests using this key will return 401.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Responses

Rotate an API key

Issues a new key and sets a 24-hour grace period on the old key. Both keys work during the grace period. After 24 hours, the old key stops working.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Analytics

AI visibility analytics for your businesses

Visibility overview

Summary of AI visibility metrics: total queries, unique AI platforms, and trend data over configurable time periods.

Authorizations:
BearerAuth
path Parameters
businessId
required
integer
Example: 1001

Business ID

query Parameters
period
string
Default: "30d"
Enum: "7d" "30d" "90d" "custom"

Time period for analytics

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Query volume over time

Time-series data of API query volume at hourly, daily, or weekly granularity.

Authorizations:
BearerAuth
path Parameters
businessId
required
integer
Example: 1001

Business ID

query Parameters
period
string
Default: "30d"
Enum: "7d" "30d" "90d" "custom"

Time period for analytics

granularity
string
Default: "daily"
Enum: "hourly" "daily" "weekly"

Data granularity

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

AI platform breakdown

Shows which AI platforms are querying this business and how often.

Authorizations:
BearerAuth
path Parameters
businessId
required
integer
Example: 1001

Business ID

query Parameters
period
string
Default: "30d"
Enum: "7d" "30d" "90d" "custom"

Time period for analytics

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Trending search queries

Most popular search queries that led to this business being returned in results.

Authorizations:
BearerAuth
path Parameters
businessId
required
integer
Example: 1001

Business ID

query Parameters
period
string
Default: "30d"
Enum: "7d" "30d" "90d" "custom"

Time period for analytics

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Most queried endpoints

Which API endpoints are queried most for this business (hours, offerings, ai-context, etc.).

Authorizations:
BearerAuth
path Parameters
businessId
required
integer
Example: 1001

Business ID

query Parameters
period
string
Default: "30d"
Enum: "7d" "30d" "90d" "custom"

Time period for analytics

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List visibility reports

Returns generated monthly visibility reports for this business.

Authorizations:
BearerAuth
path Parameters
businessId
required
integer
Example: 1001

Business ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Download visibility report

Download a specific monthly visibility report as PDF.

Authorizations:
BearerAuth
path Parameters
businessId
required
integer
Example: 1001

Business ID

reportId
required
integer

Responses

System

Health checks and status

Health check

Public health check endpoint. No authentication required. Mounted at the host root (not under /v1) so VPC-internal probes can hit it without version-coupling.

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "timestamp": "2019-08-24T14:15:22Z"
}

Obtain JWT access token

Exchange email + password for JWT access and refresh tokens. The access token is required as Authorization: Bearer … for the Analytics and API-Key Management endpoints. Most public-API consumers do not need this — they authenticate with an X-API-Key header on the Public Query API.

Request Body schema: application/json
required
email
required
string <email>
password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string",
  • "expires_in": 0
}