Skip to main content
Business DNA · PreviewPowered by KwikChex

Developers · AI builders

Business DNA for developers and AI

One sourced, owner-approved record per business. Every fact carries its own status — Authenticated by KwikChex or Company statement — with its date and source.

Each item below is labelled Available now, Coming soon or Early access, register interest. Only items marked available now exist today. See also AI access.

Ideas

What you can build

  • Trust panels and checkout reassurance

    Show the individual facts a shopper cares about — legal identity, where the business operates from — each with its own status, date and source.

  • CRM and lead enrichment

    Fill company fields from released facts and keep each fact’s status alongside it, so a company statement is never stored as if it were authenticated.

  • AI assistants that cite facts properly

    Quote a fact with its status and link back to the canonical profile instead of paraphrasing a whole company.

  • Look-alike domain warnings

    Compare a visited domain with the domain a business has confirmed it controls, and show a neutral notice when they differ.

  • Supplier checks

    List which facts are authenticated by KwikChex and which are company statements, fact by fact.

Everything is per fact. There is no company-wide status to display.

Available now

Public JSON record

Every published profile has a public JSON record at GET /api/business-dna/{slug}. A real request and a trimmed real response from SynaBot’s published profile:

curl https://behind-the-business.lovable.app/api/business-dna/synabot
{
  "name": "SynaBot Inc",
  "slug": "synabot",
  "schemaVersion": "1.0.0",
  "revision": 5,
  "publishedAt": "2026-11-05T09:36:51.687858+00:00",
  "facts": [
    {
      "key": "name",
      "label": "Company / trading name",
      "value": "SynaBot Inc",
      "domain": "A",
      "domainLabel": "Identity and geography",
      "status": "authenticated",
      "lastAuthenticatedAt": "2026-11-04T17:57:07.536881+00:00",
      "evidence": [
        {
          "url": "https://icis.corp.delaware.gov/ecorp/entitysearch/NameSearch.aspx",
          "title": "SynaBot Profile",
          "issuer": "Delaware",
          "checkedAt": null
        }
      ],
      "asOf": {
        "basis": "checked",
        "date": "2026-11-04T17:57:07.536881+00:00",
        "text": "checked 4 November 2026"
      }
    },
    {
      "key": "values",
      "label": "Values",
      "value": "Independence: Mark owns SynaBot outright and takes no vendor money for placements.",
      "domain": "B",
      "domainLabel": "Mission, purpose and values",
      "status": "company_stated",
      "lastAuthenticatedAt": null,
      "evidence": [],
      "asOf": {
        "basis": "stated",
        "date": "2026-11-05T09:36:51.687858+00:00",
        "text": "stated as of 5 November 2026"
      }
    }
  ],
  "media": {
    "featuredImage": {
      "url": "https://behind-the-business.lovable.app/api/profile-media/7722f9cf-cf96-4079-9e60-bd9679b1ce7d.png",
      "kind": "logo",
      "label": "Logo from synabot.ai"
    }
  },
  "operatingBase": {
    "type": "home",
    "displayText": "Home-based business · operates from near Bradenton, Florida · exact address not published",
    "town": "Bradenton",
    "region": "Florida",
    "country": "USA",
    "lat": 27.5,
    "lng": -82.57,
    "precision": "town"
  },
  "people": [
    {
      "name": "Mark Barclay",
      "role": "Founder & Editor"
    }
  ],
  "websiteDomainControl": {
    "status": "not_on_record",
    "note": "No website domain control confirmation is on this record."
  },
  "questions": [
    {
      "id": "registered",
      "question": "Is SynaBot Inc a registered company?",
      "answer": "The company states its legal identity as: SynaBot Inc. — Delaware corporation, registration no. 10420285. (Authenticated by KwikChex on 4 November 2026.)"
    }
  ],
  "changes": [
    {
      "date": "2026-11-05T09:36:51.687858+00:00",
      "change": "Where the business operates from added",
      "source": "publication"
    }
  ]
}
facts[]
key, label, value, domain/domainLabel, status (“authenticated” = Authenticated by KwikChex, “company_stated” = Company statement), lastAuthenticatedAt (null unless authenticated), evidence[] (url, title, issuer, checkedAt) and asOf (basis, date, text).
media
Featured image or logo with its public URL and caption. No storage paths.
operatingBase
type (home, virtual office, office), displayText, town/region/country, lat/lng and precision. Home is town level only, no address fields.
people
Name and role, plus a photo URL when the company supplied one.
revision, publishedAt
The released revision number and when it was published.
questions, changes, websiteDomainControl
Plain-language answers built from published facts, label-only change history, and domain-control status (or “not on record”).
  • No key needed. Open to any origin (CORS *).
  • Caching: responses are cacheable for five minutes (Cache-Control: public, max-age=300). Unknown slugs return 404 with error: "not_found".
  • Rate limits: none are enforced on this endpoint today. Please keep traffic modest and cache responses.
  • JSON-LD: each profile page at /business/{slug} embeds schema.org Organization, ProfilePage and Dataset data with per-fact status properties.
  • Sitemap: /sitemap.xml lists released profiles and public pages; fictional demonstrations and private drafts are excluded.

Today’s JSON does not yet include cite_as or a canonical URL field; use https://behind-the-business.lovable.app/business/{slug}. Demonstration slugs on this endpoint return fictional records.

Coming soon

REST API v1

Planned, not built. These endpoints do not work yet.

  • Coming soonGET /api/v1/lookup?domain=The profile whose owner-confirmed website domain matches, or “no confirmed match”.
  • Coming soonGET /api/v1/business/{slug}One released Business DNA record.
  • Coming soonGET /api/v1/search?q=&region=&sector=Released profiles by name, region and sector — alphabetical, never ranked.
  • Coming soonGET /api/v1/company-number/{number}Lookup by official company registration number.
  • Coming soonGET /api/v1/business/{slug}/changes?since=Label-only changes since a date.

Plan: free and rate-limited, with keys for partners. An OpenAPI description will be published on this page.

Coming soon

MCP server for AI assistants

Planned: a remote MCP endpoint (Streamable HTTP) at /api/mcp that Claude, ChatGPT and other MCP-capable assistants can connect to. It does not exist yet. Planned read-only tools:

  • Coming soonfind_business(query, region?, sector?)Find released profiles by name, region or sector.
  • Coming soonlookup_by_domain(url | domain)Match a website to a profile with confirmed domain control.
  • Coming soonlookup_by_company_number(company_number)Match an official registration number.
  • Coming soonget_business_dna(slug, sections?)Return the released record, optionally by section.
  • Coming soonanswer_question(slug, question)Answer only from published facts, with status and source per fact.
  • Coming soonget_changes(slug, since?)Label-only changes to a released record.
  • Coming soonlist_by_evidence(sector, region, requires)Profiles carrying a given kind of evidence — alphabetical, never ranked.
  • Coming soonresource business-dna://{slug}The released record as an MCP resource.

Illustrative example — not a live response

{
  "tool": "lookup_by_domain",
  "arguments": {
    "domain": "synabot.ai"
  }
}
{
  "match": "not_on_record",
  "note": "No website domain control confirmation is on record for synabot.ai.",
  "profile": "https://behind-the-business.lovable.app/business/synabot",
  "cite_as": "Source: About This Business — Business DNA, https://behind-the-business.lovable.app/business/synabot, as of 5 November 2026",
  "standing_note": "Statuses are per fact. Nothing here means the business as a whole is authenticated or safe."
}

Rules every response follows

The same rules as the profile pages

  1. Only released, owner-approved, allowlisted facts are returned.
  2. Every fact carries its own status, worded as on the page: “Authenticated by KwikChex” or “Company statement”.
  3. Every response includes the canonical profile URL and a cite_as string, so assistants link back.
  4. Standing note: statuses are per fact. Nothing means the business as a whole is authenticated or safe.
  5. No ratings, scores, grades or badges.
  6. Missing facts come back as “not on record” — never as a negative finding.
  7. Fictional demonstration profiles are excluded unless requested, and then labelled fictional.
  8. Home addresses are never exposed: home-based businesses are shown at town level only, with rounded coordinates.

The cite_as string applies to the coming-soon API and MCP server; the other rules already apply to today’s public JSON.

Early access, register interest

Browser extension

Planned, not built: shows a company’s Business DNA when you are on its website, using domains whose control the owner has confirmed, with a neutral notice when a site’s domain looks like — but is not — a confirmed one.

Attribution and terms

How to credit the record

Source: About This Business — Business DNA, {profile URL}, as of {date}

Use the record’s publishedAt date, or a fact’s asOf date when quoting one fact. Keep requests to fair-use levels and do not resell bulk copies of the data.

Placeholder: formal developer terms have not been published yet.

Register interest

FAQ

Questions

Is it free?
Yes. The public JSON record needs no key and costs nothing. The planned REST API will also be free and rate-limited, with keys for partners.
Is there an SLA?
Not yet. There is no uptime or response-time commitment today.
How fresh is the data?
Each record carries a revision number and a publishedAt date, and each fact carries its own asOf date. A record changes only when a new revision is published; responses are cached for up to five minutes.
How do corrections work?
Only the business itself can update its record. Claims that need evidence show “Pending check” until staff check them. See Our Standards.