🇬🇷 Greece · Developer API Directory

GEMI Public Business Portal API (publicity.businessportal.gr)

Active

GEMI publicity.businessportal.gr REST API for Greek company data. Free, no auth required for basic queries. Covers company profiles, officials, and capital structure.

API overview

The General Commercial Registry of Greece (GEMI, Γενικό Εμπορικό Μητρώο) is operated by the Central Union of Chambers of Greece (KEEE) under the Ministry of Development. The public-facing portal at businessportal.gr has an underlying REST API at publicity.businessportal.gr/api that powers the search interface. This API is undocumented officially but is publicly accessible without authentication for basic queries.

GEMI covers all commercial entities legally required to register in Greece: societes anonymes (SA/AE), limited liability companies (EPE/LLC), general and limited partnerships (OE/EE), individual merchants, and branches of foreign companies. The registry exposes: company name and GEMI number, legal form, registered seat, date of incorporation, status (active, under liquidation, dissolved), share capital, directors and board members, and publication references (official government gazette entries).

Financial statements are not served via the API in structured form. They appear as PDF gazette publications linked from individual company records. UBO data is collected by GEMI but is not exposed in the public API endpoint documented here.

Endpoint reference

Base URL: https://publicity.businessportal.gr/api

The API is not versioned in the URL path. Responses are JSON.

MethodPathDescription
GET/search?term={query}Full-text company name search
GET/company/{gemi_number}Company profile by GEMI number
GET/company/{gemi_number}/officialsDirectors and board members
GET/company/{gemi_number}/publicationsOfficial gazette publication list
GET/company/{gemi_number}/branchesRegistered branches

The term parameter in the search endpoint accepts Greek-script or Latin-script input; Greek-script queries return more reliable results. The GEMI number (arithmos_gemi) is the primary key for all other lookups and is an 12-digit numeric string.

Authentication

No authentication is required for the publicly accessible endpoints listed above. The API serves responses to unauthenticated requests from any origin.

Lawyers and notaries in Greece have access to a restricted tier of GEMI data (including pending filings and internal registry notes) through a separate portal that requires professional credentials and a qualified electronic certificate. That restricted API is not accessible to foreign developers without going through a licensed Greek professional.

If you are building an integration that needs UBO or unpublished draft data, you will need to engage a Greek legal professional or a registry data intermediary. There is no developer registration process for the public API because it does not require one.

Rate limits and quotas

GEMI does not publish rate limits for the public API. The portal is primarily designed for human use. In practice, the server returns HTTP 503 under high polling load. Observed behaviour suggests requests are rate-limited at the IP level when sustained query rates exceed roughly 10-15 requests per minute.

There is no Retry-After header on 503 responses. Implement exponential back-off starting at 5 seconds. For batch processing of large company lists, space requests at least 4 seconds apart to stay well within observed tolerances.

The GEMI portal occasionally goes offline for scheduled maintenance, usually announced on the KEEE website. Unannounced outages occur a few times per year; build retry logic with a circuit breaker.

Sample request

curl -s \
  "https://publicity.businessportal.gr/api/search?term=alpha+bank" \
  | python3 -m json.tool

For a direct lookup by GEMI number:

curl -s \
  "https://publicity.businessportal.gr/api/company/000223001000" \
  | python3 -m json.tool

No Authorization header is needed. The server accepts requests over HTTPS only; HTTP requests are redirected.

Sample response

{
  "arithmos_gemi": "000223001000",
  "eponymia": "DEMO HELLAS ANONYMOUS ETAIREIA",
  "diakritikos_titlos": "DEMO HELLAS AE",
  "nomiki_morfi": "ANONYMI ETAIREIA",
  "katastasi": "ENERGI",
  "edra_periohi": "ATHENS",
  "edra_dimos": "ATHENS MUNICIPALITY",
  "imrominia_systasis": "1998-04-15",
  "kefaleo": "500000.00",
  "nomisma_kefalaiou": "EUR"
}

Field names are in Greek-script transliteration or Greek. katastasi is the status field: ENERGI = active, SE LIKIDASI = in liquidation, DIAGRAFI = struck off. kefaleo is share capital in the currency indicated by nomisma_kefalaiou.

Available data fields

  • GEMI number (arithmos_gemi)
  • Company name (Greek script) and commercial title
  • Legal form (nomiki_morfi)
  • Status (katastasi): active, liquidation, dissolved
  • Registered seat: region, municipality
  • Date of incorporation
  • Share capital and currency
  • Directors and board members (name, role, appointment date)
  • Official gazette publication references (GGAZETTE entries)
  • Branch count and locations
  • AFM (Greek tax number), when published

Known limitations and edge cases

Greek-only field names. All field names in API responses are Greek transliterated (Latin-script phonetic equivalents of Greek words). There is no English-language field name option. Maintain a mapping table in your integration code.

GEMI number format. GEMI numbers are 12 digits zero-padded. Pre-GEMI era companies registered before 2011 were migrated from the older commercial registry (Emporiko Mitro) and their numbers may carry a prefix. Some legacy records have inconsistent padding.

No structured financials. Financial statement data exists only as PDF links to the official gazette (FEK/GGAZETTE). Parsing structured financial data from these PDFs requires OCR and Greek-language document understanding.

AFM availability. The Greek tax number (AFM, Arithmos Forologikou Mitroou) is sometimes visible in the company profile and sometimes redacted based on the entity’s privacy elections. You cannot rely on the AFM being present for all records.

Pagination. The search endpoint returns results without explicit pagination parameters in the documented interface. In practice, only the first 20 results are returned for most queries. There is no offset or page parameter that reliably retrieves further pages.

Outage pattern. The portal undergoes maintenance on Saturday nights (Greek time, EET/EEST). Build your fetch pipeline to retry on Sunday mornings rather than treating Saturday-night failures as hard errors.

Commercial alternatives

GEMI is the authoritative source, but its API limitations (Greek-only fields, no financials as JSON, undocumented rate limits) make it impractical for production pipelines without preprocessing work.

Commercial data providers that normalise GEMI data into English-language JSON with structured financials include Bureau van Dijk Orbis, Dun and Bradstreet, and Creditsafe. Pricing for Greek company profiles via these vendors typically ranges from USD 15 to USD 80 per profile depending on the data depth and volume tier. See the corresponding Greece company registry guide for a full registry overview.


Last verified: 2026-05-17. The GEMI public API is undocumented and may change without notice. Test against live endpoints before production deployment.