registrul.md

API

API documentation

The registrul.md API returns company data for the Republic of Moldova. Access requires an API key and an active Business or Agency subscription.

Who gets access

Only accounts with an active Business or Agency plan can create keys and call /api/v1/* endpoints. Free and Starter plans do not include API access.

  • Businessmedium rate limit (60/min)
  • Agencyhigh rate limit (300/min)

See plans and pricing

Creating an API key

When a Business/Agency subscription activates, a key is created automatically (if you do not already have one). Only one active key is allowed — to rotate, revoke or use Regenerate. The full key (reg_ prefix) is shown only once.

Manage API key

Authentication

Send the key with either of these headers (one is enough):

Authorization: Bearer reg_…
X-Api-Key: reg_…

Keys always start with reg_. Without a valid key, the request is rejected with 401.

Endpoint

Base URL: https://registrul.md

GET /api/v1/company/{idno}

Replace {idno} with the company IDNO (digits only, at least 10). The response includes core fields, founders, administrators, and CAEM codes.

curl examples

curl -s \
  -H "Authorization: Bearer reg_YOUR_API_KEY" \
  "https://registrul.md/api/v1/company/1025600022949"
curl -s \
  -H "X-Api-Key: reg_YOUR_API_KEY" \
  "https://registrul.md/api/v1/company/1025600022949"

Example JSON response

Actual response shape (founders / admins / caem vary by company):

{
  "idno": "1025600022949",
  "name": "Societatea cu Răspundere Limitată \"FIX MOTORS GO\"",
  "legal_form": "S.R.L.",
  "status": "activa",
  "reg_date": "2025-07-04",
  "address": "MD-2002, CHIȘINĂU BOTANICA, mun. Chișinău, Plaiului, 128, ap.(of.) 2",
  "region": "110",
  "capital": "…",
  "vat_payer": false,
  "caem_main": "5320",
  "url": "https://registrul.md/companie/…",
  "founders": [
    { "name": "…", "share": "100,00%", "type": "persoana_fizica" }
  ],
  "admins": ["…"],
  "caem": [
    { "code": "5320", "label": "…", "main": true }
  ]
}

Rate limits

Limits apply per API key over a rolling 60-second window. The effective tier follows the active plan (not the value stored on the key).

PlanTierLimit
Businessmedium60 requests / minute
Agencyhigh300 requests / minute

On success, the response includes X-RateLimit-Limit and X-RateLimit-Tier. On 429: Retry-After: 60.

Error codes

HTTPerrorMeaning
401missing_or_invalid_api_keyMissing, invalid, or revoked API key
403no_active_api_planNo active API plan (Business/Agency)
400invalid_idnoInvalid IDNO (too short / not enough digits)
404not_foundCompany not found
429rate_limitedRate limit exceeded — wait and retry

Security

  • The full key is shown only once at creation — copy it immediately.
  • Revoke or regenerate a compromised key immediately from /cont/api.
  • Do not commit keys to git, embed them in public frontends, or share them in chats.
  • The public widget (/api/widget/…) is separate and does not use API keys — do not confuse it with /api/v1/.