OneDoc.ch · Swiss Practitioners by Specialty & City avatar

OneDoc.ch · Swiss Practitioners by Specialty & City

Pricing

from $1.40 / 1,000 practitioner profiles

Go to Apify Store
OneDoc.ch · Swiss Practitioners by Specialty & City

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

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

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 goalSuggested setup
Dental / medical supplierTerritory list for a cantonSpecialty Dentist + city · Max rows 50 first
Healthcare SDR / outboundCall list with phonesSame · export Contacts view
Agency / CRM opsEnrich links you already storedProfile URLs mode
Market research / franchiseSize a city or the whole countryLocation All of Switzerland · Max rows 0
Clinic network / M&AMap cabinets and multi-site groupsTurn 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

  1. Keep Search mode.
  2. Choose a specialty (Dentist, GP, dermatologist…) and a city (Geneva, Zurich, or all of Switzerland).
  3. Leave Max rows at 50 for a first look.
  4. 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)

ExampleBest for
Export dentists in Geneva from OneDocGeneva dental outreach — phone and address
Export dentists in Zurich from OneDocZurich / German-speaking Switzerland
Find GPs in Switzerland on OneDocNational general-practitioner list
Enrich OneDoc profile URLs you already haveCRM refresh from stored profile links

📄 ./sample-output.csv — real public profiles, emails only when OneDoc published them.


What it extracts

FieldWhat it is
namePractitioner or practice display name
phonePhone in Swiss +41 format when listed
emailMailbox only if published on the profile — never guessed
websiteUrlExternal practice site when listed
address / city / zipCode / stateStreet, city, postal code, canton
latitude / longitudeGPS when OneDoc exposes it
specialties / expertisesMedical specialty and procedures
spokenLanguagesLanguages listed on the profile
openingHoursStructured schedule
profileUrlCanonical OneDoc practitioner page
practiceOneDocUrl / practiceLocationsLinked cabinet and other sites
bookable / verified / acceptsNewPatientsBooking 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.

FreeBronzeSilverGoldPlatinumDiamond
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

FieldDefaultNotes
scrapeModefullfull = search · detail_only = profile URLs
specialtymedecin-dentisteOneDoc slug, or blank to paste a URL
locationgeneveCity slug, or suisse for national
maxItems0 in API · Console prefill 500 = no row ceiling
includePracticesfalseAlso collect cabinet / clinic pages
searchUrlsemptyOptional extra / custom OneDoc search pages
profileUrlsemptyOnly for Profile URLs mode

API-only (accepted in JSON, not shown on the Console form):

FieldDefaultNotes
verboseLogsfalseExtra debug lines (paths, per-profile traces)
proxyConfigurationApify Proxy, Switzerland on cloudOverride or disable via API
startUrlsLegacy alias for search or profile URLs
detailSourceapiKeep default
emitListingRecordsfalseListing-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.

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

ActorUse it when
local.ch scraperBroader Swiss business directory — ratings, hours, more than doctors
Ameli Health DirectoryFrench practitioners from the official Ameli directory
Doctolib Practitioner ScraperFrance / 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.