getregdata-mcp 1.2.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +7 -5
  2. package/actors.js +651 -86
  3. package/index.js +3 -3
  4. package/package.json +8 -3
package/README.md CHANGED
@@ -4,8 +4,10 @@ An [MCP](https://modelcontextprotocol.io) server that gives any MCP-capable agen
4
4
  (Claude Desktop, Claude Code, Cursor, Cline, Windsurf, ...) direct
5
5
  access to **official business-registry actors** for KYC/AML, credit-risk,
6
6
  due-diligence and B2B data across Poland, Germany, Italy, Spain, Austria, France,
7
- Belgium, Czechia, Slovakia, Cyprus, Ireland, Portugal, Nigeria, Colombia, the US
8
- (California) and the UAE - plus a cross-border adverse-media screener.
7
+ Belgium, Czechia, Slovakia, Norway, Denmark, Estonia, Cyprus, Ireland, Portugal,
8
+ Nigeria, Colombia, the US (California, Illinois, county clerks) and the UAE - plus a cross-border adverse-media screener.
9
+
10
+ **Where it is strongest:** insolvency and restructuring proceedings from official gazettes in Poland, Germany, Austria, France, Spain and Czechia, and Central and Eastern European registers that global databases carry thinly - KRS financial statements, CRBR beneficial owners, Polish land and mortgage registers, Czech annual accounts and the Slovak UBO register.
9
11
 
10
12
  For a Polish company, **`regdata_poland_kyb_check` answers the whole question in one
11
13
  call** - identity, beneficial owners, and insolvency screened against the company and
@@ -38,7 +40,7 @@ ownership, so anyone holding the ID can read that check's result.
38
40
  ## Setup
39
41
 
40
42
  You need an Apify API token (free, includes $5 credits):
41
- [apify.com](https://apify.com?fpr=getregdata).
43
+ [apify.com](https://getregdata.com/go/signup/mcp-readme/).
42
44
 
43
45
  ### Claude Desktop / Claude Code
44
46
 
@@ -72,7 +74,7 @@ first-class tools there:
72
74
  https://mcp.apify.com/?actors=regdata/crbr-beneficial-owners-scraper,regdata/krz-debtor-scraper,regdata/germany-handelsregister-scraper,regdata/poland-krs-financial-scraper,regdata/adverse-media-screener
73
75
  ```
74
76
 
75
- Swap in any [regdata actor](https://apify.com/regdata?fpr=getregdata), or connect plain
77
+ Swap in any [regdata actor](https://getregdata.com/go/catalog/mcp-readme/), or connect plain
76
78
  `https://mcp.apify.com` and let the agent discover them via `search-actors`
77
79
  ("Poland beneficial owners", "Germany insolvency", ...). OAuth signs you into your
78
80
  own Apify account, so billing and the free credit work exactly like the local server.
@@ -94,7 +96,7 @@ If the agent is unsure of a registry's exact input fields, it calls
94
96
 
95
97
  Pay-per-result on Apify, no subscription - from ~$0.003/result depending on actor
96
98
  and plan tier. The $5 monthly free credit covers hundreds to ~1,600 lookups. Each
97
- actor's current price is on its Store page at [apify.com/regdata](https://apify.com/regdata?fpr=getregdata).
99
+ actor's current price is on its Store page at [apify.com/regdata](https://getregdata.com/go/catalog/mcp-readme/).
98
100
 
99
101
  ## How it works
100
102
 
package/actors.js CHANGED
@@ -1,6 +1,6 @@
1
- // Auto-generated from the live Apify fleet (deployed builds). 35 regdata actors.
1
+ // Auto-generated from the live Apify fleet (deployed builds). 44 regdata actors.
2
2
  // Regenerate with: APIFY_TOKEN=... node scripts/gen-manifest.mjs
3
- // Generated 2026-10-27. Do not edit inputSchema by hand.
3
+ // Generated 2026-11-01. Do not edit inputSchema by hand.
4
4
  export const ACTORS = [
5
5
  {
6
6
  "slug": "poland-kyb-check",
@@ -92,22 +92,6 @@ export const ACTORS = [
92
92
  "title": "Max hits per entity",
93
93
  "description": "Maximum number of adverse hits to return per entity. 1-50.",
94
94
  "default": 25
95
- },
96
- "model": {
97
- "type": "string",
98
- "title": "Classification model (advanced)",
99
- "description": "OpenRouter model id used for classification. Default is a cheap, accurate model.",
100
- "default": "deepseek/deepseek-chat"
101
- },
102
- "serperApiKey": {
103
- "type": "string",
104
- "title": "Serper API Key (optional override)",
105
- "description": "Optional. Search is included; provide your own Serper key only to bill search to your own account."
106
- },
107
- "openRouterApiKey": {
108
- "type": "string",
109
- "title": "OpenRouter API Key (optional override)",
110
- "description": "Optional. The LLM is included; provide your own OpenRouter key only to bill classification to your own account."
111
95
  }
112
96
  },
113
97
  "additionalProperties": true
@@ -475,6 +459,139 @@ export const ACTORS = [
475
459
  ]
476
460
  }
477
461
  },
462
+ {
463
+ "slug": "illinois-sos-business-search",
464
+ "tool": "regdata_illinois_sos_business",
465
+ "title": "Illinois Secretary of State - Business Search and New Filings",
466
+ "description": "Search the Illinois Secretary of State business register by company name or 8-digit file number, or (mode=newFilings) list LLCs and corporations newly organized in Illinois between two dates within the last 13 months. Returns entity name, file number, type, status, formation and other dates, registered agent, and managers or officers. Name search matches entities whose name contains all the words; onlyActive keeps entities in good standing. For a daily new-business feed, schedule newFilings with onlyNewSinceLastRun so late-indexed filings arrive exactly once. No API key.",
467
+ "inputSchema": {
468
+ "type": "object",
469
+ "properties": {
470
+ "mode": {
471
+ "type": "string",
472
+ "title": "What to do",
473
+ "description": "<b>Search</b> looks up the company names or Illinois file numbers you list. <b>New filings</b> lists the LLCs and corporations organized in Illinois between two dates (the last 13 months) - schedule it daily with \"Only entities not delivered before\" for a feed.",
474
+ "enum": [
475
+ "search",
476
+ "newFilings"
477
+ ],
478
+ "default": "search"
479
+ },
480
+ "searchQueries": {
481
+ "type": "array",
482
+ "title": "Search queries",
483
+ "description": "Company names or 8-digit Illinois file numbers, one per line. A name matches every entity whose name contains all its words (\"LLC\", \"Inc\" and similar endings are ignored, except that an exact full name is listed first)."
484
+ },
485
+ "maxResultsPerQuery": {
486
+ "type": "integer",
487
+ "title": "Max results per query",
488
+ "description": "Most entities kept per query (default 50, so a broad word does not bring thousands of records). 0 = up to 1,000.",
489
+ "default": 50
490
+ },
491
+ "entityFamilies": {
492
+ "type": "array",
493
+ "title": "Entity types",
494
+ "description": "Leave empty for both.",
495
+ "items": {
496
+ "type": "string"
497
+ }
498
+ },
499
+ "onlyActive": {
500
+ "type": "boolean",
501
+ "title": "Only active entities",
502
+ "description": "Keep only entities in good standing or reinstated.",
503
+ "default": false
504
+ },
505
+ "dateFrom": {
506
+ "type": "string",
507
+ "title": "Organized from",
508
+ "description": "New filings only. YYYY-MM-DD. Default: 7 days ago. The last 13 months are available."
509
+ },
510
+ "dateTo": {
511
+ "type": "string",
512
+ "title": "Organized to",
513
+ "description": "New filings only. YYYY-MM-DD, inclusive. Default: today."
514
+ },
515
+ "onlyNewSinceLastRun": {
516
+ "type": "boolean",
517
+ "title": "Only entities not delivered before",
518
+ "description": "New filings only. Skips entities this feed already delivered, so a daily schedule with a 7-day window catches late-registered filings exactly once.",
519
+ "default": false
520
+ },
521
+ "stateStoreName": {
522
+ "type": "string",
523
+ "title": "Feed memory store name",
524
+ "description": "New filings only. Key-value store in your Apify account that remembers what was delivered. Use a different name for each independent feed.",
525
+ "default": "illinois-sos-search-state"
526
+ }
527
+ },
528
+ "additionalProperties": true
529
+ }
530
+ },
531
+ {
532
+ "slug": "us-county-recorded-documents",
533
+ "tool": "regdata_us_county_recorded_documents",
534
+ "title": "US County Clerk Records - lis pendens, liens and deeds (Texas, Ohio, Michigan and more)",
535
+ "description": "Daily index of documents recorded with US county clerks in selected counties across Texas, Ohio, Michigan, Pennsylvania, Colorado and other states (counties enum in the input): lis pendens, liens, deeds, deeds of trust, releases, affidavits of heirship and sheriff's deeds, with recorded date, document category and grantor and grantee names. Use for pre-foreclosure and probate lead lists, lien monitoring on a named party, and title research. Pick counties and a recorded-date window (at most 31 days per run; the newest day can still be incomplete while the county finishes indexing), optionally document categories or a party name (counties index people as LAST FIRST). onlyNewSinceLastRun makes a scheduled run deliver each document once. No API key.",
536
+ "inputSchema": {
537
+ "type": "object",
538
+ "properties": {
539
+ "counties": {
540
+ "type": "array",
541
+ "title": "Counties",
542
+ "description": "The counties to read, from the county clerk's official public records search. Counties are read one after another.",
543
+ "items": {
544
+ "type": "string"
545
+ }
546
+ },
547
+ "dateFrom": {
548
+ "type": "string",
549
+ "title": "Recorded from",
550
+ "description": "First recorded date, YYYY-MM-DD. Default: yesterday. At most 31 days per run."
551
+ },
552
+ "dateTo": {
553
+ "type": "string",
554
+ "title": "Recorded to",
555
+ "description": "Last recorded date, YYYY-MM-DD, inclusive. Default: yesterday. Counties publish each day once their indexing is done, so the most recent day can still be incomplete."
556
+ },
557
+ "documentCategories": {
558
+ "type": "array",
559
+ "title": "Document categories",
560
+ "description": "Keep only these kinds of documents. Leave empty for every document recorded in the window. Each document gets one category, matched on the county's document type wording.",
561
+ "items": {
562
+ "type": "string"
563
+ }
564
+ },
565
+ "partyName": {
566
+ "type": "string",
567
+ "title": "Party name (optional)",
568
+ "description": "Only documents where this name appears as a grantor or grantee, e.g. \"SMITH JOHN\" or a company name. Counties index people as LAST FIRST. Leave empty for every document in the window."
569
+ },
570
+ "maxResults": {
571
+ "type": "integer",
572
+ "title": "Max results",
573
+ "description": "Most documents delivered in this run, across all counties. 0 = no limit.",
574
+ "default": 1000
575
+ },
576
+ "onlyNewSinceLastRun": {
577
+ "type": "boolean",
578
+ "title": "Only documents not delivered before",
579
+ "description": "For a scheduled daily feed: skips documents this feed already delivered (remembered for 60 days), so a window that overlaps the previous run still delivers each document once.",
580
+ "default": false
581
+ },
582
+ "stateStoreName": {
583
+ "type": "string",
584
+ "title": "Feed memory store name",
585
+ "description": "Key-value store in your Apify account that remembers delivered documents. Use a different name for each independent feed.",
586
+ "default": "county-records-feed-state"
587
+ }
588
+ },
589
+ "additionalProperties": true,
590
+ "required": [
591
+ "counties"
592
+ ]
593
+ }
594
+ },
478
595
  {
479
596
  "slug": "crbr-beneficial-owners-scraper",
480
597
  "tool": "regdata_crbr_beneficial_owners",
@@ -566,6 +683,226 @@ export const ACTORS = [
566
683
  "additionalProperties": true
567
684
  }
568
685
  },
686
+ {
687
+ "slug": "czech-drazby-auction-scraper",
688
+ "tool": "regdata_czech_auctions",
689
+ "title": "Czech Public Auctions - Portál dražeb (judicial executors)",
690
+ "description": "List auctions run by Czech judicial executors from the official Portál dražeb: foreclosed flats, houses, land, vehicles, machinery and whole companies, with appraised value, reserve price and the discount between them, the deposit, auction dates, property address with coordinates and the published appraisal PDF. Filter by list (upcoming, ongoing, finished, pre-emption), start-date window, category, real vs movable property, region and price range; optional detail mode adds bid history, result and objections. mode=auctioneers instead exports the directory of executor offices. An empty 'ongoing' list is normal (auctions run in short windows), not an error. No API key.",
691
+ "inputSchema": {
692
+ "type": "object",
693
+ "properties": {
694
+ "mode": {
695
+ "type": "string",
696
+ "title": "What to export",
697
+ "description": "'Auctions' enumerates auction listings. 'Executor offices' instead exports the directory of all Czech judicial executor offices with their addresses and contact details, and ignores every filter below.",
698
+ "enum": [
699
+ "auctions",
700
+ "auctioneers"
701
+ ],
702
+ "default": "auctions"
703
+ },
704
+ "listings": {
705
+ "type": "array",
706
+ "title": "Auction lists",
707
+ "description": "Which of the register's lists to read. 'Upcoming' is the main one. 'Ongoing' is empty most of the time because auctions run in short windows - that is a normal result, not an error. 'Finished' and 'Pre-emption' are small rolling windows: the register does NOT keep a historical archive, so they cannot be used to research past sale prices.",
708
+ "default": [
709
+ "upcoming"
710
+ ],
711
+ "items": {
712
+ "type": "string"
713
+ }
714
+ },
715
+ "startFrom": {
716
+ "type": "string",
717
+ "title": "Auction date from",
718
+ "description": "Earliest auction start date, YYYY-MM-DD. Defaults to today for forward-looking lists. This also drives how the run splits its queries, so a narrower window costs fewer calls."
719
+ },
720
+ "startTo": {
721
+ "type": "string",
722
+ "title": "Auction date to",
723
+ "description": "Latest auction start date, YYYY-MM-DD. Defaults to one year ahead. The register typically holds about four months of scheduled auctions."
724
+ },
725
+ "categories": {
726
+ "type": "array",
727
+ "title": "Categories",
728
+ "description": "Restrict to these property categories. The register's own category filter is hierarchical and over-broad - asking for 'Byt' also returns its parent 'Nemovitosti' and its sibling 'Nebytový prostor' - so results are filtered again locally to exactly what you picked. Turn off 'Exact category match' below if you want the register's broader interpretation.",
729
+ "items": {
730
+ "type": "string"
731
+ }
732
+ },
733
+ "itemType": {
734
+ "type": "string",
735
+ "title": "Property type",
736
+ "description": "Keep only real estate, only movable property, or both. Movable lots (vehicles, machinery, goods) usually have no address, so they cannot be placed on a map.",
737
+ "enum": [
738
+ "any",
739
+ "real",
740
+ "movable"
741
+ ],
742
+ "default": "any"
743
+ },
744
+ "counties": {
745
+ "type": "array",
746
+ "title": "Regions (kraje)",
747
+ "description": "Keep only auctions whose property lies in these regions, matched on the region name as the register spells it, e.g. 'Praha', 'Jihočeský kraj', 'Moravskoslezský kraj'. Partial matches count. Lots with no published location are excluded when this is set.",
748
+ "items": {
749
+ "type": "string"
750
+ }
751
+ },
752
+ "minPrice": {
753
+ "type": "integer",
754
+ "title": "Minimum reserve price (CZK)",
755
+ "description": "Lowest reserve (starting) price to include, in CZK. Applied by the register itself."
756
+ },
757
+ "maxPrice": {
758
+ "type": "integer",
759
+ "title": "Maximum reserve price (CZK)",
760
+ "description": "Highest reserve (starting) price to include, in CZK. Applied by the register itself."
761
+ },
762
+ "maxResults": {
763
+ "type": "integer",
764
+ "title": "Max results",
765
+ "description": "Maximum auction records to export. A lot appearing in more than one selected list is exported once, so you are never charged twice for the same auction.",
766
+ "default": 1000
767
+ },
768
+ "includeDetails": {
769
+ "type": "boolean",
770
+ "title": "Include bid history and outcome",
771
+ "description": "Fetch each auction's detail record to add bid history, result and objections. Costs one extra request per auction, so it roughly doubles a run's duration. Upcoming auctions have no bids yet, so leave this off unless you are reading finished lots.",
772
+ "default": false
773
+ },
774
+ "exactCategories": {
775
+ "type": "boolean",
776
+ "title": "Exact category match",
777
+ "description": "On by default. Keeps only the categories you selected, discarding the parent and sibling categories the register adds on its own. Turn off to receive the register's broader match.",
778
+ "default": true
779
+ }
780
+ },
781
+ "additionalProperties": true
782
+ }
783
+ },
784
+ {
785
+ "slug": "czech-annual-accounts",
786
+ "tool": "regdata_czech_annual_accounts",
787
+ "title": "Czech Annual Accounts - IČO Financial Statements",
788
+ "description": "Get the filed annual accounts (účetní závěrka) of Czech companies by IČO from the Sbírka listin of the public register: revenue, operating profit, profit before tax, net profit, total/fixed/current assets, cash, equity, share capital, long- and short-term liabilities, with the prior year from the same filing. One row per company, fiscal year and statement type (up to 5 years; group accounts on request). Figures are in whole currency units (CZK, some large companies EUR). _parseQuality: verified = balance sheet adds up; partial = adds up but revenue/profit not filed (common for small companies, which may file the balance sheet only). A row with success:false is NOT a clean bill of health: \"scan - figures not read\" and \"figures not read from this filing\" mean the filing exists but its figures were not read (sourceUrl links the document); not_found = no such company; no_filings = no annual accounts filed. Those rows are not charged. The latest year appears only once the company has filed it, often a year or two late. TIMING: about 5-10 s per company; scanned filings take longer (up to a few minutes). If the run is not finished in time, the tool returns {status, runId, note} - call regdata_run_result with that runId instead of re-running (re-running bills twice). No API key.",
789
+ "inputSchema": {
790
+ "type": "object",
791
+ "properties": {
792
+ "companyIds": {
793
+ "type": "array",
794
+ "title": "IČO numbers",
795
+ "description": "Czech company identification numbers (IČO, 8 digits), up to 1,000 per run. Example: 06401643. Each company takes a few seconds; very large lists are best split into runs of up to 300 companies."
796
+ },
797
+ "years": {
798
+ "type": "integer",
799
+ "title": "Fiscal years per company",
800
+ "description": "How many of the most recent fiscal years to return for each company (1 to 5). Each year read is one row and one charge.",
801
+ "default": 1
802
+ },
803
+ "includeConsolidated": {
804
+ "type": "boolean",
805
+ "title": "Include group (consolidated) accounts",
806
+ "description": "Also look for the consolidated group accounts next to the company's own accounts. Each group statement read is an extra row and an extra charge. Companies that file group accounts only get them either way. Off by default.",
807
+ "default": false
808
+ }
809
+ },
810
+ "additionalProperties": true,
811
+ "required": [
812
+ "companyIds"
813
+ ]
814
+ }
815
+ },
816
+ {
817
+ "slug": "norway-annual-accounts",
818
+ "tool": "regdata_norway_annual_accounts",
819
+ "title": "Norway Annual Accounts - Brønnøysund Financial Statements",
820
+ "description": "Get the filed annual accounts (årsregnskap) of Norwegian companies by organisation number (organisasjonsnummer, 9 digits) from the Brønnøysund Register of Company Accounts: revenue, operating profit, net profit, total assets, equity and liabilities, checked against the balance sheet. One row per company, fiscal year and statement type (up to 3 years; consolidated group accounts optional, each an extra row and charge). Use it after a free Brreg (Enhetsregisteret) lookup when you need the numbers, not just the identity. If the run is not finished in time, the tool returns {status, runId, note} - call regdata_run_result with that runId instead of re-running (re-running bills twice). No API key.",
821
+ "inputSchema": {
822
+ "type": "object",
823
+ "properties": {
824
+ "companyIds": {
825
+ "type": "array",
826
+ "title": "Organisation numbers",
827
+ "description": "Norwegian organisation numbers (organisasjonsnummer), 9 digits, up to 1,000 per run. Example: 923609016."
828
+ },
829
+ "years": {
830
+ "type": "integer",
831
+ "title": "Fiscal years per company",
832
+ "description": "How many of the most recent fiscal years to return for each company (1 to 3). Each year is one row and one charge.",
833
+ "default": 1
834
+ },
835
+ "includeConsolidated": {
836
+ "type": "boolean",
837
+ "title": "Include group (consolidated) accounts",
838
+ "description": "Also return the consolidated group accounts when the company files them. Each group statement is an extra row and an extra charge. Off by default.",
839
+ "default": false
840
+ }
841
+ },
842
+ "additionalProperties": true,
843
+ "required": [
844
+ "companyIds"
845
+ ]
846
+ }
847
+ },
848
+ {
849
+ "slug": "denmark-annual-accounts",
850
+ "tool": "regdata_denmark_annual_accounts",
851
+ "title": "Denmark Annual Accounts - CVR Financial Statements (Årsrapport)",
852
+ "description": "Get the filed annual reports (årsrapport) of Danish companies by CVR number (8 digits): revenue, gross profit, net profit, total assets, equity, liabilities and employees, with the prior year included, balance-checked. One row per company, fiscal year and statement type (up to 5 years; group accounts optional - companies that file group accounts only, such as listed IFRS groups, return those). Use it after a free CVR identity lookup when you need the financials. If the run is not finished in time, the tool returns {status, runId, note} - call regdata_run_result with that runId instead of re-running (re-running bills twice). No API key.",
853
+ "inputSchema": {
854
+ "type": "object",
855
+ "properties": {
856
+ "companyIds": {
857
+ "type": "array",
858
+ "title": "CVR numbers",
859
+ "description": "Danish CVR numbers, 8 digits, up to 1,000 per run. Example: 21766909."
860
+ },
861
+ "years": {
862
+ "type": "integer",
863
+ "title": "Fiscal years per company",
864
+ "description": "How many of the most recent fiscal years to return for each company (1 to 5). Each year is one row and one charge.",
865
+ "default": 1
866
+ },
867
+ "includeConsolidated": {
868
+ "type": "boolean",
869
+ "title": "Include group (consolidated) accounts",
870
+ "description": "Also return the consolidated group accounts next to the company's own accounts. Each group statement is an extra row and an extra charge. Companies that file group accounts only (for example listed IFRS companies) get them either way. Off by default.",
871
+ "default": false
872
+ }
873
+ },
874
+ "additionalProperties": true,
875
+ "required": [
876
+ "companyIds"
877
+ ]
878
+ }
879
+ },
880
+ {
881
+ "slug": "estonia-annual-accounts",
882
+ "tool": "regdata_estonia_annual_accounts",
883
+ "title": "Estonia Annual Accounts - e-Business Register Financials",
884
+ "description": "Get the filed annual accounts (majandusaasta aruanne) of Estonian companies by registry code (registrikood, 8 digits) from the e-Business Register: revenue, operating profit, net profit, total assets, equity and liabilities, checked against the balance sheet. One row per company and fiscal year (up to 3 years). Use it for Estonian KYB, credit checks and supplier vetting when you need the numbers. If the run is not finished in time, the tool returns {status, runId, note} - call regdata_run_result with that runId instead of re-running (re-running bills twice). No API key.",
885
+ "inputSchema": {
886
+ "type": "object",
887
+ "properties": {
888
+ "companyIds": {
889
+ "type": "array",
890
+ "title": "Registry codes",
891
+ "description": "Estonian company registry codes (registrikood), 8 digits, up to 1,000 per run. Example: 10000018."
892
+ },
893
+ "years": {
894
+ "type": "integer",
895
+ "title": "Fiscal years per company",
896
+ "description": "How many of the most recent fiscal years to return for each company (1 to 3). Each year is one row and one charge.",
897
+ "default": 1
898
+ }
899
+ },
900
+ "additionalProperties": true,
901
+ "required": [
902
+ "companyIds"
903
+ ]
904
+ }
905
+ },
569
906
  {
570
907
  "slug": "ekw-ksiegi-wieczyste-scraper",
571
908
  "tool": "regdata_ekw_ksiegi_wieczyste",
@@ -621,6 +958,169 @@ export const ACTORS = [
621
958
  ]
622
959
  }
623
960
  },
961
+ {
962
+ "slug": "poland-elicytacje-auction-scraper",
963
+ "tool": "regdata_poland_tax_auctions",
964
+ "title": "Poland Tax Office Auctions - eLicytacje KAS",
965
+ "description": "List sales published by Polish tax offices (KAS) on eLicytacje: cars, flats, houses, land, machinery and company shares, with starting price (cena wywołania), valuation (wartość szacunkowa) and the discount between them, deposit (wadium), location, tax office, and for vehicles make, model, year and VIN; real estate carries the land-registry (księga wieczysta) number, which chains into regdata_ekw_ksiegi_wieczyste. Filter by section, category, title keywords, city or voivodeship, status (upcoming, live, sold - sold rows carry the final price), sale kind and price or valuation range. onlyNewOrChanged=true turns a scheduled run into a monitoring feed of new or changed sales. No API key.",
966
+ "inputSchema": {
967
+ "type": "object",
968
+ "properties": {
969
+ "sections": {
970
+ "type": "array",
971
+ "title": "Sections",
972
+ "description": "Movables (vehicles, machinery, goods), real estate, or property rights (company shares, receivables, securities). Leave empty for all three.",
973
+ "items": {
974
+ "type": "string"
975
+ }
976
+ },
977
+ "categories": {
978
+ "type": "array",
979
+ "title": "Categories",
980
+ "description": "Narrow to these categories. Each category belongs to one section, so there is no need to pick the section as well. Leave empty for everything in the chosen sections.",
981
+ "items": {
982
+ "type": "string"
983
+ }
984
+ },
985
+ "keywords": {
986
+ "type": "string",
987
+ "title": "Keywords",
988
+ "description": "Search the announcement titles, e.g. 'Toyota', 'ciągnik', 'działka budowlana'. At least 3 letters or digits; other characters are treated as spaces."
989
+ },
990
+ "locations": {
991
+ "type": "array",
992
+ "title": "Locations",
993
+ "description": "City or voivodeship as the portal writes it, e.g. 'Warszawa', 'Kraków', 'mazowieckie', 'lubelskie'. Each entry is searched separately and the results merged. Leave empty for the whole country.",
994
+ "items": {
995
+ "type": "string"
996
+ }
997
+ },
998
+ "statuses": {
999
+ "type": "array",
1000
+ "title": "Sale status",
1001
+ "description": "Which sales to include. 'Upcoming' and 'Live' are the ones you can still bid on. 'Sold' carries the final price, which makes it the realised-price history the portal has kept since it opened on 1 July 2026.",
1002
+ "default": [
1003
+ "upcoming",
1004
+ "live"
1005
+ ],
1006
+ "items": {
1007
+ "type": "string"
1008
+ }
1009
+ },
1010
+ "saleKinds": {
1011
+ "type": "array",
1012
+ "title": "Sale type",
1013
+ "description": "Auctions, free-hand sales at a fixed price, tenders, or real-estate valuation notices - the notice a tax office publishes before a property auction, so the earliest signal that one is coming. Leave empty for all.",
1014
+ "items": {
1015
+ "type": "string"
1016
+ }
1017
+ },
1018
+ "minStartingPrice": {
1019
+ "type": "integer",
1020
+ "title": "Minimum starting price (PLN)",
1021
+ "description": "Lowest starting price (cena wywołania) to include. Applied by the portal itself."
1022
+ },
1023
+ "maxStartingPrice": {
1024
+ "type": "integer",
1025
+ "title": "Maximum starting price (PLN)",
1026
+ "description": "Highest starting price to include. Applied by the portal itself."
1027
+ },
1028
+ "maxResults": {
1029
+ "type": "integer",
1030
+ "title": "Max results",
1031
+ "description": "Maximum announcements to export. An announcement matched by more than one location or category is exported once, so you are never charged twice for it.",
1032
+ "default": 1000
1033
+ },
1034
+ "includeDetails": {
1035
+ "type": "boolean",
1036
+ "title": "Include full details",
1037
+ "description": "Adds the valuation and the discount to it, the deposit and its bank account, the item's address, the category, the tax office and its contact, the item description, vehicle data (make, model, year, VIN, registration, mileage), the land-registry (KW) number and plot data for real estate, photos and the notice PDFs. Two extra requests per announcement, so a run takes longer; the price per record is the same.",
1038
+ "default": false
1039
+ },
1040
+ "onlyNewOrChanged": {
1041
+ "type": "boolean",
1042
+ "title": "Only new or changed since the last run",
1043
+ "description": "Monitoring mode. Exports only announcements that are new, or whose status changed (for example upcoming to sold), since the last run with the same filter. The first run exports everything and sets the baseline. Schedule it daily for an alert feed.",
1044
+ "default": false
1045
+ },
1046
+ "monitorId": {
1047
+ "type": "string",
1048
+ "title": "Monitor name",
1049
+ "description": "Optional. Runs with the same filter share one memory automatically; give a name to keep several independent feeds for the same filter. Letters, digits, '-' and '_'."
1050
+ },
1051
+ "minEstimatedValue": {
1052
+ "type": "integer",
1053
+ "title": "Minimum estimated value (PLN)",
1054
+ "description": "Lowest valuation (wartość szacunkowa) to include. Applied by the portal itself."
1055
+ },
1056
+ "maxEstimatedValue": {
1057
+ "type": "integer",
1058
+ "title": "Maximum estimated value (PLN)",
1059
+ "description": "Highest valuation to include. Applied by the portal itself."
1060
+ },
1061
+ "onlyWithDeposit": {
1062
+ "type": "boolean",
1063
+ "title": "Only sales that require a deposit",
1064
+ "description": "Keep only sales that require a deposit (wadium) before bidding - mostly real estate and higher-value lots.",
1065
+ "default": false
1066
+ },
1067
+ "publishedFrom": {
1068
+ "type": "string",
1069
+ "title": "Published from",
1070
+ "description": "Keep only announcements published on or after this date, YYYY-MM-DD."
1071
+ }
1072
+ },
1073
+ "additionalProperties": true
1074
+ }
1075
+ },
1076
+ {
1077
+ "slug": "france-insolvency-scraper",
1078
+ "tool": "regdata_france_insolvency",
1079
+ "title": "France Insolvency Check (BODACC Procédures collectives)",
1080
+ "description": "Check French companies and sole traders for collective proceedings (liquidation judiciaire, redressement judiciaire, sauvegarde) in BODACC, the official bulletin where French courts publish every insolvency judgment, by SIREN, SIRET or name. One row per judgment, newest first: eventType (bankruptcy_opened = liquidation opened or converted, restructuring_opened = redressement/sauvegarde, plan_confirmed, proceeding_closed, other), the French judgment name, judgment and publication dates, court, SIREN, legal form, seat and the link to the official notice. Coverage from January 2008. Zero rows for a SIREN means BODACC holds no insolvency judgment for it in the searched window - read the run status message: a query BODACC did not answer is reported as NOT checked (unknown, not clear) and is not charged. Name search matches words, so prefer the SIREN; a name query returns the 20 newest judgments by default. No API key.",
1081
+ "inputSchema": {
1082
+ "type": "object",
1083
+ "properties": {
1084
+ "siren": {
1085
+ "type": "array",
1086
+ "title": "SIREN or SIRET numbers",
1087
+ "description": "French company identifiers to check: SIREN (9 digits) or SIRET (14 digits, reduced to its SIREN). Spaces are fine. The most precise check - use it whenever you have the number."
1088
+ },
1089
+ "name": {
1090
+ "type": "string",
1091
+ "title": "Company or trader name",
1092
+ "description": "A company name or a sole trader's name, matched as a word search on the debtor name in BODACC. Ignored when a watchlist is set."
1093
+ },
1094
+ "watchlist": {
1095
+ "type": "array",
1096
+ "title": "Watchlist (bulk / monitoring)",
1097
+ "description": "Up to 100 entries to check in one run - names, SIRENs and SIRETs can be mixed (a 9- or 14-digit entry is treated as an identifier). Overrides the single name field. Schedule it to re-check your counterparties."
1098
+ },
1099
+ "exactMatch": {
1100
+ "type": "boolean",
1101
+ "title": "Exact name match",
1102
+ "description": "Off (default): every debtor whose name contains the words. On: only debtors whose name equals the query, ignoring case, accents and punctuation. No effect on SIREN checks.",
1103
+ "default": false
1104
+ },
1105
+ "dateFrom": {
1106
+ "type": "string",
1107
+ "title": "Published from",
1108
+ "description": "Optional start of the publication-date window (YYYY-MM-DD). Leave empty to search the full BODACC history (online from 2008)."
1109
+ },
1110
+ "dateTo": {
1111
+ "type": "string",
1112
+ "title": "Published to",
1113
+ "description": "Optional end of the publication-date window (YYYY-MM-DD)."
1114
+ },
1115
+ "maxResults": {
1116
+ "type": "integer",
1117
+ "title": "Max judgments per SIREN or name",
1118
+ "description": "The most judgments returned for one SIREN or name, newest first. Leave empty for the defaults: 100 per SIREN, 20 per name (a broad name such as \"Martin\" matches thousands of unrelated debtors)."
1119
+ }
1120
+ },
1121
+ "additionalProperties": true
1122
+ }
1123
+ },
624
1124
  {
625
1125
  "slug": "germany-handelsregister-scraper",
626
1126
  "tool": "regdata_germany_handelsregister",
@@ -881,7 +1381,7 @@ export const ACTORS = [
881
1381
  "extractType": {
882
1382
  "type": "string",
883
1383
  "title": "Extract Type",
884
- "description": "Type of KRS extract to download. 'aktualny' = current state only (faster, smaller). 'pelny' = full history including former board members.",
1384
+ "description": "Type of KRS record to return. 'aktualny' = current state only (faster, smaller). 'pelny' = full history including former board members.",
885
1385
  "enum": [
886
1386
  "aktualny",
887
1387
  "pelny"
@@ -1626,73 +2126,6 @@ export const ACTORS = [
1626
2126
  ]
1627
2127
  }
1628
2128
  },
1629
- {
1630
- "slug": "uokik-clauses-scraper",
1631
- "tool": "regdata_uokik_clauses",
1632
- "title": "Poland UOKiK Abusive Clauses Registry Scraper",
1633
- "description": "Rejestr klauzul niedozwolonych UOKiK - 7,500+ zakazanych postanowień umownych. Search court-banned contract clauses by defendant, industry, legal category. No API exists. Legal compliance, consumer protection. JSON.",
1634
- "inputSchema": {
1635
- "type": "object",
1636
- "properties": {
1637
- "category": {
1638
- "type": "string",
1639
- "title": "Category (Zagadnienie)",
1640
- "description": "Filter by legal category of the clause violation. Leave empty for all categories.",
1641
- "enum": [
1642
- "",
1643
- "5",
1644
- "4",
1645
- "3",
1646
- "23",
1647
- "22",
1648
- "21",
1649
- "20",
1650
- "19",
1651
- "18",
1652
- "17",
1653
- "16",
1654
- "15",
1655
- "14",
1656
- "13",
1657
- "12",
1658
- "11",
1659
- "10",
1660
- "9",
1661
- "8",
1662
- "7",
1663
- "6",
1664
- "2",
1665
- "1",
1666
- "24"
1667
- ],
1668
- "default": ""
1669
- },
1670
- "defendant": {
1671
- "type": "string",
1672
- "title": "Defendant Name (Pozwany)",
1673
- "description": "Filter by defendant company name (partial match)."
1674
- },
1675
- "plaintiff": {
1676
- "type": "string",
1677
- "title": "Plaintiff Name (Powód)",
1678
- "description": "Filter by plaintiff name (partial match)."
1679
- },
1680
- "exportAll": {
1681
- "type": "boolean",
1682
- "title": "Export All",
1683
- "description": "Export all clauses from the registry (~7,500 entries). Ignores other filters.",
1684
- "default": false
1685
- },
1686
- "maxResults": {
1687
- "type": "integer",
1688
- "title": "Max Results",
1689
- "description": "Maximum number of results. Default: 100. Set to 0 for unlimited.",
1690
- "default": 100
1691
- }
1692
- },
1693
- "additionalProperties": true
1694
- }
1695
- },
1696
2129
  {
1697
2130
  "slug": "wko-business-directory-scraper",
1698
2131
  "tool": "regdata_wko_business_directory",
@@ -2016,5 +2449,137 @@ export const ACTORS = [
2016
2449
  },
2017
2450
  "additionalProperties": true
2018
2451
  }
2452
+ },
2453
+ {
2454
+ "slug": "uokik-decisions-scraper",
2455
+ "tool": "regdata_uokik_decisions",
2456
+ "title": "Poland UOKiK Decisions - competition and consumer protection",
2457
+ "description": "Search decisions of UOKiK, Poland's competition and consumer protection authority (about 22,000 decisions): merger clearances, abuse of dominant position, collective consumer interests, prohibited clauses, product safety and fuel quality, with decision number, date, named parties and practice type; includeDetails adds case signature, whether a fine was imposed, appeal status, industry (PKD) and region. Filter by party name (literal - Polish diacritics matter), practice type, decision number, case signature, industry, region, fine/appeal flags, date range or full text. The register records THAT a fine was imposed, never the amount - do not report one. Use for counterparty due diligence and regulatory-history checks on Polish companies. No API key.",
2458
+ "inputSchema": {
2459
+ "type": "object",
2460
+ "properties": {
2461
+ "participant": {
2462
+ "type": "string",
2463
+ "title": "Company or person",
2464
+ "description": "Name of a party to the proceedings, e.g. \"Orange\". Matches whole words in the party field, case-insensitive. Polish diacritics matter - the register's search is literal."
2465
+ },
2466
+ "practiceType": {
2467
+ "type": "string",
2468
+ "title": "Type of practice",
2469
+ "description": "The category of proceedings. Roughly: merger control 5,800 decisions, product-safety conformity 4,000, collective consumer interests 4,000, dominant position 1,900.",
2470
+ "enum": [
2471
+ "",
2472
+ "Jakość paliw",
2473
+ "Klauzule niedozwolone",
2474
+ "Kontrola koncentracji",
2475
+ "Nadużywanie pozycji dominującej",
2476
+ "Ochrona zbiorowych interesów konsumentów",
2477
+ "Ogólne bezpieczeństwo produktów",
2478
+ "Porozumienia ograniczające konkurencję",
2479
+ "Pozostałe",
2480
+ "Przewaga kontraktowa",
2481
+ "System oceny zgodności",
2482
+ "Zatory Płatnicze"
2483
+ ],
2484
+ "default": ""
2485
+ },
2486
+ "decisionNumber": {
2487
+ "type": "string",
2488
+ "title": "Decision number",
2489
+ "description": "The decision's own number, e.g. \"DKK-171/2024\"."
2490
+ },
2491
+ "caseSignature": {
2492
+ "type": "string",
2493
+ "title": "Case signature",
2494
+ "description": "The case file signature, e.g. \"DKK-2.430\". Matches a prefix as well as a whole signature."
2495
+ },
2496
+ "industry": {
2497
+ "type": "string",
2498
+ "title": "Industry (PKD)",
2499
+ "description": "Matches the whole PKD path, so \"SEKCJA K\" selects the entire financial sector while \"TELEKOMUNIKACJA\" selects one class. Because the register stores the path but each decision page shows only the leaf class, a match can look unrelated and still be correct - \"BUDOWNICTWO\" returns electrical-installation firms, which sit under Section F."
2500
+ },
2501
+ "region": {
2502
+ "type": "string",
2503
+ "title": "Voivodeship",
2504
+ "description": "Region the decision applies to. A decision can list several.",
2505
+ "enum": [
2506
+ "",
2507
+ "Dolnośląskie",
2508
+ "Kujawsko-Pomorskie",
2509
+ "Łódzkie",
2510
+ "Lubelskie",
2511
+ "Lubuskie",
2512
+ "Małopolskie",
2513
+ "Mazowieckie",
2514
+ "Opolskie",
2515
+ "Podkarpackie",
2516
+ "Podlaskie",
2517
+ "Pomorskie",
2518
+ "Śląskie",
2519
+ "Świętokrzyskie",
2520
+ "Warmińsko-Mazurskie",
2521
+ "Wielkopolskie",
2522
+ "Zachodniopomorskie"
2523
+ ],
2524
+ "default": ""
2525
+ },
2526
+ "fineImposed": {
2527
+ "type": "string",
2528
+ "title": "Fine imposed",
2529
+ "description": "Whether the decision imposed a fine. The register records only THAT a fine was imposed - it never publishes the amount.",
2530
+ "enum": [
2531
+ "",
2532
+ "yes",
2533
+ "no"
2534
+ ],
2535
+ "default": ""
2536
+ },
2537
+ "appealed": {
2538
+ "type": "string",
2539
+ "title": "Appealed",
2540
+ "description": "Whether the decision was appealed.",
2541
+ "enum": [
2542
+ "",
2543
+ "yes",
2544
+ "no"
2545
+ ],
2546
+ "default": ""
2547
+ },
2548
+ "dateFrom": {
2549
+ "type": "string",
2550
+ "title": "Decided on or after",
2551
+ "description": "ISO date, YYYY-MM-DD. Note that six records in the register carry no decision date at all and are excluded by any date filter."
2552
+ },
2553
+ "dateTo": {
2554
+ "type": "string",
2555
+ "title": "Decided on or before",
2556
+ "description": "ISO date, YYYY-MM-DD."
2557
+ },
2558
+ "fullText": {
2559
+ "type": "string",
2560
+ "title": "Full-text term",
2561
+ "description": "Free text searched across the whole document index. Broader than it looks - it matches text the decision page does not display, so use the specific fields above when you can."
2562
+ },
2563
+ "maxItems": {
2564
+ "type": "integer",
2565
+ "title": "Maximum decisions",
2566
+ "description": "Stop after this many. Set 0 for every match - the whole register is about 22,000 decisions.",
2567
+ "default": 100
2568
+ },
2569
+ "includeDetails": {
2570
+ "type": "boolean",
2571
+ "title": "Fetch full decision details",
2572
+ "description": "Open each decision to read its case signature, fine flag, appeal status, industry and region. Off returns only what the result list shows: number, date, party and practice type.",
2573
+ "default": true
2574
+ },
2575
+ "includeIncompleteRecords": {
2576
+ "type": "boolean",
2577
+ "title": "Include records that identify nothing",
2578
+ "description": "The register holds six documents with no number, date or party. They are skipped by default and always counted in the run summary.",
2579
+ "default": false
2580
+ }
2581
+ },
2582
+ "additionalProperties": true
2583
+ }
2019
2584
  }
2020
2585
  ];
package/index.js CHANGED
@@ -22,7 +22,7 @@ const pkg = createRequire(import.meta.url)("./package.json");
22
22
  const APIFY_BASE = "https://api.apify.com/v2";
23
23
  // Jurisdictions covered by the actor fleet. Not derivable from actors.js (no
24
24
  // country field), so it is asserted here and checked by scripts/check-counts.mjs.
25
- const JURISDICTIONS = 16;
25
+ const JURISDICTIONS = 19;
26
26
  const token = () => process.env.APIFY_TOKEN || process.env.APIFY_API_TOKEN || "";
27
27
 
28
28
  function requireToken() {
@@ -30,7 +30,7 @@ function requireToken() {
30
30
  if (!t) {
31
31
  throw new Error(
32
32
  "APIFY_TOKEN is not set. Get a free token (with $5 credits) at " +
33
- "https://apify.com?fpr=getregdata and set APIFY_TOKEN in your MCP client config."
33
+ "https://getregdata.com/go/signup/mcp/ and set APIFY_TOKEN in your MCP client config."
34
34
  );
35
35
  }
36
36
  return t;
@@ -131,7 +131,7 @@ async function describeActor(slug) {
131
131
  const schema =
132
132
  data?.defaultRunOptions?.inputSchema ||
133
133
  data?.exampleRunInput ||
134
- "See https://apify.com/regdata/" + slug + "?fpr=getregdata for the input schema.";
134
+ "See https://getregdata.com/go/" + slug + "/mcp/ for the input schema.";
135
135
  return { slug, title: data?.title, description: data?.description, schema };
136
136
  }
137
137
 
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "getregdata-mcp",
3
- "version": "1.2.1",
3
+ "version": "1.4.1",
4
4
  "mcpName": "io.github.Nolpak14/getregdata",
5
- "description": "MCP server for official business-registry data - KYC/AML, beneficial owners, credit-risk, adverse media. One-call Poland KYB verdict, plus per-registry tools for Germany, Italy, Spain, Austria, France, Belgium, Czechia, Slovakia, Cyprus, Ireland, Portugal, Nigeria, Colombia, the US (California) and the UAE.",
5
+ "description": "MCP server for official registry data - insolvency and restructuring proceedings across Europe (Poland, Germany, Austria, France, Spain, Czechia) and Central and Eastern European depth: Polish KRS financial statements, CRBR beneficial owners, land and mortgage registers, Czech annual accounts, Slovak UBO register. One-call Poland KYB verdict, plus company registers elsewhere in Europe, the US and the UAE.",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "getregdata-mcp": "index.js"
@@ -36,7 +36,12 @@
36
36
  "apify",
37
37
  "handelsregister",
38
38
  "crbr",
39
- "registro-imprese"
39
+ "registro-imprese",
40
+ "insolvency",
41
+ "bankruptcy",
42
+ "central-eastern-europe",
43
+ "poland",
44
+ "krs"
40
45
  ],
41
46
  "homepage": "https://github.com/Nolpak14/getregdata",
42
47
  "repository": {