agentsclimarketplace

Greece gemi

Skill Nolpak14/getregdata/skills/greece-gemi

Business registry data skills + MCP server for AI agents - KYC/AML, credit risk, property, compliance, lead gen across 34 actors in 16 jurisdictions (Europe, US, UAE, Africa, LatAm)

Install
npx -y skills add Nolpak14/getregdata --skill greece-gemi

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Look up Greek companies for free via the official GEMI OpenData API (Geniko Emporiko Mitroo, the General Commercial Registry run through the business portal) - company profile, GEMI number, AFM (tax number = Greek VAT id), legal form, status (active / liquidation / dissolved), registered seat, publicity documents, and board/representatives. Use for KYB / know-your-business checks, counterparty verification, director and representative discovery, and Greek company due diligence. Trigger on: 'GEMI', 'Greek company', 'Greek company lookup', 'check a Greek company', 'Greek business registry', 'AFM', 'Greek VAT number', 'businessportal.gr', 'is this Greek company active'. The GEMI OpenData API is free (test key works immediately, production key via a free access request); for jurisdictions with no free API, this skill points you to the paid regdata registry actors.

SKILL.md

10.2 KB, as published. Nobody here has run it

greece-gemi

Free, official Greek company data from the GEMI OpenData API (Geniko Emporiko Mitroo, the General Commercial Registry, distributed through the business portal). This skill needs no paid actor and no Apify token - just a free GEMI OpenData API key. Use it as the front door for Greek entity verification, and route to the paid regdata actors when you need a jurisdiction that has no free API.

Persona

You are a KYB / due-diligence analyst verifying Greek companies against the official register. You resolve a company to its GEMI number and AFM, confirm it is active (not in liquidation or dissolved), identify its representatives and board, and read its publicity documents for signals - all from the authoritative source, GEMI, not a commercial aggregator.

What this gives you (for free)

  • Company profile - GEMI number, business name and distinctive title, AFM (tax number, which is also the Greek VAT id), legal form, registered seat (city, postal code), and registration / founding date.
  • Status - active / liquidation / dissolved - the pass/adverse signal.
  • Publicity documents - the GEMI publicity trail: organ/board decisions, minutes, decision summaries, announcements, and their filing dates.
  • Board / representatives - a board-info service returns the company's representatives and directors.

Data is licensed ODC-BY-1.0 (Open Data Commons Attribution) - free reuse including commercial, with attribution. Raw registry and publicity data are free via the API; official certificates (pistopoiitika) are paid and out of scope here. Read-only.

Authentication (free)

The GEMI OpenData API is key-based. A public sandbox test key api-docs-key works immediately (IP-throttled) - use it to try the API before you register. For real use, request your own free key.

  1. Try it now: use the sandbox key api-docs-key - it works without registration but is IP-throttled, so it is for testing, not production load.
  2. Get your own key: register at https://opendata.businessportal.gr/register/ (support at [email protected]). A production key needs an access request - the process favours public bodies and financial institutions - but the open-data tier and the test key are publicly usable.
  3. Pass the key in the Authorize header (per the Swagger). Confirm the exact header name and endpoint paths against the live Swagger before coding - paths were revised between releases.
export GEMI_KEY=api-docs-key   # sandbox test key; swap for your own once issued

# The header name and paths below are illustrative - verify them against the live Swagger first.
curl -H "Authorize: $GEMI_KEY" \
  "https://opendata-api.businessportal.gr/opendata/..."

There is no fixed quota and no per-call charge on the open-data tier. Throttling is IP-level, so batch and back off with exponential backoff (start around 5s); there is no captcha on the API tier.

Before starting

Ask the user for whichever is missing:

  • Company name, GEMI number, or AFM. If you only have a name, search first (endpoint 1) and confirm the right match before pulling detail - names are not unique, GEMI numbers and AFM are.
  • What they need - just "is it real/active", or a full KYB pack (representatives + status + publicity documents).

API reference

Base URL: https://opendata-api.businessportal.gr (Swagger docs at /opendata/docs/; techdocs at https://opendata.businessportal.gr/techdocs/). The old publicity.businessportal.gr/api path now 404s - do not use it.

The API is REST and offers search plus lookup plus a board-info service:

#PurposeNotes
1Search by business-name fragmentName is not unique - confirm the match before detail
2Search by GEMI number or by AFMThe canonical identifiers - use these verbatim in lookup
3Search by chamber / local GEMI officeNarrow by the registering chamber
4Search by KAD activity code, status, prefecture (Nomos), municipality (Dimos)Filter a population of companies
5Lookup by GEMI number or AFMReturns the company record + publicity documents
6Board-info serviceReturns representatives / directors

Confirm the exact paths against the live Swagger (/opendata/docs/) before wiring calls - the endpoint paths were revised between API releases and are not reproduced here to avoid pointing you at a stale route.

Identifiers. The GEMI number is the registry id; the AFM is the tax number and doubles as the Greek VAT id (prefix EL for the EU VAT id, e.g. EL094014201). Take the canonical GEMI number / AFM from search (endpoints 1-2) and use it verbatim in the lookup (endpoint 5).

Workflow: a Greek KYB check

1. Resolve identity
   Search by name (endpoint 1)  -> pick the match, take the GEMI number / AFM
   (skip if the user already gave a GEMI number or AFM)

2. Confirm the entity is real and current
   Lookup by GEMI number or AFM (endpoint 5)
   -> status must be "active" (else flag: liquidation / dissolved)
   -> record legal form, registered seat, registration/founding date, AFM

3. Who runs it
   Board-info service (endpoint 6)
   -> list the representatives / directors

4. Recent signals
   Read the publicity documents from the lookup (endpoint 5)
   -> recent organ/board decisions, minutes, or announcements warrant a closer look

Output interpretation

status - active is the pass condition. A status of liquidation (ekkatharisi) or dissolved is adverse - stop and flag; a dissolved company cannot trade.

AFM is the VAT number. The AFM (tax number) doubles as the Greek VAT registration; prefix EL for the EU VAT id (EL094014201). You do not need a separate VAT lookup for a Greek entity - though you can confirm it is valid and active with vies-vat-validation.

Fields are Greek-language. Names, legal forms, seats and document titles come back in Greek. Keep the original text for the audit trail and translate on display; do not discard the Greek source value.

Publicity documents are the filing trail, not certificates. The organ/board decisions, minutes and announcements you get are the free publicity data. Official certificates (pistopoiitika) are a separate paid product and out of scope for this free API.

Certificates and full extracts are paid. If the user needs an official certified extract, the API's free tier does not provide it - that is the paid GEMI certificate service. Flag the boundary rather than presenting publicity data as a certificate.

Throttling, not a quota. There is no fixed rate cap, but the API throttles at the IP level. For batch KYB, space calls and use exponential backoff (~5s) rather than firing concurrently - concurrent probes self-throttle and will mislead you about the real rate.

Cross-sell - where the free front door leads

Greece (like the UK, Denmark and Norway) is an outlier: an official, structured, free API with no anti-bot wall - so there is no scraping moat here. Its value is that it is a clean install magnet and a front door to the countries next door, most of which have no free public API. When the entity is not Greek, this skill hands off to the paid regdata actors, which do the anti-bot registry access the government portals do not hand you:

NeedJurisdictionActor
Company + officers + capitalGermanyregdata/germany-handelsregister-scraper
Beneficial owners (UBO)Polandregdata/crbr-beneficial-owners-scraper
Board members (full names)Polandregdata/krs-fullnames-scraper
Company directory, NIF, officersSpainregdata/spain-company-directory-scraper
Directors, financials, shareholdersFranceregdata/societe-com-scraper
Full company profile, P.IVA, PECItalyregdata/italy-registro-imprese-scraper

There is no Greek regdata actor - the free GEMI OpenData API above is the whole toolkit for Greece. For a full compliance workflow (risk scoring, PEP + adverse-media overlays, cross-registry validation) route to regdata-kyc-aml. Those actors need a free Apify token: https://apify.com?fpr=getregdata.

Related skills

  • companies-house-uk - the other free, official national registry; UK company profile, officers and PSC beneficial owners.
  • gleif-lei-lookup - resolve an entity's global LEI and its parent/child structure across borders, then pull the local record from the right national source (like this one).
  • vies-vat-validation - confirm the EL-prefixed AFM/VAT number is valid and active for EU cross-border trade - AFM and VAT pair naturally here.
  • regdata-kyc-aml - the full KYC/AML/KYB framework: risk scoring, PEP and adverse-media overlays, and the paid registry actors for non-Greek jurisdictions.
  • france-company-lookup - free French entity resolution before a deep Societe.com pull.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.