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.
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 witherror: "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.
REST API v1
Planned, not built. These endpoints do not work yet.
- Coming soon
GET /api/v1/lookup?domain=The profile whose owner-confirmed website domain matches, or “no confirmed match”. - Coming soon
GET /api/v1/business/{slug}One released Business DNA record. - Coming soon
GET /api/v1/search?q=®ion=§or=Released profiles by name, region and sector — alphabetical, never ranked. - Coming soon
GET /api/v1/company-number/{number}Lookup by official company registration number. - Coming soon
GET /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.
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 soon
find_business(query, region?, sector?)Find released profiles by name, region or sector. - Coming soon
lookup_by_domain(url | domain)Match a website to a profile with confirmed domain control. - Coming soon
lookup_by_company_number(company_number)Match an official registration number. - Coming soon
get_business_dna(slug, sections?)Return the released record, optionally by section. - Coming soon
answer_question(slug, question)Answer only from published facts, with status and source per fact. - Coming soon
get_changes(slug, since?)Label-only changes to a released record. - Coming soon
list_by_evidence(sector, region, requires)Profiles carrying a given kind of evidence — alphabetical, never ranked. - Coming soon
resource 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
- Only released, owner-approved, allowlisted facts are returned.
- Every fact carries its own status, worded as on the page: “Authenticated by KwikChex” or “Company statement”.
- Every response includes the canonical profile URL and a cite_as string, so assistants link back.
- Standing note: statuses are per fact. Nothing means the business as a whole is authenticated or safe.
- No ratings, scores, grades or badges.
- Missing facts come back as “not on record” — never as a negative finding.
- Fictional demonstration profiles are excluded unless requested, and then labelled fictional.
- 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.
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.
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
revisionnumber and apublishedAtdate, and each fact carries its ownasOfdate. 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.