get over 90 percent of their public revenue from a single state buyer; 618 have exactly one buyer. The dependence map, by tax ID, is a free CSV.
reestri-data / am-contracts →Five maintained lookups over the official registers: status, legal form, beneficial owners, public contracts. Every record carries its source URL, retrieval time and content hash. Pay per lookup; no subscription; callable by AI agents.
from $0.05 per lookup · first runs covered by Apify's free credit · built in Kutaisi, Georgia
A snapshot demo: these records were fetched from the registers on 1 Sep 2026. Live lookups, including owners and contracts, run on Apify. Big brand names often surface branches and namesakes; the ID code is the exact key.
First call
No signup wall on this page and no sales call behind it. A free Apify account and one of these four lines is the whole setup.
curl -X POST "https://api.apify.com/v2/acts/reestri~ge-company-lookup/run-sync-get-dataset-items?token=$APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"query": "Silknet"}'
// npm i apify-client const { ApifyClient } = require("apify-client"); const client = new ApifyClient({ token: process.env.APIFY_TOKEN }); const run = await client.actor("reestri/ge-company-lookup") .call({ query: "Silknet" }); const { items } = await client.dataset(run.defaultDatasetId).listItems();
# pip install apify-client from apify_client import ApifyClient client = ApifyClient(os.environ["APIFY_TOKEN"]) run = client.actor("reestri/ge-company-lookup").call( run_input={"query": "Silknet"}) items = client.dataset(run["defaultDatasetId"]).list_items().items
# Claude Code claude mcp add --transport http reestri \ "https://mcp.apify.com/?tools=reestri/company-screen" # header: Authorization: Bearer <your Apify token> # or the plugin claude plugin marketplace add SosoPkhakadze/reestri-claude-plugin claude plugin install reestri@reestri
Response, unedited
{
"resultType": "company",
"country": "GE",
"nameLocal": "შპს სილკნეტი",
"nameLatin": "shps silkneti",
"companyNumber": "204952685",
"legalForm": "LLC",
"status": "active",
"statusLocal": "აქტიური",
"match": { "score": 0.85, "candidates": 1, "ambiguous": false },
"evidence": {
"sourceUrl": "https://enreg.reestri.gov.ge/main.php?c=search&m=find_legal_persons&name=Silknet",
"retrievedAt": "2026-09-01T00:06:05Z",
"sha256": "a7084373aa295132c8661083bc62e5b370a32f271443662ce0f52b8cec452550"
}
}The ledger
The registers publish in three non‑Latin scripts through card‑by‑card portals. Reestri reads the open surfaces and returns normalised English JSON. Open a row for the tool's real output.
{ "nameLocal": "შპს სილკნეტი", "companyNumber": "204952685",
"legalForm": "LLC", "status": "active", "statusLocal": "აქტიური",
"evidence": { "sourceUrl": "enreg.reestri.gov.ge/…", "sha256": "a708…2550" } }{ "resultType": "participation", "role": "director",
"companyNameLocal": "შპს …", "companyStatus": "active",
"evidence": { "sourceUrl": "…find_participations2" } }
// one row per company; the register itself is public{ "nameLatin": "\"UCOM\" CJSC", "taxId": "00024873", "status": "active",
"people": [
{ "nameLatin": "Artyom Khachatryan", "role": "beneficial_owner",
"interestTypes": ["shareholding"], "since": "2021-10-28" }, … 15 declared owners ],
"evidence": { "sourceUrl": "e-register.moj.am/en/companies/37191802" } }{ "resultType": "contract", "buyer": "…", "valueAMD": …,
"procedure": "single source (ՄԱ)", "signedAt": "…",
"evidence": { "registryAsOf": "2026-08-29" } }
// 21,781 suppliers, refreshed every Sunday from armeps.am{ "resultType": "screen",
"summary": { "matchedCompanies": 1, "byCountry": { "GE": 1, "AM": 0 },
"byStatus": { "active": 1 }, "sourcesUnavailable": [],
"verdict": "1 match(es); review status, owners and contract exposure" } }Georgian script, one card at a time, session cookies, no API. The same content as the record on the right, minus everything that makes it usable in a pipeline.
{ "nameLocal": "შპს სილკნეტი", "nameLatin": "shps silkneti",
"companyNumber": "204952685", "legalForm": "LLC", "status": "active",
"match": { "score": 0.85, "candidates": 1 },
"evidence": { "sourceUrl": "…", "retrievedAt": "2026-09-01T00:06:05Z", "sha256": "a708…2550" } }Normalised fields, transliteration, a match block that admits ambiguity, and evidence that lets anyone re‑verify the observation.
Coverage and freshness
Stated limits are part of the product. A register we cannot read honestly is not offered.
| Register | Source | Mode | Records | Status | Owners | Contracts | Daily check |
|---|---|---|---|---|---|---|---|
| Georgia companies | enreg.reestri.gov.ge | live | full register | yes | no¹ | no² | |
| Georgia participants | enreg.reestri.gov.ge | live | full register | yes | roles | no² | |
| Armenia companies | e-register.moj.am | live | full register | yes | BODS³ | via index | |
| Armenia contracts | armeps.am (PPCM) | weekly | 236,159 | yes | n/a | yes | |
| Moldova companies | dataset.gov.md (ASP) | weekly | 302,232 | yes | founders⁴ | no | |
| Kazakhstan | data.egov.kz | parked | portal drops non‑browser connections from every network we tested; needs an official API key | ||||
¹ NAPR's ownership extracts sit behind a captcha and a fee; we do not bypass them, we say so. ² Georgia's procurement portal excludes robots; skipped. ³ Beneficial owners as declared by companies under Armenia's BODS regime; coverage is partial and a missing declaration is not evidence of a hidden owner. ⁴ Founders with share sizes and directors, as published by the state; opt‑in until ASP's re‑use terms are confirmed in writing. Snapshot dates ride on every record as evidence.registryAsOf.
For AI agents
An agent screens a counterparty in one call and gets evidence it can quote. Billing runs through the caller's own Apify account; we never hold your keys.
screen_company({ query: "Silknet", countries: ["GE","AM"] })
GET enreg.reestri.gov.ge 200 1.9s GET e-register.moj.am 200 2.4s KV md-registry skipped (opt-in)
"შპს სილქნეტი" → nameLatin: "shps silkneti" "აქტიური" → status: "active" "შპს" → legalForm: "LLC"
evidence: {
sourceUrl: "https://enreg.reestri.gov.ge/…",
retrievedAt: "2026-09-01T00:06:05Z",
sha256: "a7084373aa29…cec452550"
}
// recompute the hash against the registry page; it matches or we broke
Listed in the Official MCP Registry (io.github.SosoPkhakadze/reestri‑*), Smithery, Glama, the Apify MCP hub, and as a Claude Code plugin.
Pricing
From the data
Open, reproducible analyses from the same indexes the tools serve. Aggregate only; companies, never private individuals.
get over 90 percent of their public revenue from a single state buyer; 618 have exactly one buyer. The dependence map, by tax ID, is a free CSV.
reestri-data / am-contracts →The Ministry of Health's single‑source share of its own spend, 2018 versus 2026. The non‑competitive money moved to the Public Broadcaster, Yerevan Municipality and the Ministry of High‑Tech Industry.
all datasets and methods →Method
About
Reestri is built and run by Soso Pkhakadze, a software developer in Kutaisi, Georgia. The registers of this region are public in law and hard to use in practice: three scripts, card‑by‑card portals, no APIs. This is the missing data layer, built openly: the analyses are on GitHub, the servers are in public MCP registries, the tools carry their evidence.
Write in English, Georgian or Russian: soso@reestri.io. Journalists and researchers: lookups are free on request, send names.