Skip to main content
← Back to home

Public data API

Global Connect Hub publishes its business records as plain JSON so research systems, search engines and AI agents can retrieve, verify, trace and cite them. Every value arrives with the source that supplied it, when it was fetched and when it was last re-checked.

What GCH is and is not

GCH is not an official register and does not restate register findings as its own. It is a directory that keeps the provenance of each fact it holds, at the level of the individual record and the individual field.

Most records originate from public web aggregation rather than an official register, and they say so in the provenance.record_source_class field. Facts GCH worked out itself — industry classification, geocoded labels, market mapping — sit under derived and are never presented as source statements.

Live coverage numbers, the licence and current limitations are in /api/v1/meta.

Endpoints

EndpointWhat it returns
GET /api/v1/businesses
q, country, industry, has_website, has_registration, listed, updated_since, limit (max 100), offset
Search and filter business records. List responses leave out named-individual contact details.
GET /api/v1/businesses/{id}One record by UUID or slug, with every field's source, retrieval date, verification date and confidence.
GET /api/v1/businesses/{id}/sourcesThe evidence behind each claim, including fields where sources disagree.
GET /api/v1/businesses/{id}/regulatoryRegister identifiers and cached official-register lookups, each with its own timestamp.
GET /api/v1/updates
since (ISO 8601), limit (max 200), offset
Change feed, newest first, with previous and current values.
GET /api/v1/industriesIndustry facets with counts.
GET /api/v1/locationsLocation facets with counts.
GET /api/v1/metaCoverage, confidence model, limits, licence and known limitations.
GET /api/v1/openapi.jsonOpenAPI 3.1 description of everything above.

Example

curl https://connecthubglobal.com/api/v1/businesses?q=bank&limit=1

{
  "record_id": "feeaa6d7-512c-4717-b42b-bdeea9fbdc09",
  "canonical_url": "https://connecthubglobal.com/v/access-bank-angola-s-a",
  "identity": { "name": "Access Bank Angola S.A.", "lei": "…", "registration_number": "…" },
  "derived": { "industry_category": "Finance", "note": "GCH classification, not an official statement." },
  "provenance": {
    "record_source": "registry:gleif",
    "record_source_class": "official_register",
    "retrieved_at": "2026-05-02T09:14:00Z",
    "last_updated": "2026-08-30T11:02:00Z"
  },
  "field_provenance": [
    {
      "field": "lei",
      "value": "…",
      "confidence": "high",
      "disputed": false,
      "sources": [
        { "source": "gleif", "method": "official_register", "source_url": "https://search.gleif.org/…",
          "retrieved_at": "2026-05-02T09:14:00Z", "last_verified": "2026-05-02T09:14:00Z" }
      ]
    }
  ],
  "uncertain_fields": ["contact_phone"]
}

Confidence

Confidence is computed from real signals only — the class of source, whether sources agree and how recently the fact was verified. It is never assigned by guesswork.

high
Official register, verified within the last 12 months.
medium
Older official-register data, recent first-party data, or two agreeing aggregated sources.
low
A single aggregated source, ageing first-party data, or a GCH-derived classification.
disputed
Sources disagree. Both values are returned with their own timestamps; GCH does not pick a winner.
unverified
No source claim is recorded for this field yet.

Staying current

Poll /api/v1/updates?since=<your last sync> to find out what changed. Each entry names the record, the fields that moved, their previous and current values, when the change happened and the canonical URL to cite. Responses carry ETag headers, so conditional requests cost nothing when nothing has changed.

Rate limits and access

  • 120 requests per minute per IP, best-effort, with the count returned in X-RateLimit-* headers.
  • No key is needed for public records. Legitimate crawlers are welcome and are not blocked.
  • Cross-origin requests are allowed; every endpoint answers OPTIONS.
  • Version 1 stays as documented. Breaking changes will appear under /api/v2/.
  • Need sustained higher volume? Get in touch and we'll arrange an authenticated allowance.

Personal data

Business contact details for named individuals are omitted from list responses and returned only on a single-record request, matching how they appear on the public pages. See the privacy policy for removal requests.

Citing a record

Every record has a stable record_id and a permanent canonical_url. Cite that URL, and follow source_url through to the originating source when the fact matters. Agents can also connect over MCP at https://connecthubglobal.com/mcp/public — see the AI & agents guide.