{
  "openapi": "3.0.1",
  "info": {
    "title": "Poland KRS Scraper: Krajowy Rejestr Sądowy Data, Feed, Monitor",
    "description": "Poland KRS scraper (Krajowy Rejestr Sądowy): look up companies by KRS, NIP or REGON, follow new and changed registrations by date, or monitor a watchlist. 30+ filters. Board, owners, PKD, filings, risk flags and history as JSON. Pay per company record. No login or API key.",
    "version": "0.1",
    "x-build-id": "Z43p0aHvxrogPa35B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~poland-krs-company-registry-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-poland-krs-company-registry-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~poland-krs-company-registry-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-poland-krs-company-registry-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~poland-krs-company-registry-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-poland-krs-company-registry-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": {
          "mode": {
            "title": "What do you want to get",
            "enum": [
              "lookup",
              "newCompanies",
              "changes",
              "monitor",
              "range"
            ],
            "type": "string",
            "description": "Lookup reads the numbers you list. The two feeds discover companies you do not know yet from the daily court bulletin. Monitor remembers each watched company and reports exactly what changed. Range scan walks consecutive KRS numbers.",
            "default": "lookup"
          },
          "krsNumbers": {
            "title": "KRS numbers",
            "type": "array",
            "description": "KRS numbers to read, with or without leading zeros (for example 0000028860 for ORLEN). Used by lookup and monitor modes.",
            "default": [
              "0000028860",
              "0000006865",
              "0000023302",
              "0000026438",
              "0000019193"
            ],
            "items": {
              "type": "string"
            }
          },
          "nipNumbers": {
            "title": "NIP numbers",
            "type": "array",
            "description": "Polish tax numbers. Each NIP is matched to its KRS number through the public VAT white list, so it only works for VAT-registered companies that have a KRS entry. Used by lookup and monitor modes.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "regonNumbers": {
            "title": "REGON numbers",
            "type": "array",
            "description": "9 or 14 digit REGON numbers, matched to a KRS number through the public VAT white list. Used by lookup and monitor modes.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "registers": {
            "title": "Register",
            "enum": [
              "both",
              "P",
              "S"
            ],
            "type": "string",
            "description": "KRS keeps two registers. Leave on both unless you know which one your numbers belong to, which saves one request per number.",
            "default": "both"
          },
          "krsRangeFrom": {
            "title": "Range scan: first KRS number",
            "minimum": 1,
            "maximum": 9999999,
            "type": "integer",
            "description": "Range mode only. First KRS number of the block to read. Numbers are handed out in order, so the newest companies sit at the highest numbers."
          },
          "krsRangeTo": {
            "title": "Range scan: last KRS number",
            "minimum": 1,
            "maximum": 9999999,
            "type": "integer",
            "description": "Range mode only. Last KRS number of the block. The run stops earlier when it reaches the limit of companies to read."
          },
          "daysBack": {
            "title": "Days back",
            "minimum": 1,
            "maximum": 31,
            "type": "integer",
            "description": "Feed modes only. How many calendar days the window covers, counting today: 1 is today only, 3 is today and the two days before. Ignored when you set both dates below.",
            "default": 3
          },
          "fromDate": {
            "title": "From date",
            "type": "string",
            "description": "Feed modes only. First day of the window, for example 2026-10-01. Leave empty to use days back."
          },
          "toDate": {
            "title": "To date",
            "type": "string",
            "description": "Feed modes only. Last day of the window. Leave empty for today."
          },
          "deepScan": {
            "title": "Deep scan",
            "type": "boolean",
            "description": "New company feed only. Normally the scan stops after 500 numbers in a row that are not new registrations, which finds almost every new company in a fraction of the time. Turn this on to read every number in the bulletins.",
            "default": false
          },
          "legalForms": {
            "title": "Legal forms",
            "type": "array",
            "description": "Keep only these legal forms. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "llc",
                "joint_stock",
                "simple_joint_stock",
                "limited_partnership",
                "limited_joint_stock_partnership",
                "general_partnership",
                "professional_partnership",
                "cooperative",
                "foundation",
                "association",
                "trade_union",
                "state_enterprise",
                "foreign_branch",
                "other"
              ],
              "enumTitles": [
                "Spółka z o.o. (limited liability company)",
                "Spółka akcyjna (joint stock company)",
                "Prosta spółka akcyjna (simple joint stock company)",
                "Spółka komandytowa (limited partnership)",
                "Spółka komandytowo-akcyjna",
                "Spółka jawna (general partnership)",
                "Spółka partnerska (professional partnership)",
                "Spółdzielnia (cooperative)",
                "Fundacja (foundation)",
                "Stowarzyszenie (association)",
                "Związek zawodowy (trade union)",
                "Przedsiębiorstwo państwowe (state enterprise)",
                "Oddział zagranicznego przedsiębiorcy (foreign branch)",
                "Other legal forms"
              ]
            },
            "default": []
          },
          "voivodeships": {
            "title": "Voivodeships",
            "type": "array",
            "description": "Keep only companies whose registered office is in these voivodeships (regions). Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "DOLNOŚLĄSKIE",
                "KUJAWSKO-POMORSKIE",
                "LUBELSKIE",
                "LUBUSKIE",
                "ŁÓDZKIE",
                "MAŁOPOLSKIE",
                "MAZOWIECKIE",
                "OPOLSKIE",
                "PODKARPACKIE",
                "PODLASKIE",
                "POMORSKIE",
                "ŚLĄSKIE",
                "ŚWIĘTOKRZYSKIE",
                "WARMIŃSKO-MAZURSKIE",
                "WIELKOPOLSKIE",
                "ZACHODNIOPOMORSKIE"
              ],
              "enumTitles": [
                "Dolnośląskie",
                "Kujawsko-Pomorskie",
                "Lubelskie",
                "Lubuskie",
                "Łódzkie",
                "Małopolskie",
                "Mazowieckie",
                "Opolskie",
                "Podkarpackie",
                "Podlaskie",
                "Pomorskie",
                "Śląskie",
                "Świętokrzyskie",
                "Warmińsko-Mazurskie",
                "Wielkopolskie",
                "Zachodniopomorskie"
              ]
            },
            "default": []
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Keep only companies registered in these cities. Spelling without Polish letters works too, for example Lodz.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "postalCodePrefixes": {
            "title": "Postal code prefixes",
            "type": "array",
            "description": "Keep only registered offices whose postal code starts with one of these, for example 00 or 30-0. Useful for a district of a big city.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "nameContains": {
            "title": "Name contains",
            "type": "array",
            "description": "Keep only companies whose registered name contains any of these words. Accents are ignored.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeTerms": {
            "title": "Exclude terms",
            "type": "array",
            "description": "Drop companies when the name, city, main activity or statutory purpose contains any of these words.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "pkdCodes": {
            "title": "PKD activity codes",
            "type": "array",
            "description": "Keep only companies with these PKD activity codes or code prefixes, for example 62 for software, 62.01 or 62.01.Z.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "pkdScope": {
            "title": "PKD match on",
            "enum": [
              "any",
              "main"
            ],
            "type": "string",
            "description": "Whether the PKD filter looks at every activity the company registered or only its main (predominant) one.",
            "default": "any"
          },
          "registeredFrom": {
            "title": "Registered from",
            "type": "string",
            "description": "Keep only companies first registered in KRS on or after this date."
          },
          "registeredTo": {
            "title": "Registered to",
            "type": "string",
            "description": "Keep only companies first registered in KRS on or before this date."
          },
          "minShareCapital": {
            "title": "Minimum share capital",
            "minimum": 0,
            "type": "number",
            "description": "Keep only companies with at least this share capital. Entities without a published capital are dropped when this is set."
          },
          "maxShareCapital": {
            "title": "Maximum share capital",
            "minimum": 0,
            "type": "number",
            "description": "Keep only companies with at most this share capital."
          },
          "onlyWithWebsite": {
            "title": "Only with a website",
            "type": "boolean",
            "description": "Keep only companies that published a website address in the register.",
            "default": false
          },
          "onlyWithEmail": {
            "title": "Only with an email",
            "type": "boolean",
            "description": "Keep only companies that published an email address in the register. Only a minority of entities do.",
            "default": false
          },
          "onlyWithFinancialStatements": {
            "title": "Only with filed financial statements",
            "type": "boolean",
            "description": "Keep only companies whose register shows at least one annual financial statement filed.",
            "default": false
          },
          "latestStatementYearFrom": {
            "title": "Latest statement year from",
            "minimum": 1990,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep only companies whose latest filed annual statement ends in this year or later, for example 2025 to find companies that are up to date with their filings."
          },
          "statuses": {
            "title": "Status",
            "type": "array",
            "description": "Keep only companies with one of these statuses, worked out from the sections the register publishes. Struck-off entities are only reachable by number in lookup and monitor modes.",
            "items": {
              "type": "string",
              "enum": [
                "active",
                "suspended",
                "inLiquidation",
                "inBankruptcy",
                "inRestructuring",
                "dissolved",
                "deregistered"
              ],
              "enumTitles": [
                "Active",
                "Business suspended",
                "In liquidation",
                "In bankruptcy",
                "In restructuring",
                "Dissolved",
                "Struck off the register"
              ]
            },
            "default": []
          },
          "onlyWithArrears": {
            "title": "Only with tax arrears on record",
            "type": "boolean",
            "description": "Keep only companies that have an entry about arrears subject to enforcement (zaległości) in the register.",
            "default": false
          },
          "boardMemberNameContains": {
            "title": "Board member name contains",
            "type": "array",
            "description": "Keep only companies where a management board member, proxy or supervisory board member name contains any of these. Natural persons are masked by the open register (for example J***** K*******), so this works best with a first letter or with legal-entity members.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "boardRoleContains": {
            "title": "Board role contains",
            "type": "array",
            "description": "Keep only companies with a management board member or proxy whose role contains any of these words, for example PREZES or PROKURENT.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minBoardMembers": {
            "title": "Minimum board members",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep only companies with at least this many management board members."
          },
          "maxBoardMembers": {
            "title": "Maximum board members",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep only companies with at most this many management board members."
          },
          "onlyWithSupervisoryBoard": {
            "title": "Only with a supervisory board",
            "type": "boolean",
            "description": "Keep only companies that have a supervisory board (rada nadzorcza) or audit committee with members listed.",
            "default": false
          },
          "shareholderNameContains": {
            "title": "Shareholder name contains",
            "type": "array",
            "description": "Keep only companies owned by a shareholder or partner whose name contains any of these. Corporate shareholders are shown in full, which makes this a way to find the subsidiaries of a group.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "shareholderKrs": {
            "title": "Shareholder KRS numbers",
            "type": "array",
            "description": "Keep only companies that list one of these KRS numbers as a corporate shareholder or partner.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "onlyWithCorporateShareholders": {
            "title": "Only with corporate shareholders",
            "type": "boolean",
            "description": "Keep only companies whose shareholders include another company or institution.",
            "default": false
          },
          "outputSections": {
            "title": "Output sections",
            "type": "array",
            "description": "Core identity, address, capital, status and filing summary are always included. Pick the extra blocks you want. History, VAT status, bank accounts and EU VAT cost extra requests, so they are off by default.",
            "items": {
              "type": "string",
              "enum": [
                "board",
                "ownership",
                "activities",
                "filings",
                "risk",
                "branches",
                "history",
                "vatStatus",
                "bankAccounts",
                "euVat"
              ],
              "enumTitles": [
                "Management board, supervisory board, proxies, liquidators",
                "Shareholders, partners, supervising authority",
                "All PKD activities and statutory purpose",
                "Annual financial statements filing list",
                "Suspension, liquidation, bankruptcy, restructuring, tax arrears, mergers",
                "Branches and local units",
                "Full history from the complete extract (extra request per company)",
                "VAT status from the public VAT white list (extra request, 30 companies at a time)",
                "Bank accounts from the VAT white list (extra request)",
                "EU VAT validity from VIES (extra request per company)"
              ]
            },
            "default": [
              "board",
              "ownership",
              "activities",
              "filings",
              "risk"
            ]
          },
          "historyEntriesLimit": {
            "title": "History entries to include",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "When history is on, how many of the most recent register entries are listed. Name, address, capital and board timelines always cover the whole history.",
            "default": 25
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "A short name for this watchlist or feed, for example polish-targets. Monitor mode needs it to remember each company. In the feed modes it makes the run return every company only once across scheduled runs."
          },
          "monitorFields": {
            "title": "Report changes in",
            "type": "array",
            "description": "Monitor mode only. Which kinds of change to report. Leave empty to report every change.",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "address",
                "status",
                "capital",
                "board",
                "owners",
                "activities",
                "contact",
                "filings",
                "identifiers",
                "arrears",
                "legalForm",
                "entry"
              ],
              "enumTitles": [
                "Name",
                "Address and region",
                "Status (liquidation, bankruptcy, suspension, VAT)",
                "Share capital",
                "Board, supervisory board and proxies",
                "Shareholders and partners",
                "PKD activities",
                "Website and email",
                "Financial statements filed",
                "NIP and REGON",
                "Tax arrears",
                "Legal form",
                "Any new register entry"
              ]
            },
            "default": []
          },
          "emitBaseline": {
            "title": "Return the first snapshot",
            "type": "boolean",
            "description": "Monitor mode only. On the first run for a company there is nothing to compare with. When on, the company is returned once with change status baseline so you can see what is being watched.",
            "default": true
          },
          "monitorFullRescan": {
            "title": "Read every watched company each run",
            "type": "boolean",
            "description": "Monitor mode only. By default big watchlists are checked against the daily court bulletin and only companies with a new register entry are read again. Turn this on to read every company every run.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stops after this many company records. Free plan runs are limited to 25.",
            "default": 10
          },
          "maxScan": {
            "title": "Maximum companies to read",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Feed and range modes read many companies that the filters then drop. This caps how many are read in one run. Free plan runs are limited to 150.",
            "default": 300
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "The public registers answer without a proxy, so the default connects directly. If the direct route keeps failing the run switches once to a datacenter proxy by itself.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}