# Zlate stranky Scraper: Slovak Business Phones & Emails (`themineworks/zlatestranky-sk-business-email-scraper`) Actor

Scrape Zlate stranky (zlatestranky.sk) by trade and town: business name, phone, address, coordinates, website, rating and the email the business published. Turn on emails to also read each business's own website, charged only when found. Pay per business.

- **URL**: https://apify.com/themineworks/zlatestranky-sk-business-email-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Lead generation, Business, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 business listings

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Zlate stranky Scraper: Slovak Business Phones & Emails

[![20 Slovak businesses with 18 emails in 8 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/zlatestranky-sk-business-email-scraper-hero.png)](https://console.apify.com/actors/jERcVx4mYWcAFrVu7/input)

From **The Mine Works**, makers of [Threads Scraper](https://apify.com/themineworks/threads-scraper) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder), with over 140,000 runs across 170+ public actors.

### Why choose this actor?

- **Phone and email straight from the search results.** Zlaté stránky (zlatestranky.sk) prints the phone, the website and the email a business published on every search card, so one page gives 20 complete rows. In our proof run (inštalatér in Bratislava, 28 Sep 2026) **20 businesses with 18 emails took 8 seconds**, all 20 with a phone. You pay for an email only when one is delivered, after a check that its domain can receive mail.
- **Every town, district, village or postcode.** The site searches your words anywhere in a listing, so a city (`Bratislava`), a city district (`Ružinov`, 20 plumbers) or a postcode (`82107`, 9 plumbers) all work, with or without diacritics (`instalater` and `inštalatér` both gave 99 results on 1 Oct 2026). Leave the place empty to search all of Slovakia. No account, no cookies, no proxy to set up.
- **No padding, no surprises.** The site never widens a search: an unknown town returns its "no results" page, which the actor reports as an empty search in one request and never charges. A business that two of your searches find is delivered and charged once.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/jERcVx4mYWcAFrVu7/input)

**Part of The Mine Works Leads and business directories family:** [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder), [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup), [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads), [JustDial Scraper](https://apify.com/themineworks/justdial-business), [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search), [IndiaMART Scraper](https://apify.com/themineworks/indiamart-suppliers).

### Try it in one minute

Paste this input and press Start. It returns 10 plumbers in Bratislava, with phone, website and coordinates, in a few seconds:

```json
{
  "queries": ["inštalatér"],
  "locations": ["Bratislava"],
  "maxResultsPerSearch": 10
}
```

You can say what you want in two ways, and mix them in one run:

- **Queries and locations** (`queries`, `locations`): Slovak trade words as you would type them on the site, such as `inštalatér`, `autoservis`, `zubár` or `kaderníctvo`, and places such as `Bratislava`, `Košice`, a city district like `Ružinov`, a village, or a postcode. The actor joins each query and place into one search, the way the site's own search box does. Diacritics and capital letters are optional. Leave `locations` empty to search the whole country.
- **Search pages** (`startUrls`): a search page such as `https://www.zlatestranky.sk/hladanie/inštalatér+Bratislava/`, or a category page such as `https://www.zlatestranky.sk/firmy/Bratislava/q_inštalatéri/1/`, copied from the address bar.

Apify's free plan includes $5 of credit every month, which covers about 2,400 businesses at this actor's Free plan price with emails off, or about 150 businesses that each come back with an email.

#### Copy to your AI assistant

```text
themineworks/zlatestranky-sk-business-email-scraper on Apify. Returns Slovak businesses from Zlaté stránky (zlatestranky.sk) by trade and place: name, categories, phone, address, coordinates, website, rating, and optionally the email from the listing or the business website; with business pages on, also every phone and email, Facebook page, opening hours, description and services. Call ApifyClient("TOKEN").actor("themineworks/zlatestranky-sk-business-email-scraper").call(run_input={"queries": ["inštalatér"], "locations": ["Bratislava"], "maxResultsPerSearch": 50, "includeEmails": true}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: queries (Slovak trade words) or startUrls (zlatestranky.sk search or category pages). Optional: locations (town, city district, village or postcode; empty = all of Slovakia), maxResultsPerSearch (default 30, 1 to 1000), includeEmails (default false), includeDetails (default false), verifyEmailDomain (default true). Rows with _type "info" are notes, not businesses. Full spec: GET https://api.apify.com/v2/acts/themineworks~zlatestranky-sk-business-email-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations
```

### Key features

- **Up to 29 fields per business**: name, categories, phones in international format, street, postcode, town, coordinates, website, rating, review count, opening hours, description, services, Facebook page, the email and where it was found, and the search that found the row.
- **Complete rows from the search card.** The card already carries the first phone, the first email, the website, the address, the coordinates and the rating, so a normal run reads one page per 20 businesses and nothing else.
- **Business pages when you need everything.** `includeDetails` opens each business's own page for every phone (the Mobil numbers too), every email, the Facebook page, the week of opening hours, the description and the list of services. Slower, no extra charge. In a 1 Oct 2026 local run, 5 plumbers with business pages and emails on took 5.5 seconds.
- **Up to 50 queries times 50 locations per run**, at most 300 searches, and up to 1,000 businesses per search, 20 per page. Nationwide trades are big (5,044 results for `restauracia` on 1 Oct 2026), so set the number you need.
- **Emails checked before you pay.** The address on the listing first, then the business's own website (homepage, then contact pages such as `/kontakt` and `/o-nas`, at most 5 pages and 20 seconds per site). Every address must be on a domain with a working mail server, so addresses of closed businesses on expired domains are dropped and never charged.
- **Plain HTTP at 512 MB**, no browser and no unblocking proxy: the site has no bot protection. Every run writes a summary to the `OUTPUT` record with the status of each search, the number of results the site reports and where the emails came from.

### How to use it

#### Basic: one trade in one town

```json
{
  "queries": ["inštalatér"],
  "locations": ["Bratislava"],
  "maxResultsPerSearch": 100
}
```

The site reported 99 businesses for this search on 1 Oct 2026, so this reads 5 pages. Because the site matches words anywhere in a listing, a few businesses that only mention your trade or town come back too: the first 20 rows of the proof run included an electrician and a heating firm whose listings carry the word inštalatér, and two firms in Čataj and Horná Potôň that advertise in Bratislava. Every row shows its own `categories` and `city`, so filter on them if you need the exact trade or town.

#### Several trades in several towns

Every query runs in every location, so this is six searches:

```json
{
  "queries": ["autoservis", "pneuservis", "autoumyváreň"],
  "locations": ["Košice", "Prešov"],
  "maxResultsPerSearch": 200
}
```

A business found by two of the searches is delivered once and charged once.

#### Cold email list of tradespeople

Agencies and suppliers selling to Slovak trades turn emails on. Tradespeople who filled in their listing usually publish an email there (18 of the 20 plumbers in the proof run did; the other 2 had no website to read):

```json
{
  "queries": ["elektrikár", "inštalatér"],
  "locations": ["Bratislava", "Trnava", "Nitra"],
  "maxResultsPerSearch": 300,
  "includeEmails": true
}
```

Rows with an email carry `email_source` (`directory` or `website`) and `email_source_url`. To refresh the list every month, save the input as a task and add it to a schedule in Apify Console (Schedules, Add schedule). The actor has no "only new" mode, so compare `listing_id` with last month's export to find the newcomers.

#### Full profiles: every phone, opening hours and services

Turn on business pages when you need the mobile numbers, all emails, opening hours or what the business offers:

```json
{
  "queries": ["zubár"],
  "locations": ["Žilina"],
  "includeDetails": true,
  "includeEmails": true,
  "maxResultsPerSearch": 100
}
```

The run reads one more page per business, so it is slower; the business pages cost nothing extra. Not every business publishes opening hours, services or a description.

#### A national list for market sizing

Leave the place empty to search the whole country, and set the number per search to what you need:

```json
{
  "queries": ["kaderníctvo"],
  "maxResultsPerSearch": 1000
}
```

Group the rows by `city` or `postal_code` to see where a trade clusters. The run summary in `OUTPUT` gives the total the site reports for the search, even when you take fewer rows.

#### Read a search you already set up on the site

Paste the page from your browser:

```json
{
  "startUrls": [
    { "url": "https://www.zlatestranky.sk/hladanie/inštalatér+Bratislava/" },
    { "url": "https://www.zlatestranky.sk/firmy/Bratislava/q_inštalatéri/1/" }
  ],
  "maxResultsPerSearch": 50
}
```

Each page is read from its first page on. Business pages (`/firmy/Bratislava/H1088724/...`) are not search pages and are skipped, and so is a link to the Czech zlatestranky.cz, a different site.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `queries` | array of strings | none (prefilled with `inštalatér`) | Trade words to search, one per line, in Slovak. Several words in one query must all match. Up to 50. Needed unless you give `startUrls`. |
| `locations` | array of strings | empty | Towns, city districts, villages or postcodes, for example `Bratislava`. Each is joined to each query as one search. Empty searches all of Slovakia. Up to 50. |
| `startUrls` | array | empty | Search pages (`/hladanie/...`) or category pages (`/firmy/<place>/q_<category>/...`) from www.zlatestranky.sk, read instead of or as well as the queries. |
| `maxResultsPerSearch` | integer | `30` | Most businesses per query and location, 1 to 1,000. The site shows 20 per page. |
| `includeEmails` | boolean | `false` | Look for each business's email: the address on its listing first, then its website. Charged only for rows where one is found. |
| `includeDetails` | boolean | `false` | Open each business's own page for every phone and email, Facebook, opening hours, description and services. No extra charge, slower. Not opened automatically by `includeEmails` on this site, because the page never holds an email the search card lacks. |
| `verifyEmailDomain` | boolean | `true` | Keep an email only when its domain has a mail server. Applies to listing and website emails alike. |

Give at least one query or one search page. A run with neither writes a note row and stops; the $0.005 start fee still applies.

### What data do you get?

One row per business. Fields with no value are left out of the row rather than sent as empty.

**The business**

- `listing_id` (the site's id, such as `H3121546`), `listing_url`, `name`, `categories` (the site's trade headings, such as `Inštalatéri`), `rating` (out of 5) and `review_count`

**Contact**

- `phone` (the first number) and `phones`, in international format such as `+421 911 056 560`; `website`. The search card carries one phone; with `includeDetails` on, `phones` holds every number on the business page, including the Mobil rows

**Address and map**

- `address` (one line), `street`, `postal_code` (five digits, such as `82107`), `city` (with the city district when the site gives it, such as `Bratislava Vrakúňa`), `country` (`SK`), `latitude`, `longitude`

**From the business page** (with `includeDetails` on)

- `opening_hours` (for example `Mo 07:00-18:00`; closed days left out), `description`, `services`, `facebook`

**Email** (with `includeEmails` on)

- `email` (the best address), `emails` (up to 5, best first; with business pages on, every address the business lists), `email_source` (`directory` or `website`) and `email_source_url` (the page it was read from)

**Search context**

- `source_site` (`zlatestranky.sk`), `search_query`, `search_location`, `scraped_at`

Fill rates in the proof run (20 businesses from search cards, emails on): phone, address, town, coordinates and categories 20 each, street and postcode 19, website 14, rating 10, email 18. Businesses that did not fill in their profile show only a name, an address and a category, so expect thinner rows in trades with many basic listings.

#### Stable fields for automations

These fields were present in every one of the 20 business rows of the proof run, are filled from every search card, and their names will not change:

| Field | What it holds |
|---|---|
| `listing_id` | The site's id for the business, the same in every run |
| `listing_url` | Link to the business page on zlatestranky.sk |
| `name` | Business name as listed |
| `address` | Street, postcode and town on one line |
| `city` | Town, with the city district when given |
| `country` | Always `SK` |
| `source_site` | Always `zlatestranky.sk` |
| `search_query` | The query or pasted search that found the row |
| `scraped_at` | When the row was read (ISO 8601) |

`categories`, `phone`, `latitude` and `longitude` were in all 20 rows too, but a basic listing can lack them: in a 1 Oct 2026 local run of 20 lawyers in Bratislava, one basic listing had no category and no website. Test for them before you rely on them.

#### Output examples

Real rows from the proof run on 28 Sep 2026 (inštalatér in Bratislava, emails on, business pages off), plus one row from a local run with business pages on, trimmed where noted.

A company with phone, website, rating and the email from its listing:

```json
{
  "listing_id": "H3121546",
  "listing_url": "https://www.zlatestranky.sk/firmy/Bratislava+Vrak%C3%BA%C5%88a/H3121546/PROFIVODAR+s.r.o./",
  "name": "PROFIVODAR s.r.o.",
  "categories": ["Inštalatéri"],
  "phone": "+421 911 056 560",
  "phones": ["+421 911 056 560"],
  "address": "Bodvianska 21/A, 82107 Bratislava Vrakúňa",
  "street": "Bodvianska 21/A",
  "postal_code": "82107",
  "city": "Bratislava Vrakúňa",
  "country": "SK",
  "latitude": 48.137142,
  "longitude": 17.209414,
  "website": "http://profivodar.sk",
  "email": "info@profivodar.sk",
  "emails": ["info@profivodar.sk"],
  "email_source": "directory",
  "email_source_url": "https://www.zlatestranky.sk/firmy/Bratislava+Vrak%C3%BA%C5%88a/H3121546/PROFIVODAR+s.r.o./",
  "rating": 5,
  "review_count": 1,
  "source_site": "zlatestranky.sk",
  "search_query": "inštalatér",
  "search_location": "Bratislava",
  "scraped_at": "2026-09-28T12:46:36.997Z"
}
```

A business listed under another trade, found because its listing carries the search word (trimmed):

```json
{
  "listing_id": "H1951344",
  "name": "Váš inštalatér Bratislava",
  "categories": ["Kúrenie"],
  "phone": "+421 944 094 276",
  "address": "Píniová 20, 82107 Bratislava",
  "city": "Bratislava",
  "latitude": 48.149628,
  "longitude": 17.211401,
  "website": "https://www.dobraenergia.sk",
  "email": "info@dobraenergia.sk",
  "email_source": "directory"
}
```

A firm in a village outside the city that advertises in Bratislava (trimmed; email fields left out here):

```json
{
  "listing_id": "H3620802",
  "name": "ERHAA spol. s r.o. poruchovka",
  "categories": ["Elektrikári"],
  "phone": "+421 917 802 182",
  "address": "Horná Potôň 835, 93036 Horná Potôň",
  "street": "Horná Potôň 835",
  "postal_code": "93036",
  "city": "Horná Potôň",
  "latitude": 48.03752,
  "longitude": 17.483015,
  "website": "https://www.poruchovka.sk",
  "search_location": "Bratislava"
}
```

The same company read with business pages on, from a local run of the live code on 1 Oct 2026 (`includeDetails` and `includeEmails` on; the description is shortened):

```json
{
  "listing_id": "H3121546",
  "name": "PROFIVODAR s.r.o.",
  "phone": "+421 911 056 560",
  "website": "http://profivodar.sk",
  "email": "info@profivodar.sk",
  "rating": 5,
  "review_count": 1,
  "opening_hours": ["Mo 07:00-18:00", "Tu 07:00-18:00", "We 07:00-18:00", "Th 07:00-18:00", "Fr 07:00-18:00", "Sa 08:00-13:00"],
  "description": "PROFIVODAR je dynamická a spoľahlivá spoločnosť, ktorá sa špecializuje na poskytovanie komplexných služieb v oblasti vody, plynu a kúrenia.",
  "scraped_at": "2026-10-01T13:43:09.232Z"
}
```

The note row at the end of the run (never charged; filter on `_type` to drop it):

```json
{
  "_type": "info",
  "delivered": 20,
  "message": "20 businesses delivered. This row is informational: it is never billed.",
  "scraped_at": "2026-09-28T12:46:39.096Z"
}
```

### Pricing

You pay per business delivered to your dataset, plus a flat start fee per run. An email is a second, separate charge, made only for rows that come back with one.

| Event | Free plan | Starter (Bronze) | Scale (Silver) | Business (Gold) and above |
|---|---|---|---|---|
| Business delivered (`listing-scraped`), per business | $0.002 | $0.0017 | $0.0014 | $0.001 |
| Business delivered, per 1,000 | $2.00 | $1.70 | $1.40 | $1.00 |
| Email found (`email-found`), per email | $0.03 | $0.025 | $0.02 | $0.015 |
| Email found, per 1,000 | $30 | $25 | $20 | $15 |
| Run start (`run-start`), once per run | $0.005 | $0.005 | $0.005 | $0.005 |

The start fee is our own `run-start` event: a flat $0.005 once per run, whatever memory you choose. It is not Apify's per GB start fee, and it is charged on every run, including a run that finds nothing. These prices took effect on 28 Sep 2026, and no change is scheduled as of 1 Oct 2026. The Pricing tab always shows the rate for your own plan.

A worked example on the Starter plan: 1,000 businesses with emails off cost $1.70 plus $0.005. With emails on, a trade where 18 rows in 20 carry an email adds about 900 emails at $0.025, so about $22.50 more; trades with many basic listings add less. Business pages are included either way.

Never charged:

- search pages the site refused, and searches with no results (an unknown town included);
- business pages and websites that were opened, including those that gave no email (a row without an email is charged as a business only);
- a business already delivered by another search in the run;
- an email address already charged earlier in the same run, such as the shared inbox of a chain's branches (it is still delivered on every row), and, with `verifyEmailDomain` on, an address on a domain with no mail server (dropped before delivery);
- the note row and the `OUTPUT` run summary.

To cap what a run can cost, set a maximum total charge in the run options. The actor stops before a business the budget cannot pay for, and when the budget covers a business but not its email, the row is delivered without the email and the email is not charged.

### FAQ

#### What is Zlaté stránky?

Slovakia's yellow pages, at www.zlatestranky.sk. It lists tradespeople, shops, restaurants, clinics, schools and companies across Slovakia, with phone, address, website and often an email. The Czech zlatestranky.cz is a different site with a different layout: this actor reads zlatestranky.sk only, and a zlatestranky.cz link pasted into Start URLs is skipped with a note.

#### How many businesses can I get?

Up to 1,000 per search and up to 300 searches per run (50 queries times 50 locations, capped at 300). Nationwide trades run into thousands (5,044 for `restauracia` on 1 Oct 2026), so split a big trade by town, or by more specific words, to go past 1,000.

#### How fresh is the data?

Every run reads the site live; nothing comes from a cache. `scraped_at` on each row says when it was read.

#### Do I need a Zlaté stránky account, cookies or an API key?

No. The actor reads the public pages any visitor sees, without signing in. There is nothing of yours to connect.

#### Do I need to set up a proxy?

No. The site has no bot protection. The actor reads it over a fast connection that looks like a normal Chrome browser, through Apify's datacenter proxies, and retries a refused attempt on a fresh connection. In the proof run the one search page passed on the first try. No unblocking proxy is used or needed, which keeps runs fast.

#### Will every business have an email?

No. Emails come only from what the business published on its listing or its own website. In the proof run 18 of 20 plumbers had one; the 2 without had no website to read. Rates are lower in trades with many basic listings or closed businesses, and the domain check drops addresses on domains that no longer receive mail. The actor never guesses an address from a name, and you pay nothing extra for a row without an email.

#### What is the difference between the email from the directory and from the website?

A `directory` email is the one the business published on Zlaté stránky. A `website` email is read from the business's own homepage or contact page, and kept only when it is on the business's own domain or on an ordinary provider such as gmail.com, centrum.sk or azet.sk; the address of the agency that built the site is dropped. Both go through the same mail server check when `verifyEmailDomain` is on.

#### What do I type into Queries and Locations?

The Slovak trade as you would type it into the site, such as `inštalatér`, `autoservis`, `zubár`, `kaderníctvo` or `advokát`, and the place separately in Locations: a town, a city district such as `Ružinov`, a village or a postcode. Diacritics and capitals are optional. Several words in a query must all match (`zubná ambulancia`). If you paste a search page instead, the place is already part of that page's search text.

#### Why does a search return businesses from another town or trade?

The site matches your words anywhere in a listing, so a firm in a nearby village that advertises in your town, or a firm in a related trade that uses your word, can appear. Each row carries its own `categories`, `city` and `postal_code`, so filter on them. The site never widens a search beyond your words.

#### Why did a search return nothing?

The site found no listing with all your words, for example a misspelt town. It answers with its own "no results" page, the actor records the search as `no_results` in the run summary, and nothing is charged beyond the run's start fee.

#### Can I get only the new businesses each month?

There is no "only new" mode in this actor. Schedule the same input (save it as a task, then Schedules, Add schedule in Apify Console) and compare `listing_id` with your last export. Each scheduled run is billed like a manual one; the schedule itself is free.

#### Which formats can I export?

JSON, CSV, Excel, XML, HTML table and RSS from the dataset page in Apify Console, or through the Apify API.

#### Can I use it from Claude, ChatGPT or another AI agent?

Yes. Add it to Claude Code in one line:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=themineworks/zlatestranky-sk-business-email-scraper"
```

or point any MCP client at `https://mcp.apify.com/?tools=themineworks/zlatestranky-sk-business-email-scraper`. The "Copy to your AI assistant" block above gives an agent everything it needs to call the actor directly.

#### Is it legal to scrape Zlaté stránky?

The actor collects only publicly visible business listings and never signs in. Business contact details are still personal data when they identify a person, for example a sole trader's name and mobile number, so how you store and use them is your responsibility: follow the site's terms and the GDPR, and where you send marketing messages also the ePrivacy rules in your country (and CAN-SPAM or the CCPA for contacts in the US). This is general information, not legal advice. The actor is an independent tool, not affiliated with or endorsed by Zlaté stránky.

### Integrations

- **Google Sheets**: send each run's dataset to a sheet with Apify's Google Sheets integration.
- **Make, Zapier and n8n**: start runs and receive the businesses in your workflows.
- **Webhooks**: get a call when a run finishes, for example to load new rows into your CRM.
- **API**: start runs and read datasets from any language with the Apify API or the Python and JavaScript clients.
- **MCP clients**: Claude, ChatGPT and other agents through Apify's MCP server.

### More from The Mine Works

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads)
- [JustDial Scraper](https://apify.com/themineworks/justdial-business)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search)
- [IndiaMART Scraper](https://apify.com/themineworks/indiamart-suppliers)
- [Yandex Maps Scraper](https://apify.com/themineworks/yandex-maps-search)
- [Contact Details Scraper](https://apify.com/themineworks/website-contact-finder)
- [US Business Registry](https://apify.com/themineworks/us-state-business-registry)
- [Google Maps Scraper](https://apify.com/themineworks/google-maps-search-scraper)
- [Yellow Pages Scraper](https://apify.com/themineworks/yellowpages-us)
- [Lead Generation MCP](https://apify.com/themineworks/lead-generation-mcp)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency)
- [Google News Scraper](https://apify.com/themineworks/google-news)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp)

**Science, health and government data**

- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records)
- [data.gov.in Scraper](https://apify.com/themineworks/india-data-gov-scraper)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data)
- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup)
- [World Bank Trade Scraper](https://apify.com/themineworks/global-trade-data)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper)

**More tools**

- [Tennis Match & Player Data Scraper](https://apify.com/themineworks/tennis-match-data)
- [Google Hotels Prices Scraper](https://apify.com/themineworks/google-hotels-prices-scraper)

### Support

Found a problem or need a field? Open an issue on the actor's Issues tab and we will answer there. For a new source or a custom build, email dmineworks@gmail.com.

*Zlate stranky Scraper turns any zlatestranky.sk search into rows of Slovak businesses with phone, address, coordinates, website, rating and, when you want it, an email checked for a working mail server.*

# Actor input Schema

## `queries` (type: `array`):

Business types or trades to search, one per line, for example inštalatér. Each query is searched in every location below. Needed unless you paste search pages into Start URLs. Up to 50 per run.

## `locations` (type: `array`):

Town, city, region or postcode, one per line, typed the way you would on www.zlatestranky.sk, for example Bratislava. Leave empty to search the whole country. Up to 50 per run.

## `startUrls` (type: `array`):

Optional. Paste search result pages from www.zlatestranky.sk instead of, or as well as, Queries and Locations. Each page is read from its first page on.

## `maxResultsPerSearch` (type: `integer`):

Most businesses to return for each query and location, 1 to 1,000. The directory shows 20 per page, so 100 businesses take about 5 pages.

## `includeEmails` (type: `boolean`):

Off by default. Turn on to look for each business's email address: first the address the directory publishes, then the business's own website (homepage, then its contact and legal pages). You are charged the email price only for rows that come back with an email; a business where none is found costs nothing extra.

## `includeDetails` (type: `boolean`):

Also open each business's own page on the directory for the extra fields it holds, such as coordinates, opening hours, categories and registration numbers. Slower, and no extra charge. With Find emails on, the business page is opened anyway when the search result has no email.

## `verifyEmailDomain` (type: `boolean`):

Only keep an email when its domain can receive mail (it has a mail server). Removes addresses of dead or misspelled domains, so you are not charged for them. Only used when Find emails is on.

## Actor input object example

```json
{
  "queries": [
    "inštalatér"
  ],
  "locations": [
    "Bratislava"
  ],
  "maxResultsPerSearch": 30,
  "includeEmails": false,
  "includeDetails": false,
  "verifyEmailDomain": true
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "queries": [
        "inštalatér"
    ],
    "locations": [
        "Bratislava"
    ],
    "maxResultsPerSearch": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/zlatestranky-sk-business-email-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 = {
    "queries": ["inštalatér"],
    "locations": ["Bratislava"],
    "maxResultsPerSearch": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/zlatestranky-sk-business-email-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 '{
  "queries": [
    "inštalatér"
  ],
  "locations": [
    "Bratislava"
  ],
  "maxResultsPerSearch": 30
}' |
apify call themineworks/zlatestranky-sk-business-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/zlatestranky-sk-business-email-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/jERcVx4mYWcAFrVu7/builds/N9O1uH33UIQE5eqt3/openapi.json
