OneDoc.ch · Swiss Practitioners by Specialty & City
Pricing
from $1.40 / 1,000 practitioner profiles
OneDoc.ch · Swiss Practitioners by Specialty & City
Export Swiss doctors and dentists from OneDoc.ch. Pick a specialty and city — phone, email, website, address. About $2 per 1,000 rows. No login. No API key.
Pricing
from $1.40 / 1,000 practitioner profiles
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Pick a specialty and a city. Get one row per practitioner: phone, email when published, practice website, address, GPS, specialties, and booking flags.
No login. No API key. No OneDoc account. About $2 per 1,000 practitioners on Free — below typical Doctolib scrapers at $7–$14/1k, and in the same band as Swiss local.ch leads at $1/1k.
Covers all of Switzerland — Geneva, Vaud, Zurich, Bern, Basel, Valais, Ticino.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| Dental / medical supplier | Territory list for a canton | Specialty Dentist + city · Max rows 50 first |
| Healthcare SDR / outbound | Call list with phones | Same · export Contacts view |
| Agency / CRM ops | Enrich links you already stored | Profile URLs mode |
| Market research / franchise | Size a city or the whole country | Location All of Switzerland · Max rows 0 |
| Clinic network / M&A | Map cabinets and multi-site groups | Turn Include clinics / cabinets on |
What you get by default: name, Swiss-format phone when listed, address, city, canton, specialties, expertises, languages, opening hours, OneDoc profile link, GPS when exposed. On a 10-row Geneva dentist sample: phones on every row, websites on most, emails on few — OneDoc does not publish a mailbox on every profile.
When to paste profile URLs: you already have OneDoc links in a spreadsheet and only need a refresh. No listing crawl.
Quick start
- Keep Search mode.
- Choose a specialty (Dentist, GP, dermatologist…) and a city (Geneva, Zurich, or all of Switzerland).
- Leave Max rows at 50 for a first look.
- Click Start. Open the Contacts dataset view — download CSV / Excel / JSON.
Set Max rows to 0 when the sample looks right. Optional: paste a custom OneDoc search URL if the city is not in the list.
Ready-made examples (published tasks)
| Example | Best for |
|---|---|
| Export dentists in Geneva from OneDoc | Geneva dental outreach — phone and address |
| Export dentists in Zurich from OneDoc | Zurich / German-speaking Switzerland |
| Find GPs in Switzerland on OneDoc | National general-practitioner list |
| Enrich OneDoc profile URLs you already have | CRM refresh from stored profile links |
📄 ./sample-output.csv — real public profiles, emails only when OneDoc published them.
What it extracts
| Field | What it is |
|---|---|
name | Practitioner or practice display name |
phone | Phone in Swiss +41 format when listed |
email | Mailbox only if published on the profile — never guessed |
websiteUrl | External practice site when listed |
address / city / zipCode / state | Street, city, postal code, canton |
latitude / longitude | GPS when OneDoc exposes it |
specialties / expertises | Medical specialty and procedures |
spokenLanguages | Languages listed on the profile |
openingHours | Structured schedule |
profileUrl | Canonical OneDoc practitioner page |
practiceOneDocUrl / practiceLocations | Linked cabinet and other sites |
bookable / verified / acceptsNewPatients | Booking and profile flags |
How much does it cost to scrape OneDoc.ch?
HTTP-only — default 512 MB, no browser. You pay per practitioner row.
Store comps (August 2026): Swiss local.ch leads are $1 / 1k (azzouzana, 16 users/mo). Doctolib scrapers sit at $1.50 / 1k (cheap) or $7–$14 / 1k (most listed). French Ameli directory is $9 / 1k. This Actor is the only OneDoc.ch export — priced at $2 / 1k on Free so a Geneva test stays under $0.10.
| Free | Bronze | Silver | Gold | Platinum | Diamond | |
|---|---|---|---|---|---|---|
| Actor start | $0.00005 | $0.00005 | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
| Practitioner profile | $0.002 | $0.0018 | $0.0016 | $0.0014 | $0.0012 | $0.0012 |
| 50 dentists | ~$0.10 | ~$0.09 | ~$0.08 | ~$0.07 | ~$0.06 | ~$0.06 |
| 1,000 practitioners | $2 | $1.80 | $1.60 | $1.40 | $1.20 | $1.20 |
Is scraping OneDoc free?
A 50-row test is about $0.10 on Free. National exports are thousands of rows — use Max rows or split by city.
Input
| Field | Default | Notes |
|---|---|---|
scrapeMode | full | full = search · detail_only = profile URLs |
specialty | medecin-dentiste | OneDoc slug, or blank to paste a URL |
location | geneve | City slug, or suisse for national |
maxItems | 0 in API · Console prefill 50 | 0 = no row ceiling |
includePractices | false | Also collect cabinet / clinic pages |
searchUrls | empty | Optional extra / custom OneDoc search pages |
profileUrls | empty | Only for Profile URLs mode |
API-only (accepted in JSON, not shown on the Console form):
| Field | Default | Notes |
|---|---|---|
verboseLogs | false | Extra debug lines (paths, per-profile traces) |
proxyConfiguration | Apify Proxy, Switzerland on cloud | Override or disable via API |
startUrls | — | Legacy alias for search or profile URLs |
detailSource | api | Keep default |
emitListingRecords | false | Listing-only extra rows (not billed as practitioner events) |
Search example
{"scrapeMode": "full","specialty": "medecin-dentiste","location": "geneve","maxItems": 50}
Profile URLs example
{"scrapeMode": "detail_only","profileUrls": [{ "url": "https://www.onedoc.ch/fr/medecin-dentiste/bale/pc2mw/dr-med-dent-daniel-marschall" }]}
Output sample
{"recordType": "detail","name": "Dr. med. dent. Daniel Marschall","phone": "+41 61 226 60 00","email": "-","websiteUrl": "https://aba-zahnklinik.ch/","address": "Aeschengraben 26","city": "Basel","zipCode": "4051","state": "Basel-Stadt","specialties": ["médecine bucco-dentaire"],"profileUrl": "https://www.onedoc.ch/fr/medecin-dentiste/bale/pc2mw/dr-med-dent-daniel-marschall","bookable": true,"verified": true,"acceptsNewPatients": true}
email is "-" when OneDoc did not publish a mailbox. This Actor never invents emails.
Is it legal to scrape OneDoc.ch?
This Actor only reads public OneDoc.ch search and profile pages (the same data a browser can open without an account). Healthcare directories contain personal data. Use the export in line with OneDoc Terms, Swiss FADP, and GDPR where they apply. You are responsible for lawful outreach (consent, B2B rules, do-not-call).
Also available
| Actor | Use it when |
|---|---|
| local.ch scraper | Broader Swiss business directory — ratings, hours, more than doctors |
| Ameli Health Directory | French practitioners from the official Ameli directory |
| Doctolib Practitioner Scraper | France / Doctolib booking directory |
Many Swiss teams run OneDoc + local.ch and merge in a CRM.
FAQ
Is it only for dentists?
No. Any OneDoc specialty works: GPs, dermatologists, physiotherapists, surgeons, and more. The Actor name is historical.
Do I need a OneDoc account?
No.
Will every row have an email?
No. Phone and website are much more common. This Actor never invents emails.
National runs?
A full Switzerland file can be thousands of profiles. Test with Max rows = 50, then set 0 or split by canton.
Support
Contact corentin@outreacher.fr for custom scraping, scheduling, or CRM integrations.
Changelog
See ./CHANGELOG.md.