Local Internet Registry · Documentation · Schema 1.1
Approved public facts from the Local Internet, readable by machines.
The Registry identifies.
Open Records exposes approved public facts to machines.
OneBusinessRecord provides the human-readable record.
A read-only, machine-readable view of facts that already exist and are already public: published Business Records, published Articles and published Media Records. Every response is a live reading of the one canonical record — there is no copy and no sync step.
| Dataset | Collection | One item | Items key |
|---|---|---|---|
| Business Records | /api/public/records | /api/public/records/{ORG_…} | data |
| Articles | /api/public/articles | /api/public/articles/{ART_… or LI-ARTICLE-…} | articles |
| Media Records | /api/public/media | /api/public/media/{LI-MEDIA-…} | media_records |
All responses are JSON over HTTPS, open to any origin, and cached for up to 60 seconds.
Every feed is allowlist-based: only the fields below can leave. Anything else — internal database IDs, owner, reviewer or admin information, editorial notes, eligibility reasoning — is never returned. A field with no recorded value is left out rather than filled in.
identifierrecordTypenamedescriptioncategorieswebsiteserviceAreahoursverificationlocationsstateslastUpdatedlogoimagessocialProfilescanonicalUrlapiUrldemonstrationdemonstrationNoticenamestreetAddresscitystatepostalCodecountryphonelatitudelongitudehoursserviceAreatimeZoneidentifierarticle_idpublic_refalternate_identifierstitlesummarybodycategorycontent_typearticle_kindauthorpublishercanonical_urlcanonical_propertysectionssourcesreferenced_recordsplacesdisclosureai_assistancesource_typesource_attributionsource_urlcorrectionspublished_atupdated_atdemonstrationdemonstration_noticemedia_record_idmedia_typebusiness_suppliedheadlinesubheadlinesummarybodysectionscategorytopicscanonical_urlcanonical_propertybusiness_recordsplacesgeographyauthorpublisherprovenancedisclosurecorrectionspublished_atupdated_atexpires_atdemonstrationdemonstration_noticecitationA website address appears on a Business Record only once that record is verified.
recordType is the type stored on the record, never guessed from its web address:
businessgovernmentnonprofitorganizationBusinesses read at onebusinessrecord.com/business/…; government, nonprofit and other organizations read at onebusinessrecord.com/organization/….
ORG_… — Business Records and organizations (field identifier).ART_… — Articles (field identifier). The older LI-ARTICLE-… form is still returned as article_id and still accepted in URLs.LI-MEDIA-… — Media Records (field media_record_id).Identifiers never change when a name, headline or address changes. Internal database keys are never exposed.
Use limit (default 50, maximum 200) and offset. Every collection returns total, count, limit, offset and nextOffset (null on the last page).
GET /api/public/records?limit=50&offset=50
state (e.g. MN), category, updated_since. The state filter is applied to each returned page.updated_since.media_type, updated_since.Demonstration records (such as the fictional Harbor & Pine Coffee Co.) are excluded from collections. A record requested directly by ID says so in its own demonstration field.
Every response carries schemaVersion (currently 1.1). Changes within a major version only add fields; existing fields keep their names and meaning.
Pass updated_since as an ISO 8601 date-time. A Business Record counts as changed when the record itself, one of its locations, or one of its publications changed. Articles and Media Records count as changed when the item or its publications changed. lastUpdated / updated_at reflect the latest of these.
GET /api/public/records?updated_since=2026-10-01T00:00:00Z
When updated_since is supplied, the response also includes removals: items that stopped being publicly available in that window. Each entry has only these fields, and never the withdrawn content:
identifierstatusremovedAt"removals": [{ "identifier": "ORG_…", "status": "removed", "removedAt": "2026-10-02T15:04:00Z" }]Each Business Record carries canonicalUrl, its page on OneBusinessRecord.com. Articles and Media Records carry canonical_url only when a property actually publishes them; otherwise it is null. No address is invented.
The Registry is where an identifier is looked up and its recorded relationships are inspected. Open Records uses the same identifiers; it does not issue or own them.
Only published, non-demonstration items appear in collections. Unpublished records are not part of Open Records. Owner, reviewer and administrator information, claim and verification material, billing, internal IDs and editorial workflow never appear.
The separate business lookup used by owners to find and claim a record is not part of Open Records. For a record that is not yet published it shows only the name, category, general place and claim status.
Facts come from the canonical record as entered and reviewed. Some fields are legitimately empty today — for example, many Articles list no sources, referenced_records or places. Empty means not recorded; it is never filled in artificially.
No key or account is required. Each client may make up to 60 requests per 60 seconds. Responses carry x-ratelimit-limit and x-ratelimit-remaining; over the limit the answer is 429 with retry-after in seconds.
This is a basic courtesy limit, not a guaranteed hard quota: each server instance counts requests separately, so the limit is not coordinated globally and actual allowance may vary.
There is no MCP or agent endpoint today. If one is approved later, it would read these same allowlisted feeds — not a separate data path.