{
  "openapi": "3.0.1",
  "info": {
    "title": "North Data Scraper: Company Register, Officers & Change Monitor",
    "description": "Search North Data for European companies by name, register number, person or address. Get status, officers with role history, yearly revenue, earnings, company history and linked companies. Filter by country, legal form, founding date or insolvency, and monitor new and changed companies. No login.",
    "version": "0.1",
    "x-build-id": "QOT9McOAHPSzwUjka"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~northdata-companies-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-northdata-companies-scraper",
        "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/getascraper~northdata-companies-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-northdata-companies-scraper",
        "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/getascraper~northdata-companies-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-northdata-companies-scraper",
        "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",
        "properties": {
          "searchQueries": {
            "title": "Company, person or register number",
            "type": "array",
            "description": "What to look up: company names, commercial register numbers such as HRB 6684, or person names. Each entry is its own search and returns up to 45 matches, the most North Data shows without a subscription. Name searches match company names and former names. The pre-filled example (Siemens) is ignored when you use Addresses or Start URLs and leave it unchanged.",
            "default": [
              "Siemens"
            ],
            "items": {
              "type": "string"
            }
          },
          "addresses": {
            "title": "Street addresses",
            "type": "array",
            "description": "Street addresses to check, written as street, postcode, city and country, for example 'Werner-von-Siemens-Str. 1, 80333 München, Germany'. Returns the companies registered at that address, useful to spot letterbox addresses and groups sharing one office. Without the country the site may read the text as a person name.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "North Data links",
            "type": "array",
            "description": "Company page links, person page links or search links copied from northdata.com. A company link always reads the full company profile.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "includePeople": {
            "title": "Include people in results",
            "type": "boolean",
            "description": "Also return people the search finds (name, city and the companies they are linked to). Off by default so a company search returns companies only.",
            "default": false
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Keep only companies registered in these countries. Applied to the search results before any profile is read, so it costs nothing extra.",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AT",
                "BE",
                "BG",
                "HR",
                "CY",
                "CZ",
                "DK",
                "EE",
                "FI",
                "FR",
                "DE",
                "GR",
                "HU",
                "IE",
                "IL",
                "IT",
                "XK",
                "LV",
                "LI",
                "LT",
                "LU",
                "MT",
                "NL",
                "NO",
                "PL",
                "PT",
                "RO",
                "SK",
                "SI",
                "ES",
                "SE",
                "CH",
                "UA",
                "GB",
                "US"
              ],
              "enumTitles": [
                "Albania",
                "Austria",
                "Belgium",
                "Bulgaria",
                "Croatia",
                "Cyprus",
                "Czech Republic",
                "Denmark",
                "Estonia",
                "Finland",
                "France",
                "Germany",
                "Greece",
                "Hungary",
                "Ireland",
                "Israel",
                "Italy",
                "Kosovo",
                "Latvia",
                "Liechtenstein",
                "Lithuania",
                "Luxembourg",
                "Malta",
                "Netherlands",
                "Norway",
                "Poland",
                "Portugal",
                "Romania",
                "Slovakia",
                "Slovenia",
                "Spain",
                "Sweden",
                "Switzerland",
                "Ukraine",
                "United Kingdom",
                "United States"
              ]
            }
          },
          "statuses": {
            "title": "Company status",
            "type": "array",
            "description": "Keep only companies in these states. Terminated companies are marked as dissolved on North Data, in liquidation means the company is being wound up.",
            "items": {
              "type": "string",
              "enum": [
                "active",
                "in liquidation",
                "terminated"
              ],
              "enumTitles": [
                "Active",
                "In liquidation",
                "Terminated"
              ]
            }
          },
          "legalForms": {
            "title": "Legal forms",
            "type": "array",
            "description": "Keep only companies whose registered name ends with one of these legal forms, for example GmbH, AG, UG, KG, Ltd., B.V., S.A.S.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Keep only companies whose registered seat contains one of these city names, for example München or Hamburg. Accents and capital letters are ignored.",
            "items": {
              "type": "string"
            }
          },
          "registerCourts": {
            "title": "Register courts",
            "type": "array",
            "description": "Keep only companies filed at a register court or authority containing one of these words, as North Data prints them in English, for example Munich or Charlottenburg.",
            "items": {
              "type": "string"
            }
          },
          "nameIncludes": {
            "title": "Name must contain one of",
            "type": "array",
            "description": "Keep only companies whose name or former name contains at least one of these words.",
            "items": {
              "type": "string"
            }
          },
          "nameExcludes": {
            "title": "Name must not contain",
            "type": "array",
            "description": "Drop companies whose name or former name contains any of these words, for example holding or verwaltung to skip shell companies.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Read the full company profile",
            "type": "boolean",
            "description": "Adds the registered address, founding date, business purpose, officers with roles, officer history, published financial figures by year, register events, latest publications and linked companies. One extra page is read per company and billed as a detail event. Off returns the search result facts only (name, status, seat, register entry, former names).",
            "default": false
          },
          "maxEvents": {
            "title": "Latest publications per company",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "How many of the newest register publications (role changes, capital changes, annual reports, shareholder notices) to include per company when full profiles are read. Set 0 to leave them out.",
            "default": 25
          },
          "foundedAfter": {
            "title": "Founded on or after",
            "type": "string",
            "description": "Keep only companies founded on or after this date. Reads each candidate's full profile to check it."
          },
          "foundedBefore": {
            "title": "Founded on or before",
            "type": "string",
            "description": "Keep only companies founded on or before this date."
          },
          "foundedWithinDays": {
            "title": "Founded within the last days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only companies founded in the last N days, counted from the day of the run. Handy for scheduled new-company watches. 0 turns it off.",
            "default": 0
          },
          "minRevenue": {
            "title": "Minimum revenue",
            "minimum": 0,
            "type": "number",
            "description": "Keep only companies whose latest published revenue is at least this amount, in the currency of the filing. Companies without published revenue are dropped when this is set."
          },
          "maxRevenue": {
            "title": "Maximum revenue",
            "minimum": 0,
            "type": "number",
            "description": "Keep only companies whose latest published revenue is at most this amount. Companies without published revenue are dropped when this is set."
          },
          "onlyWithFinancials": {
            "title": "Only companies with published figures",
            "type": "boolean",
            "description": "Keep only companies for which North Data shows at least one public financial figure such as revenue, earnings or total assets.",
            "default": false
          },
          "minOfficers": {
            "title": "Minimum number of officers",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Keep only companies with at least this many officers on record, useful to separate single-director shells from established firms.",
            "default": 0
          },
          "insolvency": {
            "title": "Insolvency events",
            "enum": [
              "any",
              "only",
              "exclude"
            ],
            "type": "string",
            "description": "Only companies with insolvency or liquidation notices in their register events, or exclude them. Useful for supplier and credit risk checks.",
            "default": "any"
          },
          "monitorScope": {
            "title": "Monitor name",
            "type": "string",
            "description": "Give this watch a name to deliver only new or changed companies on each run. Runs with the same name share one saved memory kept for 120 days; use different names for different watch lists. Leave empty for a normal run.",
            "default": ""
          },
          "monitorEmit": {
            "title": "What to deliver in monitor mode",
            "enum": [
              "newAndChanged",
              "newOnly"
            ],
            "type": "string",
            "description": "New and changed returns companies seen for the first time plus those whose status, name, seat or register entry changed (and, with full profiles, officers, address, capital or new publications). New only skips changes.",
            "default": "newAndChanged"
          },
          "maxResults": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Total number of rows to return in this run. Raise it for bigger jobs. Free plan runs are limited to 25 rows.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "North Data refuses many quick requests from one address, so each request goes out through a fresh Apify datacenter address by default. Leave it on unless you bring your own proxies.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}