All sections

Enterprise registries

Unless stated otherwise, this page refers to Ukrainian companies and individual entrepreneurs and uses identifiers from Ukrainian public registries.

This section describes requests used to work with enterprise records from various registries, including sanctions registries, sector-specific registries, and other thematic sources, together with related files.

Registry record list

GET /api/v1/enterprises/{registry_id}/registries/{domain}

This request returns enterprise records from a single domain, for example sanctions, forestry, or energy. The response includes the registry records themselves, as well as additional structured data for registry types where such data are available.

The registry_id and domain parameters in the request path are required. registry_id is the enterprise identifier.

Available domain values can be retrieved from the Data domains request.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/registries/sanctions?registry_type_id=5" \
  -H "Authorization: Bearer $ESG_API_TOKEN" \
  -H 'Accept: application/json'

Example response

{
  "results": {
    "enterprise": { "type": "company", "registry_id": "00178353" },
    "domain": { "slug": "sanctions", "label": "Санкції" },
    "items": [
      {
        "id": 25,
        "type_id": 12,
        "type_name": "Державний реєстр санкцій РНБО (юридичні особи)",
        "registry_id": "NSDC-001",
        "authority_name": "РНБО",
        "name": "Санкційний запис",
        "description_lines": ["Рішення РНБО"],
        "address": null,
        "status": "чинний",
        "registry_year": 2025,
        "registry_date": "2025-02-01",
        "is_active": true,
        "files_count": 1,
        "links": {
          "details": "https://esg.saveecobot.com/api/v1/enterprises/00178353/registry-details/25",
          "files": "https://esg.saveecobot.com/api/v1/enterprises/00178353/registry-files/25"
        },
        "data": [
          {
            "key": "sanction_term",
            "label": "Строк дії санкції",
            "value": "10 років"
          }
        ],
        "coordinates": null
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 20,
      "total": 1,
      "last_page": 1
    }
  },
  "stats": { "..." }
}

Pagination parameters

  • page: page number.

Filters

  • year: record year, if used for this domain.
  • registry_type_id: registry type identifier. Available values can be retrieved from the Registry types request.

Response fields

results.items[]

  • id: registry record identifier.
  • type_id: registry type identifier.
  • type_name: registry type name.
  • registry_id: registration number or record number.
  • authority_name: authority or source that maintains this registry.
  • name: record name.
  • description_lines[]: short record description split into lines.
  • address: address, if it exists in the record.
  • status: current record status.
  • registry_year: year the record belongs to.
  • registry_date: record date or date when it became effective.
  • is_active: indicates whether the record is current.
  • files_count: number of related files.
  • links.details: link to registry record details.
  • links.files: link to the file list.
  • data[]: additional structured data. For most registries this is null; for some sanctions records it is an array.
  • data[].key: code.
  • data[].label: label.
  • data[].value: value.
  • coordinates: address coordinates, if allowed for the API key.
  • coordinates.latitude: latitude.
  • coordinates.longitude: longitude.

Registry record details

GET /api/v1/enterprises/{registry_id}/registry-details/{registry_record_id}

This request returns full data for a specific registry record. The response contains the same fields as the registry record list, plus a links block for navigating to related files.

The registry_id and registry_record_id parameters in the request path are required. registry_id is the enterprise identifier. registry_record_id is the registry record identifier.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/registry-details/25" \
  -H "Authorization: Bearer $ESG_API_TOKEN" \
  -H 'Accept: application/json'

Example response

{
  "results": {
    "enterprise": { "type": "company", "registry_id": "00178353" },
    "object": {
      "id": 25,
      "type_id": 12,
      "type_name": "Державний реєстр санкцій РНБО (юридичні особи)",
      "registry_id": "NSDC-001",
      "authority_name": "РНБО",
      "name": "Санкційний запис",
      "description_lines": ["Рішення РНБО"],
      "address": null,
      "status": "чинний",
      "registry_year": 2025,
      "registry_date": "2025-02-01",
      "is_active": true,
      "files_count": 1,
      "data": [
        {
          "key": "sanction_term",
          "label": "Строк дії санкції",
          "value": "10 років"
        }
      ],
      "coordinates": null,
      "links": {
        "files": "https://esg.saveecobot.com/api/v1/enterprises/00178353/registry-files/25"
      }
    }
  },
  "stats": { "..." }
}

Response fields

results.object

The object fields are the same as in results.items[] in the registry list.

results.object.links

  • files: link to the separate registry record files list, if files exist.

Registry record files

GET /api/v1/enterprises/{registry_id}/registry-files/{registry_record_id}

This request returns files for a specific registry record. Along with the file list in items, it also returns an object block with short information about the record itself.

The registry_id and registry_record_id parameters in the request path are required. registry_id is the enterprise identifier. registry_record_id is the registry record identifier.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/registry-files/25" \
  -H "Authorization: Bearer $ESG_API_TOKEN" \
  -H 'Accept: application/json'

Example response

{
  "results": {
    "enterprise": { "type": "company", "registry_id": "00178353" },
    "object": {
      "type": "registry",
      "id": 25,
      "registry_id": "NSDC-001",
      "type_id": 12,
      "type_name": "Державний реєстр санкцій РНБО (юридичні особи)",
      "name": "Санкційний запис"
    },
    "items": [
      {
        "id": 1,
        "type_name": "PDF",
        "name": "registry-record.pdf",
        "format": "pdf",
        "size": 41234,
        "uploaded_at": "2025-02-01T10:00:00+00:00",
        "downloaded_at": "2025-02-01T10:15:00+00:00",
        "links": {
          "download": "https://esg.saveecobot.com/api/v1/enterprises/00178353/registry-files/25/download/1"
        }
      }
    ]
  },
  "stats": { "..." }
}

Response fields

results.object

  • type: object type. For this request, the value is registry.
  • id: registry record identifier.
  • registry_id: record number or registration number.
  • type_id: registry type identifier.
  • type_name: registry type name.
  • name: record name.

results.items[]

  • id: registry record file identifier.
  • type_name: file type name.
  • name: file name.
  • format: file format.
  • size: file size in bytes.
  • uploaded_at: date when the file was uploaded or published in the source.
  • downloaded_at: date when the file was downloaded into ESG SaveEcoBot.
  • links.download: file download link.

Registry record file download

GET /api/v1/enterprises/{registry_id}/registry-files/{registry_record_id}/download/{file_id}

This request returns the binary registry record file for download.

The registry_id, registry_record_id, and file_id parameters in the request path are required. registry_id is the enterprise identifier. registry_record_id is the registry record identifier. file_id is the registry record file identifier.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl -L "https://esg.saveecobot.com/api/v1/enterprises/00178353/registry-files/25/download/1" \
  -H "Authorization: Bearer $ESG_API_TOKEN"

Participate in testing the ESG company profile
in the SaveEcoBot system in Ukraine

Make your ESG analysis flawless!