# Mapy Com PPE (`oodoow/mapy-com-ppe`) Actor

This Apify actor scrapes points of interest (like pharmacies, restaurants, or any business) from Mapy.com. Specify your search query and city, and get structured results fast. Perfect for lead generation, market research, or competitive analysis.

- **URL**: https://apify.com/oodoow/mapy-com-ppe.md
- **Developed by:** [HonzaS](https://apify.com/oodoow) (community)
- **Categories:** Lead generation, Automation, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 pointofinterests

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## ![Mapy Icon](https://mapy.com/img/favicon/common/plain/favicon-32x32.png) Mapy.com

**Extract places and business data from Mapy.com with speed and precision!**

---

### 🚀 What does this Actor do?

This Apify actor scrapes points of interest (like pharmacies, restaurants, or any business) from Mapy.com. Specify your search query and city, and get structured results fast. Perfect for lead generation, market research, or competitive analysis.

---

### ✨ Features

- 🔍 **Flexible Search**: Scrape any business or place by query and city
- 🎯 **Exact Match Option**: Only get results that match your query exactly
- 🏙️ **Exact City Filter**: Restrict results to the specified city only, excluding nearby municipalities
- ⭐ **Review Scraping**: Scrape all reviews for each point of interest
- 🌐 **Review Translation**: Automatically translate reviews to English
- 📦 **Structured Output**: Results in JSON, ready for analysis or export

---

### 🛠️ How it works

1. **Set your input**: Choose a query (e.g., "pharmacy"), city (e.g., "Prague"), and adjust options for precision. 
2. **Run the actor**: On the Apify platform.
3. **Get your data**: Download results from the default dataset in JSON, CSV, or Excel.

---

### 📝 Input Schema

| Field            | Type    | Description                                                                                         | Default  | Required |
|------------------|---------|-----------------------------------------------------------------------------------------------------|----------|----------|
| query            | string  | What to search for (e.g., "hospital")                                                              | hospital | Yes      |
| city             | string  | City to search in (e.g., "Olomouc")                                                                | Olomouc  | Yes      |
| exactMatch       | boolean | Only return results where the name matches the query exactly (e.g. won't return drugstores for "pharmacy") | false | No  |
| exactCity        | boolean | Only return results located within the specified city, excluding nearby cities                      | false    | No       |
| scrapeReviews    | boolean | Scrape all reviews for each point of interest                                                       | true     | No       |
| translateReviews | boolean | Translate scraped reviews to English                                                                | true     | No       |

**Example input:**
```json
{
  "query": "hospital",
  "city": "Olomouc",
  "exactMatch": false,
  "exactCity": true,
  "scrapeReviews": true,
  "translateReviews": true
}
````

***

### 📤 Output Example

Each result contains details about a place or business. Example fields:

- `name`
- `address`
- `phone`
- `website`
- ...and more, depending on scraping mode

Results are available in the Apify dataset: `storage/datasets/default/`

***

### 🎯 Lead Generation: Scrape Emails & Phone Numbers

Unlock powerful lead generation by extracting business contact details directly from Mapy.cz! This actor can help you build lists of:

- 📧 **Emails**: Collect business email addresses for outreach
- 📞 **Phone Numbers**: Gather phone contacts for direct communication
- 🏢 **Business Info**: Combine with names, addresses, and websites for a complete lead profile

**Use cases:**

- Sales prospecting and B2B outreach
- Building local business directories
- Market research and competitor analysis

***

### 💡 Tips & Notes

- **Exact Match**: Use to filter out partial matches. For example, a "pharmacy" query may also return drug stores — enabling exact match returns pharmacies only.
- **Exact City**: Enable to exclude results from nearby towns and villages and focus only on the specified city.
- **Reviews**: Disable `scrapeReviews` if you don't need reviews — it makes your run cheaper.
- **Translate Reviews**: Disable `translateReviews` if you want reviews in their original language.

***

### 📚 Resources & Support

- Please use the issues tab of the actor.

***

### ❓ FAQ

**Q: Can I use this for other cities or queries?**
A: Yes! Just change the `query` and `city` fields in the input.

# Actor input Schema

## `query` (type: `string`):

Query

## `city` (type: `string`):

City

## `exactMatch` (type: `boolean`):

Whether to search for an exact match of the query. If false, the actor can also return for example drugstore when query is pharmacy.

## `exactCity` (type: `boolean`):

Whether to search for points of interest just in the city. If false, the actor can also return results from nearby cities.

## `scrapeReviews` (type: `boolean`):

Whether to scrape reviews for each point of interest. If true, the actor will also scrape all reviews.

## `translateReviews` (type: `boolean`):

Whether to translate reviews. If true, the actor will translate all reviews to English.

## Actor input object example

```json
{
  "query": "hospital",
  "city": "Olomouc",
  "exactMatch": false,
  "exactCity": false,
  "scrapeReviews": true,
  "translateReviews": true
}
```

# Actor output Schema

## `places` (type: `string`):

Dataset containing place details including name, type, address, coordinates, contact info, ratings, and reviews scraped from Mapy.com.

# 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 = {
    "query": "hospital",
    "city": "Olomouc",
    "exactMatch": false,
    "exactCity": false,
    "scrapeReviews": true,
    "translateReviews": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("oodoow/mapy-com-ppe").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 = {
    "query": "hospital",
    "city": "Olomouc",
    "exactMatch": False,
    "exactCity": False,
    "scrapeReviews": True,
    "translateReviews": True,
}

# Run the Actor and wait for it to finish
run = client.actor("oodoow/mapy-com-ppe").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "query": "hospital",
  "city": "Olomouc",
  "exactMatch": false,
  "exactCity": false,
  "scrapeReviews": true,
  "translateReviews": true
}' |
apify call oodoow/mapy-com-ppe --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=oodoow/mapy-com-ppe",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mapy Com PPE",
        "description": "This Apify actor scrapes points of interest (like pharmacies, restaurants, or any business) from Mapy.com. Specify your search query and city, and get structured results fast. Perfect for lead generation, market research, or competitive analysis.",
        "version": "0.0",
        "x-build-id": "IeRdo9jBsG9WwP3hr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/oodoow~mapy-com-ppe/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-oodoow-mapy-com-ppe",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/oodoow~mapy-com-ppe/runs": {
            "post": {
                "operationId": "runs-sync-oodoow-mapy-com-ppe",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/oodoow~mapy-com-ppe/run-sync": {
            "post": {
                "operationId": "run-sync-oodoow-mapy-com-ppe",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "query",
                    "city"
                ],
                "properties": {
                    "query": {
                        "title": "Query",
                        "type": "string",
                        "description": "Query",
                        "default": "hospital"
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City",
                        "default": "Olomouc"
                    },
                    "exactMatch": {
                        "title": "Exact match",
                        "type": "boolean",
                        "description": "Whether to search for an exact match of the query. If false, the actor can also return for example drugstore when query is pharmacy.",
                        "default": false
                    },
                    "exactCity": {
                        "title": "Exact city match",
                        "type": "boolean",
                        "description": "Whether to search for points of interest just in the city. If false, the actor can also return results from nearby cities.",
                        "default": false
                    },
                    "scrapeReviews": {
                        "title": "Scrape reviews",
                        "type": "boolean",
                        "description": "Whether to scrape reviews for each point of interest. If true, the actor will also scrape all reviews.",
                        "default": true
                    },
                    "translateReviews": {
                        "title": "Translate reviews",
                        "type": "boolean",
                        "description": "Whether to translate reviews. If true, the actor will translate all reviews to English.",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
