{
  "openapi": "3.0.1",
  "info": {
    "title": "Poland VAT Whitelist & KRS API: Biała lista, NIP, Accounts",
    "description": "VAT status, whitelisted bank accounts, KRS board, share capital and liquidation flags for Polish NIPs, IBANs and KRS numbers in bulk. Official MF request ID. No API key, no login. MCP-ready for AI agents. Not found is free. $3 per 1,000 entities. Weryfikacja kontrahenta: biała lista VAT i KRS.",
    "version": "0.1",
    "x-build-id": "94GnrjZqDvbhkIDgj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/actose~poland-vat-whitelist-krs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-actose-poland-vat-whitelist-krs",
        "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/actose~poland-vat-whitelist-krs/runs": {
      "post": {
        "operationId": "runs-sync-actose-poland-vat-whitelist-krs",
        "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/actose~poland-vat-whitelist-krs/run-sync": {
      "post": {
        "operationId": "run-sync-actose-poland-vat-whitelist-krs",
        "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": {
          "nips": {
            "title": "NIP numbers (Polish tax IDs)",
            "type": "array",
            "description": "10-digit Polish tax identification numbers. Dashes, spaces and the PL prefix are accepted (e.g. PL 525-234-40-78). Each NIP returns its VAT status, whitelisted bank accounts and, if enabled, KRS data. Invalid numbers are reported free of charge.",
            "items": {
              "type": "string"
            }
          },
          "bankAccounts": {
            "title": "Bank account numbers (NRB / IBAN PL)",
            "type": "array",
            "description": "26-digit Polish bank account numbers (NRB), with or without PL prefix and spaces. Returns whether the account is on the VAT whitelist and who owns it. Use before paying an invoice over 15,000 PLN.",
            "items": {
              "type": "string"
            }
          },
          "nipAccountPairs": {
            "title": "NIP;account pairs to verify",
            "type": "array",
            "description": "Verify that a given bank account belongs to a given NIP on the whitelist (official check endpoint, also covers virtual / split accounts). Format: NIP;ACCOUNT, e.g. 5252344078;34103015080000000504162001.",
            "items": {
              "type": "string"
            }
          },
          "krsNumbers": {
            "title": "KRS numbers",
            "type": "array",
            "description": "National Court Register numbers (up to 10 digits, leading zeros optional). Returns the current KRS extract (legal form, share capital, board, representation rules, proxies, PKD, liquidation/insolvency entries) plus the VAT status of its NIP.",
            "items": {
              "type": "string"
            }
          },
          "includeKrs": {
            "title": "Add KRS register data",
            "type": "boolean",
            "description": "For NIPs and bank accounts whose owner has a KRS number, also fetch the current KRS extract (representatives, share capital, representation method, liquidation flags).",
            "default": true
          },
          "outputLanguage": {
            "title": "Output language",
            "enum": [
              "en",
              "pl"
            ],
            "type": "string",
            "description": "Language of the human-readable fields (vatStatus, summary). Field names stay in English; official Polish values (vatStatusPl, krsLegalForm) are always kept.",
            "default": "en"
          },
          "date": {
            "title": "Check date (YYYY-MM-DD)",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Date of the VAT whitelist status (the register keeps 5 years of history). Leave empty for today (Polish time). KRS data is always the current extract."
          },
          "onlyChanged": {
            "title": "Only changed since last run (monitoring)",
            "type": "boolean",
            "description": "For scheduled runs: output (and pay for) only entities whose VAT status, accounts or KRS data changed since the previous run with the same watchlist name. First run outputs everything.",
            "default": false
          },
          "watchlistName": {
            "title": "Watchlist name",
            "type": "string",
            "description": "Name of the memory used by 'Only changed'. Use a different name per client or supplier list.",
            "default": "default"
          },
          "saveKrsExtract": {
            "title": "Save the raw KRS extract (JSON file)",
            "type": "boolean",
            "description": "Store the full official KRS JSON extract in the key-value store and add its link (krsRawExtractUrl) to the result, for audit files.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}