For AI agents
This site can be read and called by machines. Below: what is free, which tools are available, and the file that is the reference.
Tools
The reference file is /api/v1/tools.json.
describe_datasetget_schemaget_samplelookup_recordsearch_by_namerequest_dataset
What is free
- every page of the site
- the search index (static JSON fragments, CORS open)
- llms.txt
What is reserved
- a dated PDF report on one entity ($19)
- bulk matching of a list (CSV)
- monitoring of a list
Source and date
- New York City Department of Small Business Services, NYC Open Data
- 2026-10-01
- 11,809 entries in the index
Other registers
Catalogue of other public registers available in the same format: registres.pages.dev
The level of service we hold ourselves to
Regulation (EU) 2023/138 requires States to publish certain datasets — called high-value — free of charge, in machine-readable form, with an API and bulk download. We apply this level of service to this register, whether the law requires it or not.
- Free of charge — every page and every machine file on this site is open, with no account and no key.
- Machine-readable — manifest, field schema, real sample.
- With an API — 6 callable tools, described with their input schema, wired into the page for an agent, and the portfolio's MCP server.
- Bulk download — ⚠️ not served free here: the raw data can be downloaded free from the source, named in the footer; our normalised version is described on the data page.
⚠️ This register is not designated “high-value” in law: it is a level of service we set ourselves, not a regulatory guarantee. Details for agents · catalogue.
Machine gateway6/96 tools exposed
This is not a label: each line links to the file that proves it, and the ones that are missing are written down too.
- ✓versioned manifest
- ✓field schema, with fill rates
- ✓real sample
- ✓tools declared and served
- ✗free bulk download
- ✗callable MCP server
- ✓llms.txt
- ✓clean 404 page
- ✗log of agent visits on THIS site
An example that works, end to end
The example starts from the get_sample tool, which reads the served sample.
Prompt to give an agent
Use the get_sample tool of nyc-certified-business-records.pages.dev and summarise the first three entries.What the tool returns
| id | 373634 |
|---|---|
| url | https://nyc-certified-business-records.pages.dev/search/#r=373634 |
| fragment | https://nyc-certified-business-records.pages.dev/d/r/468.json |
| name | “I AM” EHS Management LLC |
| city | Stony point |
| state | NY |
| type | Construction |
| fields | {'SBS account number': '373634', 'Minority-owned Business Enterprise (MBE)': 'certified — renewal due Mar 31, 2029', 'Industry sector (NAICS)': 'Construction', 'Industry (NAICS)': 'Highway, Street, and Bridge Construction — 237310', 'Enrolled in PASSPort (city procurement system)': 'Yes', 'Legal name': '“I AM” EHS Management LLC'} |
The same register can be queried through the portfolio MCP server (tools describe_register, get_schema, get_sample).
Reading one record by its identifier
The lookup_record tool takes the SBS account number (digits). For 373634 it reads https://nyc-certified-business-records.pages.dev/d/r/468.json (hash of the identifier: h = 0, then for each character h = (h*31 + character code) modulo 4096; in hexadecimal on 3 digits) and returns the record shown at https://nyc-certified-business-records.pages.dev/search/#r=373634. Checked when the site was built.