MedicalExpo Scraper - Medical Devices & Specs avatar

MedicalExpo Scraper - Medical Devices & Specs

Pricing

from $1.80 / 1,000 product records

Go to Apify Store
MedicalExpo Scraper - Medical Devices & Specs

MedicalExpo Scraper - Medical Devices & Specs

Scrape MedicalExpo medical devices for OEMs and buyers. Get title, model, manufacturer, characteristics, specs, images and PDF catalogs. Keyword, listing, stand or PDP — MedicalExpo API alternative.

Pricing

from $1.80 / 1,000 product records

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

MedicalExpo Scraper — Medical Devices & Manufacturer Specs

Disclaimer: Unofficial integration for publicly accessible sources. Trademarks belong to their respective owners. Provided for informational use only; users must comply with applicable platform terms and laws.

Crawloop B2B medical data — MedicalExpo device catalogs plus company directories (Europages / WLW).

MedicalExpo (device catalog)Europages (EU directory)WLW (DACH directory)
MedicalExpo Scraper ◄── you are hereEuropages ScraperWLW Scraper
Medical devices, characteristics, PDF catalogs, manufacturersEU companies, VAT, contactsDE / AT / CH suppliers

MedicalExpo scraper for Apify — a practical MedicalExpo API alternative that turns the medical device marketplace into structured JSON. Scrape product title, model, manufacturer, clinical characteristics, specifications, images, PDF catalogs, and company websites from keywords, category listings, manufacturer stands, or product URLs.

Built for medical device competitive intelligence, hospital and distributor sourcing, OEM supplier discovery, and catalog monitoring. Run from the Console, Python, Node.js, or MCP. Fast HTTP crawl via curl_cffi — parses VirtualExpo __preloadData__ (no headless browser).

Use cases

Use caseWhat you get
Device shortlists by typeKeyword → medical-manufacturer listing → product rows (ultrasound, defibrillator, OR table, …)
Characteristic comparisonApplication, Ergonomics, Technology and other feature rows for side-by-side research
Manufacturer catalog pullAll products on a stand URL with optional full PDP enrichment
PDF catalog harvestLinked datasheet / brochure titles and viewer URLs
Website enrichmentExternal manufacturer website + off-platform product link when published
Category deep-dive/cat/ pages expand into child product-type listings

When to use this Actor

  • You need a MedicalExpo scraper that returns dataset rows (not just company contacts)
  • You have keywords, listing URLs, manufacturer stands, or product PDPs
  • You want characteristics, specs, images, and PDF catalogs in one JSON export
  • You prefer a browser-free crawl callable from Python, Node.js, cURL, or MCP

When not to use this Actor

  • Guaranteed live prices / stock — most listings are RFQ / price-on-request
  • Sending RFQs through the portal contact form — this Actor is read-only extraction
  • Company-directory firmographics (VAT, phone) — use Europages or WLW instead
  • Trade-show exhibitor booth lists (e.g. MEDICA) — different job; this Actor is the year-round MedicalExpo catalog
  • Authenticated MySpace-only fields — public pages only

Key features

  • Keyword search — resolves via MedicalExpo kwref sitemaps to listing URLs
  • Listing & category URLs — paginated medical-manufacturer pages; /cat/ expands to children
  • Manufacturer stands — crawl all product cards on a company stand
  • Product detail enrichmentfetchDetails parses __preloadData__ for full specs
  • VirtualExpo portal switch — optional portal for sister hosts (DirectIndustry, AeroExpo, …)
  • Streaming results — dataset rows appear while the run is in progress
  • Deduped push — unique by portal + productId within a run
  • Pagination controlsmaxPages + maxItems for predictable run size
  • Lightweight & resilient — Chrome TLS fingerprinting, proxy session rotation on WAF challenges

Input parameters

ParameterTypeDefaultDescription
searchKeywordsArray["ultrasound system"]Keywords → kwref listing URLs.
startUrlsArray[]Mixed product / manufacturer / listing / category URLs.
listingUrlsArray[]medical-manufacturer and/or /cat/ URLs.
productUrlsArray[]Direct product detail URLs.
manufacturerUrlsArray[]Manufacturer stand URLs.
portalString"medicalexpo"VirtualExpo host (medicalexpo, directindustry, …).
fetchDetailsBooleantrueOpen PDPs for specs, description, images, catalogs.
maxItemsInteger50Max dataset rows (0 = unlimited within maxPages).
maxPagesInteger3Max listing pages per list URL.
concurrencyInteger3Parallel PDP workers (1–15).
proxyConfigurationObjectresidential FRApify Proxy — residential + country FR recommended.

Example — keyword product crawl

{
"searchKeywords": ["ultrasound system"],
"fetchDetails": true,
"maxItems": 50,
"maxPages": 3,
"concurrency": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "FR"
}
}

Example — manufacturer stand + product URLs

{
"manufacturerUrls": [
{ "url": "https://www.medicalexpo.com/prod/mindray-north-america-70629.html" }
],
"productUrls": [
{ "url": "https://www.medicalexpo.com/prod/mindray-north-america/product-70629-2798311.html" }
],
"fetchDetails": true,
"maxItems": 100,
"concurrency": 3
}

Output

Each dataset item is one medical device product.

FieldDescription
title / modelProduct label and model designation
companyName / companyIdManufacturer stand name and id
url / companyUrlProduct PDP and manufacturer stand URLs
companyWebsiteExternal manufacturer website when published
featuresCharacteristic rows (Application, Ergonomics, …)
specificationsNumeric / range specs (min / max / raw)
imagesProduct image URLs
catalogsLinked PDF catalog title, URL, pages, language
descriptionFull product description from the detail page
category / breadcrumbsListing category and navigation path
enrichedtrue when fields come from a product detail page

Example (illustrative):

{
"recordType": "product",
"portal": "medicalexpo",
"productId": "2798311",
"companyId": "70629",
"title": "Liver steatosis ultrasound elastography system",
"model": "Hepatus 6",
"companyName": "Mindray North America",
"url": "https://www.medicalexpo.com/prod/mindray-north-america/product-70629-2798311.html",
"companyUrl": "https://www.medicalexpo.com/prod/mindray-north-america-70629.html",
"description": "Integrates quantitative ViTE elastography …",
"category": "Ultrasound elastography system",
"features": [
{ "name": "Appplication", "value": "liver steatosis, liver fibrosis" },
{ "name": "Ergonomics", "value": "on casters, portable" }
],
"images": ["https://img.medicalexpo.com/images_me/photo-g/70629-….jpg"],
"enriched": true,
"scrapedAt": "2026-08-06T12:00:00Z"
}

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/medicalexpo-scraper').call({
searchKeywords: ['ultrasound system'],
fetchDetails: true,
maxItems: 50,
proxyConfiguration: {
useApifyProxy: true,
apifyProxyGroups: ['RESIDENTIAL'],
apifyProxyCountry: 'FR',
},
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/medicalexpo-scraper").call(
run_input={
"searchKeywords": ["ultrasound system"],
"fetchDetails": True,
"maxItems": 50,
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "FR",
},
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("title"), item.get("model"), item.get("companyName"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~medicalexpo-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchKeywords":["ultrasound system"],"fetchDetails":true,"maxItems":50,"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"FR"}}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/medicalexpo-scraper.

Example prompts:

  • "Run MedicalExpo Scraper for keyword ultrasound system, max 30, return title, model, companyName, features as JSON"
  • "Scrape a MedicalExpo manufacturer stand URL and summarize imaging-related characteristics"
  • "Chain MedicalExpo Scraper then Europages Scraper to map device catalogs to EU company contacts"

Suite next step

For Europe-wide company contacts / VAT / firmographics, run Europages Scraper. For DACH-only suppliers, use WLW Scraper.

ActorUse for
MedicalExpo Scraper ◄── you are hereMedical device catalog, characteristics, PDF catalogs
Europages ScraperEurope-wide B2B directory, multi-locale, VAT & contacts
WLW ScraperDACH (DE / AT / CH) B2B suppliers from Wer liefert was

FAQ

Is this a MedicalExpo API?
No official public product API is required. This Actor is a MedicalExpo scraper / API alternative that returns structured dataset rows you can call from Python, Node.js, cURL, or MCP.

How do I scrape MedicalExpo with Python or Node.js?
Use the Apify client examples above, or call the Actor from an AI assistant via Apify MCP. Export the default dataset as JSON, CSV, or Excel.

Does keyword search need exact listing URLs?
No — keywords are matched against MedicalExpo kwref sitemaps (e.g. ultrasound → ultrasound listing). Prefer exact listing URLs when you already have them.

Can I scrape DirectIndustry with the same Actor?
Set portal to directindustry (and sister portals). Page patterns are shared across VirtualExpo; MedicalExpo is the primary tested host for this Actor.

Why are some rows missing phone/email or price?
This Actor targets product catalog fields. MedicalExpo is RFQ-oriented — public prices and manufacturer phones are usually not on product pages. Enrich firmographics with Europages or WLW.