Quick start
Run Accquix Register with docker compose, wait for the first sync, and make your first search and lookup.
You need Docker with the compose plugin, about 10 GB of free disk and outbound HTTPS. The first sync downloads about 1 GB and takes 7–20 minutes, mostly downloading.
Or let your AI agent run it locally and check that it works.
Try the demo
To see the API before you download anything, run the demo: the real API over about 180 fictional companies and sole traders, with VAT payers, a VAT group, closed subjects and risk-list entries. Once the image is built, it is ready in seconds.
git clone https://github.com/accquix/register && cd register
docker compose -f deploy/demo/compose.yaml up -d --wait serve
curl -s 'localhost:8080/v1/search?q=zlata'
No API key is needed: the demo listens on localhost only. Every answer says DEMO DATA in its attribution, and
/v1/capabilities reports "demo": true. The database lives in memory and is gone after
docker compose -f deploy/demo/compose.yaml down. The sync refuses a demo database, so demo and real data never mix.
Run it with the real data
Get the code
git clone https://github.com/accquix/register
cd register/deploy/composeCreate the secrets
./make-secrets.shThis writes a random database password and one API key into secrets/. The API key is printed once:
store it now. Only its SHA-256 hash is kept.
Start the stack
docker compose up -dCompose starts PostgreSQL 18, applies the schema (migrate), then starts the API (serve) and the hourly
sync (sync --every 1h).
Wait for the first sync
docker compose logs -f sync
curl -s localhost:8080/readyzUntil every source is published, the API answers 503 with the reason bootstrapping. When the sync logs
fs list applied for the last list, /readyz answers ready.
Search and look up
export KEY=<your key>
curl -s -H "Authorization: Bearer $KEY" "localhost:8080/v1/search?q=zlata%20ryb"
curl -s -H "Authorization: Bearer $KEY" "localhost:8080/v1/lookup/99900001"A search returns candidates; a lookup by identifier returns the full subject:
{
"mode": "default",
"results": [
{
"ico": "99900001",
"name": "Zlatá Rybka, s.r.o.",
"municipality": "Fiktívne Mesto",
"kind": "legal_person",
"active": true
}
],
"dataAsOf": "2026-11-10",
"attribution": [
"Register právnických osôb, Ministerstvo vnútra SR, CC BY 4.0",
"Zdroj údajov: Finančná správa SR"
]
}
Next steps
- How it works: what the sync does and what the answers guarantee.
- Using the API: search, lookup and change detection.
- Self-hosting: requirements, database roles, monitoring and upgrades.