# Sudreg Scraper - Croatian Business Register Data (`studio-amba/sudreg-scraper`) Actor

Extract official company data from Croatia's Sudski registar (sudreg.pravosudje.hr): legal name, MBS, OIB, EUID, legal form, registered address, share capital, founders/members, board, and status. Search by name, MBS, or OIB. No login required.

- **URL**: https://apify.com/studio-amba/sudreg-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 result scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Sudreg Scraper — Croatian Business Register (Sudski Registar) Data

Search [Croatia's Sudski registar](https://sudreg.pravosudje.hr/) (Court/Business Register), the
Ministry of Justice's official record of companies, cooperatives, and other registered legal entities.
Look up a company by name, MBS (registration number), or OIB (tax number) and get its competent court,
MBS, OIB, EUID, legal form, registered address, share capital, founders/members, supervisory board,
authorized representatives, and current status. No login, no account, no API key.

Company register data like this is the backbone of KYB/KYC checks, credit-control workflows, and
counterparty due diligence — this actor turns a company name, MBS, or OIB into a clean, structured
record you can drop straight into that kind of process instead of reading the register by hand.

### How to scrape sudreg.pravosudje.hr data

The actor drives the register's own public search UI (a headless browser fills in the search form and
clicks search, since the underlying Oracle APEX application blocks a plain-HTTP replay of the search
request), then fetches each company's detail page directly over plain HTTP — those pages are stable,
deep-linkable by MBS and don't need a browser at all. Both steps hit the same free, public government
register — no third-party data broker in between.

#### Search by company name

Enter a company name (full or partial) in **Company Name**, e.g. `Podravka` or `Atlantic grupa`. The
register matches company names containing this text — both currently active companies and
deregistered/merged entities that once carried that name.

#### Search by MBS or OIB

Set **MBS (Registration Number)** to an exact registration number (e.g. `010006549` for PODRAVKA
prehrambena industrija, d.d.) to fetch that one company directly — no search step needed. Set **OIB (Tax
Number)** to an exact 11-digit tax ID instead if you don't have the MBS. MBS takes priority if both are
provided; either takes priority over a name search.

#### Result limit

**Max Results** caps how many company records the actor returns per run (default 20, hard cap 100). The
actor pages through the register's search results (15 per page) until it collects enough candidates.

### What data does Sudreg Scraper extract?

| Field | Type | Description |
|-------|------|--------------|
| **companyName** | String | Current registered name — or, for a deregistered entity, the name recorded in the register's own deregistration note |
| **priorNames** | Array | Prior registered names on file, if the company has been renamed |
| **translatedNames** | Array | Translated name variants on file (e.g. an English trade name), formatted "Name (Language)" |
| **mbs** | String | Matični broj subjekta — Croatia's company registration number |
| **oib** | String | 11-digit Croatian tax identification number |
| **euid** | String | European Unique Identifier, e.g. `HRSR.010006549` |
| **court** | String | Competent commercial court holding the record, e.g. Trgovački sud u Zagrebu |
| **legalForm** | String | Legal form, e.g. dioničko društvo, društvo s ograničenom odgovornošću |
| **status** | String | `active`, `in_bankruptcy`, `in_liquidation`, or `deregistered` |
| **statusRaw** | String | Raw operating-status text from the register, e.g. "Bez postupka", "Stečaj" |
| **deregistrationNote** | String | Free-text deregistration/merger note, present only on deregistered entities |
| **address** | String | Registered seat address |
| **email** | String | Registered electronic address on file, when present |
| **shareCapitalRaw** | String | Raw share-capital text as published (Croatia shows both HRK and EUR since the 2023 euro conversion) |
| **shareCapitalHRK** | Number | Share capital in Croatian kuna, when the register still lists it |
| **shareCapitalEUR** | Number | Share capital in euro |
| **businessActivities** | Array | Registered business activities (Predmet poslovanja) |
| **founders** | Array | Founders/members — name, OIB, address, roles |
| **supervisoryBoard** | Array | Supervisory board (Nadzorni odbor) members, when applicable |
| **representatives** | Array | Persons authorized to represent the company — the main officer/director field |
| **administrators** | Array | Managers/liquidators, present on entities in bankruptcy or liquidation |
| **legalRelations** | Array | Free-text legal-relations log (founding act, capital changes, court decisions) |
| **otherInfo** | Array | Other free-text data on file, when present |
| **notes** | Array | Encumbrances/notes, e.g. asset-freeze orders or merger records |
| **financialFilings** | Array | Annual financial-statement filing metadata (date filed, year, period, report type) |
| **url** | String | Direct link to the company's public sudreg.pravosudje.hr record |
| **scrapedAt** | String | ISO timestamp of extraction |

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|--------------|
| **Company Name** | String | `Podravka` | Search by company name (full or partial) |
| **MBS (Registration Number)** | String | — | Search by an exact registration number instead of a name |
| **OIB (Tax Number)** | String | — | Search by an exact 11-digit tax number instead of a name |
| **Max Results** | Integer | `20` | Maximum company records to return (1–100) |
| **Proxy Configuration** | Object | Automatic Apify proxy | No anti-bot or geo-lock found on this register — the default pool works fine |

### Example output

```json
{
    "companyName": "PODRAVKA prehrambena industrija, d.d.",
    "priorNames": ["PODRAVKA d.d."],
    "translatedNames": ["PODRAVKA Food Processing Industry, Incorporated. (English)"],
    "mbs": "010006549",
    "oib": "18928523252",
    "euid": "HRSR.010006549",
    "court": "Trgovački sud u Bjelovaru",
    "legalForm": "dioničko društvo",
    "status": "active",
    "statusRaw": "Bez postupka",
    "deregistrationNote": null,
    "address": "Koprivnica (Grad Koprivnica), Ulica Ante Starčevića 32",
    "email": "tajnistvo@podravka.hr",
    "shareCapitalRaw": "213.600.090,00 euro",
    "shareCapitalHRK": null,
    "shareCapitalEUR": 213600090,
    "businessActivities": ["Poljoprivreda, lov i usluge povezane s njima", "Proizvodnja hrane i pića"],
    "founders": [],
    "supervisoryBoard": [
        { "name": "KSENIJA HORVAT", "oib": "95044122301", "address": "Reka, Ulica Frana Galovića 18", "businessAddress": null, "roles": ["član nadzornog odbora"] }
    ],
    "representatives": [
        { "name": "MARTINA DALIĆ", "oib": "93233163619", "address": "Zagreb, Dobri dol 48B", "businessAddress": null, "roles": ["predsjednik uprave"] }
    ],
    "administrators": [],
    "legalRelations": [{ "title": "Osnivački akt:", "text": "Odluka o broju članova uprave..." }],
    "otherInfo": [],
    "notes": [],
    "financialFilings": [{ "dateFiled": "15.04.2026", "year": "2025", "period": "01.01.2025 - 31.12.2025", "reportType": "GFI-POD izvještaj" }],
    "url": "https://sudreg.pravosudje.hr/ords/r/esudreg/public/podaci-o-poslovnom-subjektu?p28_sbt_mbs=010006549",
    "scrapedAt": "2026-08-23T09:00:00.000Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Common use cases

- Counterparty due-diligence — check a prospective supplier's or customer's legal form, board, and share
  capital before signing a contract.
- KYC / AML pre-checks — pull official registration details and current status for a Croatian company in
  one pass instead of searching the register by hand.
- Credit control — verify a company's registered address, representatives, and status before extending
  terms.
- Sales / lead enrichment — turn a list of Croatian company names, MBS, or OIB numbers into structured
  firmographic data.
- Deregistration checks — confirm whether a counterparty has been struck off or merged, and read the
  register's own note explaining what happened and when.

### Cost estimate

A name search costs one browser page load (search + any pagination) plus one detail-page HTTP fetch per
result. An MBS or OIB lookup for one exact company skips the browser step entirely. A run's usage cost
only settles after it reports SUCCEEDED.

### Limitations

- **Deregistered entities carry a minimal record.** The register itself shows only the court, MBS, OIB
  (when on file), EUID, and a deregistration/merger note for a struck-off or merged entity — no address,
  legal form, share capital, or officers. This is the register's own data-minimization behavior, not a
  gap in this actor.
- **Financial statements are metadata only.** `financialFilings` lists what was filed and when; the
  actual filings live on FINA's separate RGFI portal and are out of scope.
- **No historical snapshots.** The actor returns the current state of each record plus the register's
  own running legal-relations log, not a full point-in-time history of every past change.

### Related scrapers

- **[or.justice.cz Scraper](https://apify.com/studio-amba/or-justice-cz-scraper)** — Czech business register data.
- **[ORSR Scraper](https://apify.com/studio-amba/orsr-scraper)** — Slovak business register data.
- **[AJPES Scraper](https://apify.com/studio-amba/ajpes-scraper)** — Slovenian business register data.
- **[Registro Imprese Scraper](https://apify.com/studio-amba/registro-imprese-scraper)** — Italian company register data.
- **[WKO Scraper](https://apify.com/studio-amba/wko-scraper)** — Austrian business register data.

### Data source and legality

This actor reads publicly available company data directly from sudreg.pravosudje.hr, the Croatian
Ministry of Justice's official Sudski registar. The register is free to search and designed for public
consumption. Use the data in line with applicable data-protection rules.

# Actor input Schema

## `searchQuery` (type: `string`):

Search companies by name (e.g. 'Podravka', 'INA'). Matches company names containing this text. Ignored if a registration number or OIB is provided. Defaults to 'Podravka' if no search criteria provided.

## `registrationNumber` (type: `string`):

Search by the exact MBS (matični broj subjekta), Croatia's company registration number (e.g. '010006549' for PODRAVKA prehrambena industrija, d.d.). Fetches that one company directly -- no search step needed.

## `taxNumber` (type: `string`):

Search by the exact 11-digit OIB (osobni identifikacijski broj), Croatia's personal/company tax identification number (e.g. '18928523252' for PODRAVKA prehrambena industrija, d.d.). Ignored if a registration number is provided.

## `maxResults` (type: `integer`):

Maximum number of company records to return. Each result costs one detail-page fetch on top of the search step. Hard cap 100.

## `proxyConfiguration` (type: `object`):

Apify proxy configuration. No anti-bot or geo-lock was found live on sudreg.pravosudje.hr -- the default automatic proxy pool works fine.

## Actor input object example

```json
{
  "searchQuery": "Podravka",
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "Podravka",
    "maxResults": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/sudreg-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQuery": "Podravka",
    "maxResults": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/sudreg-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQuery": "Podravka",
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call studio-amba/sudreg-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,studio-amba/sudreg-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/aL0nMpvZi5CV1LAyM/builds/DMWCZGbqc5vKXniUm/openapi.json
