# ZnamyLekar Scraper (`muhammetakkurtt/znamylekar-scraper`)

An Apify actor that scrapes doctor information from znamylekar.cz. Search doctors by specialties and city. Collects doctor ID, name, specialization, city, region, reviews, rating, latest review date, telemedicine availability, and profile URL. Data saved to Apify's default data store.

- **URL**: https://beta-securitybyobscurity.apify.com/muhammetakkurtt/znamylekar-scraper.md
- **Developed by:** [Muhammet Akkurt](https://beta-securitybyobscurity.apify.com/muhammetakkurtt) (community)
- **Categories:** Other
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

# README

![ZnamyLekar Scraper](https://github.com/user-attachments/assets/6c898b49-3e05-4e0b-8d79-e07af4cea4f4)

## ZnamyLekar Scraper

This Apify actor is designed to scrape doctor information from the znamylekar.cz website.

### Features

- Search for doctors by specific specialties
- Filter doctors by city
- Collect information such as doctor ID, doctor name, specialty, city, region, review count, latest review date, overall rating, telemedicine availability, and access time

### Usage

1. Run this actor in the Apify console.
2. Provide the desired inputs:
   - **specialization**: Select the specialties to scrape (multiple selections allowed)
   - **city**: Select the city to scrape

### Output

The actor generates a list of JSON objects containing the following information:

- `doctor_id`: The unique ID of the doctor
- `name`: The name of the doctor
- `city`: The city where the doctor is located
- `region`: The region where the doctor is located
- `specialization`: The specialization of the doctor
- `review_count`: The number of reviews the doctor has received
- `overall_rating`: The overall rating of the doctor
- `newest_review_date`: The date of the latest review
- `telemedicine`: Whether the doctor offers telemedicine services
- `url`: The URL of the doctor’s profile page
- `fetch_time`: The time when the data was fetched

### Example Output

```json
{
  "doctor_id": "123456",
  "name": "Dr. Jan Novák",
  "city": "Praha",
  "region": "Praha 1",
  "specialization": "Kardiologie",
  "review_count": "42",
  "overall_rating": "4.8",
  "newest_review_date": "2023-06-15",
  "telemedicine": "Yes",
  "url": "https://www.znamylekar.cz/jan-novak/kardiologie/praha",
  "fetch_time": "2023-06-20T14:30:45"
}
```

This example output, filled with random data, shows the structure for a single doctor. The actual output will be a list of similar objects for all the doctors that were scraped.

### Notes

- This actor uses the Scrapy framework for web scraping.
- The data collected is stored in Apify’s default data store.
- Please ensure compliance with znamylekar.cz’s terms of use and the rules outlined in their `robots.txt` file.

# Actor input Schema

## `specialization` (type: `array`):

Vyberte prosím specializace k prohledání, lze vybrat více než jednu. (Please select the specialties to be scanned, more than one can be selected.)

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

Vyberte prosím město k prohledání (Please select the city to scan)

## Actor input object example

```json
{
  "specialization": [
    "kardiolog"
  ],
  "city": "praha"
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("muhammetakkurtt/znamylekar-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("muhammetakkurtt/znamylekar-scraper").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 '{}' |
apify call muhammetakkurtt/znamylekar-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ZnamyLekar Scraper",
        "description": "An Apify actor that scrapes doctor information from znamylekar.cz. Search doctors by specialties and city. Collects doctor ID, name, specialization, city, region, reviews, rating, latest review date, telemedicine availability, and profile URL. Data saved to Apify's default data store.",
        "version": "0.0",
        "x-build-id": "dveJ3oNQfbuVMoDtc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/muhammetakkurtt~znamylekar-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-muhammetakkurtt-znamylekar-scraper",
                "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/muhammetakkurtt~znamylekar-scraper/runs": {
            "post": {
                "operationId": "runs-sync-muhammetakkurtt-znamylekar-scraper",
                "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/muhammetakkurtt~znamylekar-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-muhammetakkurtt-znamylekar-scraper",
                "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": [
                    "specialization",
                    "city"
                ],
                "properties": {
                    "specialization": {
                        "title": "Specializace (Specialization)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Vyberte prosím specializace k prohledání, lze vybrat více než jednu. (Please select the specialties to be scanned, more than one can be selected.)",
                        "items": {
                            "type": "string",
                            "enum": [
                                "adiktolog",
                                "alergolog",
                                "anesteziolog",
                                "dentalni-hygienistka-hygienista",
                                "dermatolog",
                                "detsky-psycholog",
                                "diabetolog",
                                "diagnostik",
                                "dietolog",
                                "endokrinolog",
                                "ergoterapeut",
                                "fyzioterapeut",
                                "gastroenterolog",
                                "genetik",
                                "gynekolog",
                                "hematolog",
                                "chirurg",
                                "imunolog",
                                "internista",
                                "kardiolog",
                                "kouc",
                                "lidovy-lecitel",
                                "logoped",
                                "neurochirurg",
                                "neurolog",
                                "nutricni-terapeut",
                                "ocni-lekar",
                                "onkolog",
                                "ortodontista",
                                "ortoped",
                                "ostatni",
                                "osetrovatel",
                                "otorinolaryngolog",
                                "parodontolog",
                                "pediatr",
                                "plasticky-chirurg",
                                "plicni-lekar",
                                "porodni-asistentka",
                                "prakticky-lekar",
                                "proktolog",
                                "psychiatr",
                                "psycholog",
                                "psychoterapeut",
                                "rehabilitacni-lekar",
                                "revmatolog",
                                "sexuolog",
                                "specialista-na-estetickou-medicinu",
                                "stomatochirurg",
                                "terapeut",
                                "urolog",
                                "veterinar",
                                "zubar"
                            ],
                            "enumTitles": [
                                "Adiktologové (Addiction Specialists)",
                                "Alergologové (Allergists)",
                                "Anesteziologové (Anesthesiologists)",
                                "Dentální Hygenisti (Dental Hygienists)",
                                "Dermatologové (Dermatologists)",
                                "Dětské Psychologové (Child Psychologists)",
                                "Diabetologové (Diabetologists)",
                                "Diagnostici (Diagnostic Specialists)",
                                "Dietologové (Dietitians)",
                                "Endokrinologové (Endocrinologists)",
                                "Ergoterapeuti (Occupational Therapists)",
                                "Fyzioterapeuti (Physiotherapists)",
                                "Gastroenterologové (Gastroenterologists)",
                                "Genetici (Geneticists)",
                                "Gynekologové (Gynecologists)",
                                "Hematologové (Hematologists)",
                                "Chirurgové (Surgeons)",
                                "Imunologové (Immunologists)",
                                "Internisté (Internists)",
                                "Kardiologové (Cardiologists)",
                                "Koučové (Coaches)",
                                "Lidoví Lečitelé (Folk Healers)",
                                "Logopedové (Speech Therapists)",
                                "Neurochirurgové (Neurosurgeons)",
                                "Neurologové (Neurologists)",
                                "Nutriční Terapeuti (Nutrition Therapists)",
                                "Oční Lékaři (Ophthalmologists)",
                                "Onkologové (Oncologists)",
                                "Ortodontisté (Orthodontists)",
                                "Ortopedové (Orthopedists)",
                                "Ostatní (Others)",
                                "Ošetřovatelé (Nurses)",
                                "Otorinolaryngologové (ENT Specialists)",
                                "Paradontologové (Periodontists)",
                                "Pediatři (Pediatricians)",
                                "Plastičtí Chirurgové (Plastic Surgeons)",
                                "Plicní Lékaři (Pulmonologists)",
                                "Porodní Asistentky (Midwives)",
                                "Praktičtí Lékaři (General Practitioners)",
                                "Proktologové (Proctologists)",
                                "Psychiatři (Psychiatrists)",
                                "Psychologové (Psychologists)",
                                "Psychoterapeuti (Psychotherapists)",
                                "Rehabilitační Lékaři (Rehabilitation Doctors)",
                                "Revmatologové (Rheumatologists)",
                                "Sexuologové (Sexologists)",
                                "Specialisté Na Estetickou Medicínu (Aesthetic Medicine Specialists)",
                                "Stomatochirurgové (Oral Surgeons)",
                                "Terapeuti (Therapists)",
                                "Urologové (Urologists)",
                                "Veterináři (Veterinarians)",
                                "Zubaři (Dentists)"
                            ]
                        },
                        "default": [
                            "kardiolog"
                        ]
                    },
                    "city": {
                        "title": "Město (City)",
                        "enum": [
                            "praha",
                            "brno",
                            "ostrava",
                            "plzen",
                            "liberec",
                            "olomouc",
                            "ceske-budejovice",
                            "usti-nad-labem",
                            "hradec-kralove",
                            "pardubice",
                            "zlin",
                            "havirov",
                            "kladno",
                            "most",
                            "opava",
                            "frydek-mistek",
                            "karlovy-vary",
                            "jihlava",
                            "teplice",
                            "decin",
                            "chomutov",
                            "mlada-boleslav",
                            "karvina",
                            "jablonec-nad-nisou",
                            "prostejov",
                            "trebic",
                            "trutnov",
                            "cheb",
                            "tabor",
                            "kolin",
                            "pribram",
                            "sumperk",
                            "uherske-hradiste",
                            "breclav",
                            "nachod",
                            "kutna-hora",
                            "bohumin",
                            "vsetin",
                            "blansko",
                            "sokolov",
                            "litomerice",
                            "znojmo",
                            "zdar-nad-sazavou",
                            "rokycany",
                            "rakovnik",
                            "litvinov",
                            "ceska-lipa",
                            "brandys-nad-labem-stara-boleslav",
                            "krnov",
                            "strakonice",
                            "jindrichuv-hradec",
                            "valasske-mezirici",
                            "novy-jicin",
                            "kromeriz",
                            "bilina",
                            "hodonin",
                            "varnsdorf",
                            "vyskov",
                            "beroun",
                            "nymburk",
                            "louny",
                            "cesky-krumlov",
                            "tachov",
                            "bruntal",
                            "chrudim",
                            "pelhrimov",
                            "svitavy",
                            "klatovy",
                            "policka",
                            "vrchlabi",
                            "slany",
                            "koprivnice",
                            "kralupy-nad-vltavou",
                            "otrokovice",
                            "lanskroun",
                            "roudnice-nad-labem",
                            "ceska-trebova",
                            "moravska-trebova",
                            "ostrov",
                            "prerov",
                            "marianske-lazne"
                        ],
                        "type": "string",
                        "description": "Vyberte prosím město k prohledání (Please select the city to scan)",
                        "default": "praha"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
