Documentation / v1.0

Use the data without flattening its meaning.

The platform turns fragmented public records into temporal business-change events. The first Florida import and public PostgreSQL data plane are live at the canonical production API.

01 / Release status

Production data plane live; payment activation remains.

The 21-table data model, PostGIS migration, replay-safe 521-event import, five-tool HTTP and MCP runtime, x402 discovery, machine manifests, and registry packages are implemented. https://api.businesschanges.dev is live with 521 imported events. x402 enforcement remains disabled until the recipient wallet and first reconciled settlement are approved.

02 / Discovery

Machine-readable before marketplace-specific.

03 / Query translation

The calling agent translates language.

The API does not invoke a model or accept an unbounded free-text query. The calling agent maps user intent into strict typed arguments; the database path is deterministic and auditable.

opening_leads

Early regulatory and location signals for establishments that may be preparing to open.

construction_activity

Permit, plan-review, build-out, expansion, and construction activity at business locations.

remodels

Signals that an existing establishment may be rebuilding, remodeling, or expanding.

operator_changes

Ownership, operator, brand, or tenant transitions tied to a location over time.

closure_risk

Authoritative status, license, inspection, or tenant-transition signals worth investigating.

compliance_activity

License, inspection, enforcement, and regulatory activity for a business or location.

Natural language

Find restaurant opening leads in Orlando observed this month.

{
  "jurisdictions": [
    "US-FL"
  ],
  "geography": {
    "cities": [
      "Orlando"
    ]
  },
  "intents": [
    "opening_leads"
  ],
  "industries": [
    "restaurant"
  ],
  "observedAfter": "2026-07-01T00:00:00.000Z",
  "projection": "compact",
  "limit": 25
}

04 / Tool sequence

Search compact, then buy detail selectively.

  1. Inspect free coverage when geography or absence matters.
  2. Call find_business_change_leads with projection: compact.
  3. Rank compact events in the calling agent.
  4. Expand only selected IDs with get_business_event_evidence.
  5. Save the observed-time cursor for recurring monitoring.
find_business_change_leads/v1/events/search$0.10 proposed
get_business_event_evidence/v1/events/evidence$0.02 proposed
get_location_timeline/v1/locations/timeline$0.03 proposed
get_changes_since/v1/changes$0.05 proposed
get_business_change_coverage/v1/coverageFree

05 / Data semantics

Time, identity, and absence stay separate.

  • effectiveAt is when the event happened.
  • firstObservedAt is when the platform discovered it.
  • An exact premises and its parent building are distinct match scopes.
  • Classification, entity resolution, and public status have separate confidence.
  • Regulatory activity never proves public opening or closure.
  • No-match is meaningful only inside the returned source coverage and window.
  • Superseded and retracted events remain visible in the delta feed.

06 / Quality gate

High-confidence signals by default.

Paid search and delta calls default to strong evidence and classification confidence of at least 0.75. The current commercial-default cohort contains 445 of 521 events. A 130-record stratified audit verified every official-source classification chain, with zero contradictions and zero public-opening overclaims.

Independent entity corroboration and external event corroboration are reported separately. Source fidelity does not silently become a claim that a location is open to the public.

07 / MCP

One stateless remote server.

The server uses Streamable HTTP, lists five typed read-only tools, validates structured output, and needs no sticky session. The same URL can be installed directly in Claude, Cursor, Codex, and generic MCP clients.

{
  "mcpServers": {
    "business-changes": {
      "type": "http",
      "url": "https://api.businesschanges.dev/mcp"
    }
  }
}

08 / HTTP

Strict POST JSON.

POST /v1/events/search
Content-Type: application/json

{
  "jurisdictions": [
    "US-FL"
  ],
  "geography": {
    "cities": [
      "Orlando"
    ]
  },
  "intents": [
    "opening_leads"
  ],
  "industries": [
    "restaurant"
  ],
  "observedAfter": "2026-07-01T00:00:00.000Z",
  "projection": "compact",
  "limit": 25
}

Unknown fields are rejected. Results include versioned metadata and coverage where needed. Keyset cursors are opaque and tied to either effective-time or observed-time ordering.

09 / Distribution

Canonical direct surface, many discovery layers.

The public MCP and OpenAPI endpoints remain the product. The official MCP Registry and Smithery index that endpoint; OpenAI and Cursor package it as a plugin; Claude accepts it directly; Monid and BlockRun are provider channels; x402 Bazaar advertises paid HTTP resources.

Registry presence is not success by itself. We measure name-blind tool selection, valid calls, evidence expansion, repeat delta usage, and paid conversion by channel.

10 / Errors

Correct, retry, or qualify.

400Invalid typed input or cursorCorrect arguments or clarify
402Payment requiredUse the advertised x402 flow
403Invalid MCP HostUse the canonical origin
404Location not resolvedCheck address and coverage
503Database unavailableRetry; never infer an empty dataset