# Georgia Company Registry Lookup (`reestri/ge-company-lookup`) Actor

Look up any company in Georgia (the country, Sakartvelo) in the public business registry NAPR (enreg.reestri.gov.ge) by name or 9-digit ID code: legal form, registration status, ID, address, registry date. Evidence-grade JSON for KYC, AML and due diligence. Callable by AI agents via MCP.

- **URL**: https://apify.com/reestri/ge-company-lookup.md
- **Developed by:** [Soso Pkhakadze](https://apify.com/reestri) (community)
- **Categories:** Agents, MCP servers
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $250.00 / 1,000 evidence-grade company records

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Georgia Company Registry Lookup

Look up any company registered in Georgia (the country) straight from the public
entrepreneurial registry of the National Agency of Public Registry (NAPR) and get
clean, structured, English-keyed JSON: identification code, name (Georgian original
plus national transliteration), legal form, and registration status. Search by name
(Georgian or Latin script) or by the 9-digit identification code. Every query yields
an explicit result; every record carries evidence of where and when it was read.

### What you can do with it

- **KYC / KYB onboarding**: confirm a Georgian counterparty exists and whether its
  registration is active, suspended, in liquidation or reorganising, in seconds
  instead of navigating a Georgian-only portal.
- **Sanctions and due-diligence screening**: resolve names to identification codes
  and status before deeper checks; Georgia-registered firms appeared in 2026 UK/EU/OFAC
  designations and commercial databases' regional coverage is thin and often stale.
- **Supplier and customer verification**: status and legal form before signing.
- **AI agents**: available as an MCP tool for counterparty research.

### Real sample output (public registry data, retrieved live)

```json
{
  "resultType": "company",
  "country": "GE",
  "companyNumber": "404569285",
  "nameLocal": "შპს სილქნეტ ჰოლდინგი",
  "nameLatin": "shps silknet holdingi",
  "legalForm": "LLC",
  "legalFormLocal": "შეზღუდული პასუხისმგებლობის საზოგადოება",
  "status": "active",
  "statusLocal": "აქტიური",
  "statusMethod": "keyword",
  "registryInternalId": "…",
  "match": { "method": "registry_name_search", "score": 0.85, "normalized": "სილქნეტ", "ambiguous": true, "candidates": 3 },
  "evidence": { "sourceUrl": "https://enreg.reestri.gov.ge/main.php?c=search&m=find_legal_persons&name=…", "retrievedAt": "2026-08-29T…Z", "registryAsOf": null, "sha256": "…" }
}
```

Another real example: identification code `416337084` returns status `suspended`
with the registry's own wording preserved in `statusLocal`
("რეგისტრაცია შეჩერებულია კანონის 254-ე მუხლის საფუძველზე", registration suspended
under article 254). Per-field fill rates will be published after the first
production month.

### Result types, never a silent empty dataset

- `company`, a matched record (above).
- `not_found`, the registry answered and had no match: a trustworthy negative, with
  the `match` block showing what was searched.
- `unavailable`, the registry could not be read (down, blocked, layout changed).
  The run is also marked failed. **Never treat this as a negative.**

### Input

| Field | Type | Description |
|---|---|---|
| `query` | string | Full or partial company name, Georgian or Latin script. |
| `companyNumber` | string | 9-digit identification code; takes precedence over `query`. |
| `maxResults` | integer | Max companies to return and charge for (default 10). |
| `includePeople` | boolean | Reserved; see scope below. Default off. |

### Scope of v1 (read this before buying)

v1 returns the registry's **search-level** data: identification code, name, legal
form, status. Founders, directors and shares live in the registry's detail views,
which are gated by a captcha. **This tool does not automate captchas**: a captcha is
the registry's explicit request not to automate that page, and a compliance-data
product should respect it. Ownership data will be added only through an official
channel. The reverse search (person → companies) is a separate tool in this catalog.

### Pricing

Pay per event: one `lookup` per query (including `not_found`), one `company-record`
per company returned. Free-plan users can test at no cost.

### Source, legality and freshness

Read live from the public registry at request time. Georgia's registry is public by
statute and its legal notice names "any person" as a permitted recipient. The tool
requests politely (one session, rate-limited, identified user agent) and republishes
business data only: individual entrepreneurs' personal numbers, which the registry
lists, are dropped, never stored. Registry wording is preserved for auditability;
every record's `evidence` block gives the exact request and a hash of the response.

### Related tools

Georgia person → companies search · Armenia company lookup + beneficial owners ·
Kazakhstan legal-entity lookup (official open data) · Multi-country change monitor.

### Use it from an AI agent or an automation

- **Claude / Cursor / any MCP client:** add `https://mcp.apify.com/?tools=reestri/ge-company-lookup` (Apify token as bearer). Tools: `lookup_company_by_number / search_companies_by_name`.
- **Claude Code:** `claude mcp add --transport http reestri https://mcp.apify.com/?tools=reestri/ge-company-lookup`
- **LangChain / CrewAI:** `ApifyActorsTool("reestri/ge-company-lookup")` from `langchain-apify` / `crewai-tools`.
- **n8n / Make / Zapier:** the official Apify node, Actor `reestri/ge-company-lookup`, then map the dataset items.
- **REST:** `POST https://api.apify.com/v2/acts/reestri~ge-company-lookup/run-sync-get-dataset-items?token=…` with the input JSON.

### Which country is this?

Georgia the country (Sakartvelo, capital Tbilisi, registry NAPR at enreg.reestri.gov.ge), not the US state. For the US state use a Secretary of State search tool instead.

# Actor input Schema

## `query` (type: `string`):

Full or partial company name, in Georgian or Latin script (e.g. "შპს კავკასუს ლოჯისტიკა" or "Caucasus Logistics"). Leave empty when searching by ID number.

## `companyNumber` (type: `string`):

The company's 9-digit registry identification code (also its VAT number). Takes precedence over the name query.

## `maxResults` (type: `integer`):

Maximum number of companies to return (and charge for).

## `includePeople` (type: `boolean`):

Reserved. Georgia's registry gates ownership/director views behind a captcha, which this tool does not automate. v1 returns search-level data: company number, name, legal form, status. Leave off.

## Actor input object example

```json
{
  "query": "Silknet",
  "maxResults": 10,
  "includePeople": false
}
```

# Actor output Schema

## `companies` (type: `string`):

One record per query result: `company`, `not_found` or `unavailable`, each with match and evidence blocks.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "Silknet"
};

// Run the Actor and wait for it to finish
const run = await client.actor("reestri/ge-company-lookup").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "query": "Silknet" }

# Run the Actor and wait for it to finish
run = client.actor("reestri/ge-company-lookup").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "query": "Silknet"
}' |
apify call reestri/ge-company-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,reestri/ge-company-lookup"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/2Aip8X2HUy1wN7XMs/builds/DXECNxC35bua86s1n/openapi.json
