{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Company Registry Lookup: FR, NO, FI, EE + VIES VAT + LEI",
    "description": "Search or look up companies in the official business registers of France (SIRENE), Norway (Brønnøysund), Finland (PRH YTJ) and Estonia (e-Business Register), validate EU VAT numbers in VIES and add GLEIF LEI codes. One normalized schema for KYB, due diligence and B2B lead enrichment.",
    "version": "0.1",
    "x-build-id": "pNBpyCIUgxFo6wdD1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rod_analytics~eu-company-lookup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rod_analytics-eu-company-lookup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/rod_analytics~eu-company-lookup/runs": {
      "post": {
        "operationId": "runs-sync-rod_analytics-eu-company-lookup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/rod_analytics~eu-company-lookup/run-sync": {
      "post": {
        "operationId": "run-sync-rod_analytics-eu-company-lookup",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "lookup",
              "vat",
              "lei"
            ],
            "type": "string",
            "description": "What to do with your input. Search by company name, look up by registry ID (SIREN, organisasjonsnummer, Y-tunnus, registrikood), validate VAT numbers, or look up LEI codes.",
            "default": "search"
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Registers to query in search and lookup modes: FR France (SIRENE), NO Norway (Brønnøysund), FI Finland (PRH YTJ), EE Estonia (e-Business Register). Ignored in VAT and LEI modes.",
            "items": {
              "type": "string",
              "enum": [
                "FR",
                "NO",
                "FI",
                "EE"
              ],
              "enumTitles": [
                "France (SIRENE)",
                "Norway (Brønnøysund)",
                "Finland (PRH YTJ)",
                "Estonia (e-Business Register)"
              ]
            },
            "default": [
              "FR",
              "NO",
              "FI",
              "EE"
            ]
          },
          "queries": {
            "title": "Company names, registry IDs or LEI codes",
            "type": "array",
            "description": "Search mode: company names, e.g. \"Nokia\". Lookup mode: registry IDs, e.g. 383474814 (FR SIREN), 923609016 (NO), 0112038-9 (FI), 12417834 (EE). Prefix with the country to avoid ambiguity, e.g. NO:923609016. LEI mode: 20-character LEI codes.",
            "items": {
              "type": "string"
            }
          },
          "vatNumbers": {
            "title": "VAT numbers",
            "type": "array",
            "description": "VAT mode only. EU VAT numbers with country prefix, e.g. FR89383474814, FI01120389, EE101335276, DE123456789. Numbers with a wrong format for their country are skipped without a charge and listed in the SUMMARY record. Norwegian numbers (NO923609016MVA) are checked in the Brønnøysund VAT register because Norway is not in VIES. French, Finnish and Norwegian numbers are also matched to their registry record.",
            "items": {
              "type": "string"
            }
          },
          "maxItemsPerQuery": {
            "title": "Max results per query and country",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum companies saved per query in each country. Estonia's public autocomplete returns at most 10.",
            "default": 10
          },
          "industryCodes": {
            "title": "Industry (NACE codes)",
            "type": "array",
            "description": "Search and lookup modes. Keep only companies whose main activity code starts with one of these NACE codes, e.g. 62 (IT services), 62.01 or 47.64. Works for France, Norway and Finland. Estonian results have no industry code and are skipped when this filter is set. Leave empty for all industries.",
            "items": {
              "type": "string"
            }
          },
          "includeVies": {
            "title": "Validate VAT numbers in VIES",
            "type": "boolean",
            "description": "For each company with a known EU VAT number (France, Finland, Estonia with open-data enrichment), check it live in the EU VIES service and add vatValid, vatName and vatAddress. Each successful check is a small extra charge.",
            "default": true
          },
          "includeLei": {
            "title": "Add LEI code from GLEIF",
            "type": "boolean",
            "description": "Look up the Legal Entity Identifier (LEI) of each company in the GLEIF database by its registry ID. Adds about 1 second per company (GLEIF rate limit).",
            "default": false
          },
          "estoniaBulkEnrichment": {
            "title": "Estonia: add VAT number and registration date from the daily open-data file",
            "type": "boolean",
            "description": "The Estonian public autocomplete has no VAT number or registration date. When on, the Actor downloads the official daily open-data file (about 18 MB, CC BY 4.0) once per run and adds VAT number, first registration date and a normalized address. Needed to validate Estonian VAT numbers against a registry record. Adds 5 to 15 seconds.",
            "default": false
          },
          "excludeNaturalPersons": {
            "title": "Exclude sole traders and other natural persons (GDPR)",
            "type": "boolean",
            "description": "Skip entities that are natural persons, such as French entrepreneurs individuels, Norwegian ENK, Estonian FIE and GLEIF sole proprietors. French records without a legal form are treated the same way. Their registry address is often a home address. Keep this on unless you have a lawful basis to process personal data.",
            "default": true
          },
          "onlyActive": {
            "title": "Only active companies",
            "type": "boolean",
            "description": "Skip companies that are ceased, deleted, bankrupt or in liquidation.",
            "default": false
          },
          "includeRaw": {
            "title": "Include raw source record",
            "type": "boolean",
            "description": "Add the original API record in the raw field. Personal data is removed: natural-person executives from French records, and phone and e-mail fields from Norwegian records.",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}