Bookimed.com Medical Tourism Scraper — Clinics & Prices avatar

Bookimed.com Medical Tourism Scraper — Clinics & Prices

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Bookimed.com Medical Tourism Scraper — Clinics & Prices

Bookimed.com Medical Tourism Scraper — Clinics & Prices

Scrape medical tourism clinics and hospitals from Bookimed.com across 50+ countries and 13 languages. Extract treatment prices, star ratings, verified patient reviews, doctor rosters, success rates and certifications by country, city and procedure. Export to JSON, CSV, Excel or API.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

2

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

Bookimed Scraper 🏥🌍 — Medical Tourism Clinics, Treatment Prices, Doctors & Reviews

Extract structured medical tourism clinic and hospital data from Bookimed.com across 45+ destination countries and 13 languages — with zero login and zero coding. This Bookimed scraper pulls normalized records for 1,600+ accredited international clinics and hospitals — including clinic name, profile URL, country, city, itemized treatment prices (USD / EUR), star ratings, verified review counts, hospital certifications (JCI, ISO, TEMOS, NABH, ISQua), featured surgeons, and (in profile mode) full patient reviews, doctor rosters, success rates, facility metrics, and contact details.

Export your Bookimed data in bulk to JSON, CSV, Excel, XML, or via the Apify API for healthcare price benchmarking, medical tourism agency operations, and B2B healthcare lead generation.

Built for medical tourism facilitators and patient coordinators, cross-border procedure price-comparison teams, international insurers and self-funded health plans, health-content and SEO publishers, healthcare PE/VC analysts, medical-device and pharma sales teams, and public-health researchers.

Apify Actor Clinics Prices Reviews Languages Pagination Output


⚡ At a glance

FeatureDetails
Target directoryBookimed.com — global medical tourism directory covering 1,600+ clinics & hospitals across 50+ countries
Targeting modes45-country dropdown + 18-city dropdown + custom cities + 15-procedure dropdown, or direct listing/clinic URLs (startUrls)
Supported languages13 editions (us-uk, de, ru, es, fr, it, pt, ar, ja, tr, pl, ro, hu)
Listing-mode fieldsClinic name, profile URL, country, city, itemized treatmentPrices ({treatment, min, max, currency}), certifications, rating, reviewCount, search provenance
Profile-mode enrichmentscrapeDetails: true adds full patient reviews array, ratingBreakdown, doctors roster, specialties, accreditations, successRates, description, address, phone, email, foundedYear, beds, languages, patientOrigins, patientsPerYear, photos
Pagination & 1,000+ scaleAutomatic "Load More" expansion (maxLoadMore: 0 auto-scales with maxClinics) + automatic procedure & multi-country expansion for 1,000+ clinic runs
De-duplication100% unique clinics per run — deduplicated globally by canonical clinicUrl
Export formatsJSON, CSV, Excel (XLSX), HTML, XML, RSS, JSON Lines, and live REST API / webhooks

🔎 Why scrape Bookimed?

Bookimed is one of the world's largest medical tourism platforms, connecting international patients with 1,600+ accredited hospitals and specialized clinics across 50+ countries — including major medical hubs in Turkey, Thailand, India, Mexico, South Korea, Germany, Spain, Hungary, Poland, the Czech Republic, and the UAE. Every listing combines hard-to-find cross-border healthcare data:

  • Itemized procedure pricing (min and max price ranges in USD or EUR for hair transplants, dental implants, veneers, rhinoplasty, breast augmentation, liposuction, knee/hip replacement, CABG, IVF, oncology, and stem-cell therapy).
  • Quality & accreditation signals (international hospital accreditations like JCI, ISO 9001, TEMOS, NABH, ISQua, and Gold Seal, plus verified patient review counts and star ratings).
  • Deep clinical profiles (surgeon rosters with years of experience and specializations, procedure success rates, annual international patient volumes, and full patient testimonials).

Collecting this intelligence manually requires clicking "Load More" dozens of times per country and copying nested price tables one clinic at a time. This Bookimed data extractor automates the entire workflow: it expands dynamic listings automatically, normalizes procedure prices into structured objects, deduplicates across overlapping country/procedure searches, and optionally enriches every record from its full hospital profile page.


✨ What this Bookimed scraper does

  • ✅ No-code dropdown targeting + URL escape hatch: Pick any combination of 45 countries, 18 popular medical-tourism cities (plus unlimited custom cities via citiesCustom), and 15 top procedures — or paste any Bookimed listing or clinic profile URL into startUrls (for IVF, bariatric surgery, LASIK, oncology, etc.).
  • ✅ Unlocked 1,000+ clinic pagination: With maxLoadMore: 0 (the default), the scraper automatically expands "Load More" pagination as deep as needed to reach your maxClinics target, and when maxClinics > 150 (or 0 for unlimited), it automatically fans out across procedures and destination countries so single-run extractions scale cleanly past 1,000+ unique clinics.
  • ✅ Normalized multi-currency treatment pricing: Parses USD ($) and EUR (€) price tables into clean { treatment, min, max, currency } objects, filtering out marketing teaser noise.
  • ✅ Hospital accreditation detection: Captures JCI, ISO 9001, TEMOS, NABH, ISQua, and Gold Seal badges directly on listing cards and profile pages.
  • ✅ Full profile enrichment (scrapeDetails: true): Opens each clinic's profile page to extract individual patient reviews (author, star rating, full text, date, procedure, patient country, attending doctor), 5-star ratingBreakdown, full doctors roster, specialties, successRates, description, address, phone, email, foundedYear, beds, languages, patientOrigins, patientsPerYear, and photos.
  • ✅ 13 regional language editions: Scrape localized clinic names, treatment labels, and reviews in English (us-uk), German (de), Russian (ru), Spanish (es), French (fr), Italian (it), Portuguese (pt), Arabic (ar), Japanese (ja), Turkish (tr), Polish (pl), Romanian (ro), or Hungarian (hu).

🎯 Use cases

PersonaHow they use Bookimed Scraper
Medical Tourism Agencies & FacilitatorsBuild instant clinic shortlists per inbound patient inquiry, compare min/max treatment quotes across countries, and keep CRM partner catalogs updated.
Procedure Price Benchmarking TeamsCompare FUE hair transplant, All-on-4 dental implant, rhinoplasty, and orthopedic surgery pricing across Istanbul, Bangkok, Tijuana, Budapest, and Mumbai.
Insurers & Self-Funded Health PlansEvaluate cross-border and center-of-excellence referral savings by benchmarking domestic surgery costs against JCI-accredited international hospitals.
B2B Medical Device & SaaS SalesGenerate qualified hospital and specialty-clinic lead lists segmented by country, city, accreditation status, and surgical specialty.
Healthcare Content & SEO PublishersPower "Best Hair Transplant Clinics in Turkey" and "Dental Implant Cost by Country" comparison pages with live ratings, review counts, and price ranges.
Healthcare PE/VC & Market ResearchersMap private clinic density, international patient origin flows (patientOrigins), and accreditation penetration across emerging medical-tourism corridors.

📥 Input parameters

All fields are optional. Clicking Start with the prefill (countries: ["turkey"], maxClinics: 30) finishes in under a minute and delivers a ready-to-inspect dataset. Running with completely empty inputs returns a 100-clinic multi-country sample.

ParameterTypeDefault / PrefillDescription
countriesarray<string>Prefill: ["turkey"]Select one or more of 45 medical tourism destination countries (turkey, thailand, india, mexico, germany, spain, republic-of-korea, hungary, poland, united-arab-emirates, etc.). Leave empty for a multi-country sample.
proceduresarray<string>[]Optional procedure filter (hair-transplant, dental-implant, rhinoplasty-nose-job, breast-augmentation, liposuction, knee-replacement, hip-replacement, coronary-artery-bypass-grafting, kidney-transplant, treatment-with-stem-cells, etc.).
citiesarray<string>[]Optional city filter (istanbul, antalya, izmir, ankara, bangkok, phuket, mumbai, delhi, chennai, berlin, munich, barcelona, madrid, cancun, tijuana, budapest, prague, warsaw).
citiesCustomarray<string>[]Advanced: add any additional city slugs not listed in cities (e.g. adana, goa, seoul). Combined with cities.
languagestring (select)"us-uk"Regional language edition (us-uk, de, ru, es, fr, it, pt, ar, ja, tr, pl, ro, hu).
scrapeDetailsbooleanfalseOpen each clinic's full profile page to extract patient reviews, doctors, description, address, phone, beds, foundedYear, languages, and photos. Leave false for fast listing collection.
maxClinicsinteger100 (Prefill: 30)Maximum total unique clinics to collect across all searches. Set 0 for unlimited collection, or 1000+ for deep global extraction.
maxLoadMoreinteger0Maximum "Load more" expansions per listing page. 0 = automatic/unlimited expansion governed by maxClinics.
startUrlsarray<object>[]Optional direct Bookimed listing or clinic profile URLs ([{ "url": "https://..." }]). Scraped in addition to dropdown selections.
proxyConfigurationobject{ "useApifyProxy": true }Apify Proxy configuration. Default works out of the box.
requestDelayinteger1500Delay in milliseconds between profile detail requests (0–30000).

Example 1 — Fast multi-country clinic & price comparison

{
"countries": ["turkey", "thailand", "mexico", "hungary"],
"procedures": ["dental-implant", "hair-transplant"],
"language": "us-uk",
"scrapeDetails": false,
"maxClinics": 250,
"maxLoadMore": 0,
"proxyConfiguration": { "useApifyProxy": true }
}

Example 2 — Deep 1,000+ global clinic directory extraction

{
"countries": ["turkey", "india", "thailand", "germany", "spain", "mexico", "republic-of-korea", "poland"],
"scrapeDetails": false,
"maxClinics": 1000,
"maxLoadMore": 0,
"proxyConfiguration": { "useApifyProxy": true }
}

Example 3 — Full profile enrichment (scrapeDetails: true) with reviews & doctors

{
"countries": ["turkey"],
"cities": ["istanbul"],
"procedures": ["rhinoplasty-nose-job"],
"scrapeDetails": true,
"maxClinics": 25,
"requestDelay": 1500
}

📤 Output & field reference

Every clinic is emitted as a clean JSON object. Below is a real listing-mode record (scrapeDetails: false), followed by a profile-enriched record (scrapeDetails: true).

Sample JSON (Listing mode — fast)

{
"clinicName": "Lokman Hekim Istanbul",
"clinicUrl": "https://us-uk.bookimed.com/clinic/lokman-hekim-istanbul/",
"country": "Turkey",
"city": "Istanbul",
"rating": 4.7,
"reviewCount": 296,
"certifications": ["JCI", "ISO 9001"],
"treatmentPrices": [
{ "treatment": "Blood test for hormonal profile", "min": 219, "max": 328, "currency": "USD" },
{ "treatment": "Consultation with a neurosurgeon", "min": 112, "max": null, "currency": "USD" },
{ "treatment": "Knee Arthroscopy", "min": 1820, "max": 2870, "currency": "USD" },
{ "treatment": "Breast lift", "min": 2440, "max": 2700, "currency": "USD" }
],
"patientsPerYear": null,
"specialties": null,
"featuredDoctor": null,
"description": null,
"successRates": null,
"patientOrigins": null,
"doctors": null,
"address": null,
"photos": null,
"verified": null,
"searchCountry": "turkey",
"searchCity": null,
"searchProcedure": null,
"scrapedAt": "2026-11-02T00:24:17.306Z"
}

Sample JSON (scrapeDetails: true — full profile enrichment)

{
"clinicName": "Memorial Şişli Hospital",
"clinicUrl": "https://us-uk.bookimed.com/clinic/memorial-sisli-hospital/",
"country": "Turkey",
"city": "Istanbul",
"rating": 4.8,
"reviewCount": 520,
"certifications": ["JCI", "ISO 9001"],
"accreditations": ["JCI"],
"specialties": ["Oncology", "Cardiology", "Orthopedics", "Organ Transplant"],
"treatmentPrices": [
{ "treatment": "Bone marrow transplant", "min": 45000, "max": 60000, "currency": "USD" }
],
"doctors": [
{
"name": "Prof. Dr. Serkan Keskin",
"specialization": "Medical Oncology",
"qualifications": "24 years of experience",
"photo": "https://...",
"rating": 4.9,
"reviewCount": 42
}
],
"reviews": [
{
"author": "Maria K.",
"rating": 5,
"text": "The international patient department coordinated every step from airport pickup to consultation...",
"date": "2026-08-14",
"treatment": "Oncology consultation",
"country": "Romania",
"doctor": "Prof. Dr. Serkan Keskin"
}
],
"ratingBreakdown": { "5": 420, "4": 60, "3": 20, "2": 10, "1": 10 },
"description": "Memorial Şişli Hospital is a JCI-accredited multi-specialty medical center in Istanbul...",
"patientOrigins": ["Germany", "United Kingdom", "Bulgaria", "United States"],
"patientsPerYear": 15000,
"address": "Kaptanpaşa Mah. Darülaceze Cad. No:14, Şişli, Istanbul",
"phone": "+90 212 314 66 66",
"email": null,
"foundedYear": 2000,
"beds": 252,
"languages": ["English", "German", "Russian", "Arabic", "Turkish"],
"photos": ["https://..."],
"searchCountry": "turkey",
"searchCity": "istanbul",
"searchProcedure": null,
"scrapedAt": "2026-11-02T00:25:00.000Z"
}

🏥 Core clinic identity & pricing fields (Listing + Profile modes)

FieldTypeCoverageDescription
clinicNamestring🟢 High (100%)Official display name of the clinic or hospital.
clinicUrlstring🟢 High (100%)Canonical Bookimed clinic profile URL. Used as the global de-duplication key.
countrystring🟢 High (100%)Destination country name (e.g. Turkey, Thailand, Mexico).
citystring🟢 High (~80%)City name extracted from the search filter, listing card, or structured profile data.
treatmentPricesarray<object>🟢 High (~65–85%)Array of procedure price objects { treatment, min, max, currency } (USD or EUR).
certificationsarray<string>🟡 Conditional (~35%)International hospital accreditations (JCI, ISO 9001, TEMOS, NABH, ISQua, Gold Seal) when held by the clinic.
ratingnumber🟡 Conditional (🟢 High in profile mode)Aggregate Bookimed rating on a 0–5 scale.
reviewCountinteger🟡 Conditional (🟢 High in profile mode)Total count of verified patient reviews.
featuredDoctorobject🟡 ConditionalLead physician highlighted on the listing card ({ name, yearsExperience }).
searchCountry / searchCity / searchProcedurestring🟢 High (100%)Search filter provenance showing which query matched the clinic.
scrapedAtstring🟢 High (100%)ISO-8601 UTC extraction timestamp.

🩺 Deep profile enrichment fields (scrapeDetails: true)

FieldTypeCoverageDescription
reviewsarray<object>🟡 Conditional (scrapeDetails)Detailed patient reviews { author, rating, text, date, treatment, country, doctor }.
ratingBreakdownobject🟡 Conditional (scrapeDetails)5-star rating distribution { "5": n, "4": n, "3": n, "2": n, "1": n }.
doctorsarray<object>🟡 Conditional (scrapeDetails)Full physician roster { name, specialization, qualifications, photo, rating, reviewCount }.
specialtiesarray<string>🟡 Conditional (scrapeDetails)Hospital departments and medical specialties.
accreditationsarray<string>🟡 Conditional (scrapeDetails)Detailed accreditation list from the clinic profile.
descriptionstring🟡 Conditional (scrapeDetails)Full hospital overview and clinical capabilities description.
successRatesobject🟡 Conditional (scrapeDetails)Procedure success rate percentages when published by the facility.
patientOriginsarray<string>🟡 Conditional (scrapeDetails)Top countries from which international patients travel to this clinic.
patientsPerYearinteger🟡 Conditional (scrapeDetails)Annual patient volume when reported by the hospital.
address / phone / emailstring🟡 Conditional (scrapeDetails)Facility street address and contact details when published on the profile.
foundedYear / bedsinteger🟡 Conditional (scrapeDetails)Year founded and total hospital bed capacity.
languagesarray<string>🟡 Conditional (scrapeDetails)Languages spoken by the international patient coordination staff.
photosarray<string>🟡 Conditional (scrapeDetails)Up to 10 high-resolution facility gallery image URLs.

🔁 Pagination & 1,000+ clinic scale

Bookimed paginates its directory behind a dynamic "Load More" button (each click reveals ~5–10 additional clinics), and individual country pages typically contain 50–350 clinics. This scraper unlocks 1,000+ clinic extraction automatically:

  1. Automatic Load More scaling (maxLoadMore: 0): By default (maxLoadMore: 0), you never have to calculate how many button clicks are needed — the scraper automatically clicks "Load More" as many times as required to satisfy your maxClinics target (or until the page is exhausted).
  2. Automatic procedure & multi-country fan-out (maxClinics > 150 or 0): When you request a large dataset (maxClinics: 1000 or 0 for unlimited), once your primary country/procedure selections are exhausted, the scraper automatically expands across 15 procedure verticals and 40+ destination countries so you can harvest 1,000+ unique clinics across Bookimed's global catalog in a single run.
  3. Global URL deduplication: Every clinic is deduplicated against a global Set of canonical clinicUrl links, guaranteeing 0 duplicates even when a hospital appears under multiple procedures and cities.

⚙️ How to use

  1. Open Bookimed.com Medical Tourism Scraper in the Apify Console.
  2. Pick one or more Destination countries (and optionally Procedures or Cities), or paste specific URLs into Start URLs.
  3. Choose whether to keep Scrape full clinic profiles (scrapeDetails) off for fast catalog/price collection, or turn it on for full patient reviews and doctor rosters.
  4. Set Max clinics (maxClinics) — e.g. 30 for a quick test, 500–1000+ for deep market mapping, or 0 for unlimited.
  5. Click Start and export your results from the Dataset tab as JSON, CSV, Excel, HTML, or XML.

Run via API (Python, Node.js & cURL)

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("haketa/bookimed-scraper").call(run_input={
"countries": ["turkey", "thailand", "mexico"],
"procedures": ["hair-transplant", "dental-implant"],
"language": "us-uk",
"scrapeDetails": False,
"maxClinics": 500,
})
for clinic in client.dataset(run["defaultDatasetId"]).iterate_items():
print(clinic["clinicName"], clinic.get("country"), len(clinic.get("treatmentPrices") or []))

JavaScript (Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('haketa/bookimed-scraper').call({
countries: ['turkey'],
cities: ['istanbul'],
scrapeDetails: true,
maxClinics: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Extracted ${items.length} enriched Istanbul clinics`);

cURL

curl -X POST "https://api.apify.com/v2/acts/haketa~bookimed-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"countries": ["india", "turkey", "thailand"],
"maxClinics": 1000,
"maxLoadMore": 0
}'

💡 Pro tips

  • Two-stage workflow for large projects: Run listing mode (scrapeDetails: false, maxClinics: 1000) first to rapidly map all clinics, prices, and JCI/ISO certifications across countries. Then pass the top clinic URLs into startUrls with scrapeDetails: true to pull full doctor rosters and patient reviews for your shortlist.
  • Target niche procedures via startUrls: Need clinics for IVF, gastric sleeve, LASIK, or Car-T therapy that aren't in the 15-item quick dropdown? Copy the Bookimed category URL (e.g. https://us-uk.bookimed.com/clinics/country=spain/procedure=ivf/) into startUrls.
  • Switch language for localized market research: Set language: "de" or "ru" to extract German- or Russian-language patient reviews and localized procedure names.

⚠️ Limitations & notes

  • Listing vs. profile fields: In fast listing mode (scrapeDetails: false), profile-exclusive fields (reviews, doctors, ratingBreakdown, description, address, phone, beds, foundedYear, languages, photos) are intentionally null so runs finish 5–10× faster. Enable scrapeDetails: true whenever you need those fields populated.
  • Published price teasers: treatmentPrices reflects the procedures and price ranges published by each clinic on Bookimed; facilities that list "Price on request" without numeric figures will have treatmentPrices: null in listing mode.

❓ FAQ

Do I need a Bookimed account or API key? No. All data is collected from publicly accessible Bookimed directory and hospital profile pages.

How many clinics can I extract in a single run? Bookimed lists 1,600+ clinics across 50+ countries. By setting maxClinics: 1000 (or 0 for unlimited) and leaving maxLoadMore: 0, the scraper automatically expands pagination and fans out across procedures and countries to collect 1,000+ unique clinics.

How fast is the scraper? A 30-clinic prefill run finishes in ~25–45 seconds. Collecting 100 clinics in listing mode takes ~1–2 minutes, and 500 clinics takes ~4–5 minutes.

Why was maxLoadMore changed to 0 by default in v1.2? Previously, maxLoadMore: 10 stopped each listing page after 10 clicks (~55 clinics). Setting maxLoadMore: 0 lets the scraper automatically calculate the exact number of "Load More" expansions required to reach your maxClinics target without premature cutoffs.

Can I extract individual patient reviews and doctor lists? Yes — set scrapeDetails: true. Each clinic record will include the reviews array (author, rating, full review text, date, procedure, patient country, doctor) and the doctors array (name, specialty, qualifications, rating, review count).

Are duplicate clinics removed when searching multiple procedures or cities? Yes. Every clinic is deduplicated by its canonical clinicUrl, guaranteeing 0 duplicates across overlapping searches.


Pair Bookimed Scraper with these healthcare, licensing, and B2B directory scrapers by haketa:


📋 Changelog

v1.2 (2026-11)

  • Unlocked 1,000+ clinic pagination: Changed maxLoadMore default/prefill to 0 (auto-governed by maxClinics) and added automatic procedure + multi-country task expansion when maxClinics > 150 or 0 (unlimited).
  • Faster prefill experience: Tuned prefill to maxClinics: 30 so initial test runs complete in ~30 seconds.
  • Live status reporting: Added real-time Actor.setStatusMessage progress updates after each listing task and on run completion.
  • Documentation upgrade: Added ⚡ At a glance summary table, emoji-grouped field tables with coverage indicators, and updated API snippets.

v1.1 (2026-10)

  • Enhanced profile enrichment: Improved extraction of reviews, ratingBreakdown, doctors, treatmentPrices, beds, foundedYear, and languages on clinic detail pages.
  • Cleaned treatment names: Added filtering to strip promotional prefix text from treatmentPrices labels.

v1.0 (2026-07)

  • Initial release supporting 45 destination countries, 18 cities, 15 procedures, 13 language editions, and optional profile detail scraping.

⭐ Ready to pull live medical-tourism data? Click Start and export Bookimed clinic prices, ratings, certifications, and reviews to JSON, CSV, or Excel in minutes!

⌂ 换网址