When you need batch verification
Whenever your counterparty list gets larger — importing customers from a CRM, verifying before an annual report, running a periodic supplier audit — checking each tax ID one by one takes hours. This bulk tool queries the same register as the single-lookup tool, just in batches: MF accepts up to 30 tax IDs per request, so a list of 300 counterparties finishes in seconds instead of half a day.
Results appear in a table you can immediately export to CSV (semicolon-separated, opens in Excel) or JSON — without anything being saved on our server. All the work happens in your browser.
How it works
After you paste the list, the tool: (1) cleans entries and drops duplicates, (2) validates each tax ID's checksum, (3) splits the list into batches of 30 and hits the MF VAT Register batch endpoint, (4) merges results with the local 24h cache shared with the single-lookup VAT White List tool, (5) renders the table and prepares export.
KRS numbers appear if the entity reported them — but we don't pull full KRS data (share capital, representation, PKD) in batch mode to stay off the Ministry of Justice's tighter rate limits. Use the individual KRS data tool when you need the full company record.
Checking the same list regularly? Instead of repeating queries, set up monitoring — it watches up to 10 tax IDs and alerts you to changes.
For developers and AI agents: check the whole list in one request — GET https://skanfirmy.pl/nips/{list}?format=json (comma-separated tax IDs, no key), or an AI agent can call sprawdz_lista_nip on the MCP server. Since 26 Sep 2026, for natural persons running a business (entities without a KRS number) the API and the MCP server return the number of bank accounts instead of the list, and just the town instead of the address, and since 27 Sep 2026 also no REGON; this tool works in the same scope (including CSV, JSON and “Copy accounts”) — details in the VAT White List API. Endpoint map: llms.txt.
Frequently asked questions
How many tax IDs can I check at once?
The interface accepts up to 3,000 tax IDs per run. The daily ceiling comes from the Ministry of Finance: 100 queries a day of at most 30 tax IDs each, so up to 3,000 tax IDs. Your browser sends the queries straight to the Ministry, so the limit applies to your queries, not to a shared pool of this service. Past it, the Ministry may block access until midnight (HTTP 429).
Where does the data come from?
Straight from the VAT Payers Register kept by the Polish Ministry of Finance — exactly the same register the VAT White List tool uses. Requests go from your browser directly to the MF API; nothing passes through our server.
Do results include KRS data?
Just the KRS number, if the entity reported it in the VAT Register. Batch mode intentionally skips full KRS lookups — the Ministry of Justice has tighter rate limits. For full company data (share capital, PKD, representation, address) use the individual KRS data tool.
Do you save my tax IDs?
No. Everything happens in your browser — the list, the results table, the CSV/JSON export. Nothing is stored on our server. Results are cached only locally in your browser (localStorage, 24h; for natural persons only the fields shown: name, VAT status, town and number of accounts) — checking the same tax ID again during that window doesn't hit MF.
What export formats are available?
Either CSV — semicolon separator, UTF-8 with BOM (Excel picks up Polish characters correctly), or JSON with the fields shown in the table — since 27 Sep 2026 without the raw MF record (no representatives, authorized clerks or partners), in the same shape as the /nips API results. For natural persons running a business, CSV, JSON and “Copy accounts” contain no account numbers or REGON — only the town and the number of accounts (GDPR). The filename includes the check date.
What happens to invalid tax IDs or entries missing from the Register?
They appear in the table with a clear marker ("not in Register" or "invalid"), and the rest of the list is checked as usual. Invalid tax IDs don't eat into the MF limit — we filter them out before sending the request.