Doctoralia Doctor Schedule Monitor avatar

Doctoralia Doctor Schedule Monitor

Pricing

from $25.00 / 1,000 slot records

Go to Apify Store
Doctoralia Doctor Schedule Monitor

Doctoralia Doctor Schedule Monitor

Monitor one Doctoralia doctor's appointment calendar. Every run returns booked vs free 30-minute slots with datetime, location and booking status, plus change detection (new bookings and cancellations) since the previous run for calendar sync.

Pricing

from $25.00 / 1,000 slot records

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Doctoralia Doctor Schedule Monitor

Doctoralia Doctor Schedule Monitor

Keep a scheduling agent, CRM or calendar in sync with one doctor's Doctoralia appointment calendar. Point the actor at a single Doctoralia profile URL and every run reads that doctor's 30-minute slots across all of their active calendars, tells you which are booked and which are free, and detects what changed since the last run (new bookings and cancellations). Built to run on a short cron (for example every 30 minutes) so an automation agent always has the current state of the calendar.

HTTP-only and fast. No browser, no login to the doctor's Doctoralia account required.

Here is one real record the actor returns (a currently booked slot):

{
"doctorName": "Dr. Diego Armando Huertas Castelli",
"doctorId": "75266",
"doctorUrl": "https://www.doctoralia.co/perfil/diego-armando-huertas-castelli",
"addressId": "85713",
"locationName": "Psi, Diego Armando Huertas Castelli. Psicología y Coaching.",
"city": "Bogotá",
"address": "Psi, Diego Armando Huertas Castelli. Psicología y Coaching.",
"onlineOnly": false,
"specialty": "Psicólogo",
"slotStart": "2026-08-19T19:00:00-05:00",
"slotDate": "2026-08-19",
"slotTime": "19:00",
"status": "booked",
"changeType": "new_booking",
"bookingUrl": null,
"observedAt": "2026-08-19T23:21:48.327Z"
}

What you get

For every appointment slot in your date window, one record with the slot datetime (with timezone), whether it is booked or free, the location it belongs to, and how it changed since the previous run. Free slots include the public booking URL.

Input

FieldTypeDescription
doctorUrlstringFull Doctoralia profile URL of the doctor to monitor, for example https://www.doctoralia.co/perfil/diego-armando-huertas-castelli. Recommended.
doctorSlugstringAlternative to doctorUrl: the profile slug (for example diego-armando-huertas-castelli), combined with country to build the URL.
countryenumCountry domain used only when building the URL from doctorSlug: co, mx, es, ar, cl, pe, br. Default co.
daysAheadintegerHow many days of calendar to read from today (1 to 60). Default 7.
outputenumchanges (only slots whose status changed since the last run, for a cron), booked (all currently booked slots), or all (full grid of booked and free). Default changes.
maxSlotsintegerSafety cap on records emitted per run. Default 500.

Output

FieldDescription
doctorNameDoctor display name (public).
doctorIdDoctoralia doctor id.
doctorUrlProfile URL monitored.
addressIdCalendar / location id the slot belongs to.
locationNameClinic / location name.
cityCity.
addressAddress text.
onlineOnlytrue for an online-only calendar.
specialtyDoctor specialty when available.
slotStartSlot start as returned, ISO 8601 with timezone (for example 2026-08-19T19:00:00-05:00).
slotDateSlot date YYYY-MM-DD.
slotTimeSlot time HH:MM.
statusbooked or free.
changeTypenew_booking, cancellation, existing (first run only), or unchanged.
bookingUrlPublic booking URL (present for free slots only).
observedAtWhen this run observed the calendar (ISO).

How change detection works

The actor remembers the set of booked slots from the previous run for each doctor (stored in a persistent key-value store keyed by doctor id). On the next run it compares:

  • a slot booked now but not before becomes new_booking,
  • a slot that was booked before and is now free becomes cancellation,
  • on the very first run there is no history, so every currently booked slot is emitted once as existing to let you seed your calendar.

In output: "changes" mode an idle poll with no calendar movement returns zero records, so your cron only produces data (and cost) when something actually changed.

Use cases

  • Schedule sync: keep a scheduling-automation agent, Google Calendar or CRM continuously in sync with a doctor's real Doctoralia bookings on a 30-minute cron.
  • Double-booking prevention: know the moment a slot fills up so your own booking flow never offers a time that is already taken.
  • Appointment monitoring: track new bookings and cancellations over the day for reminders, waitlist fills or staffing.
  1. Set doctorUrl to your doctor's Doctoralia profile URL.
  2. Set output to changes and daysAhead to 7.
  3. Schedule the actor to run every 30 minutes.

Each tick returns only new bookings and cancellations since the previous tick, which your agent applies to its calendar.

Billing

This actor uses pay per event:

EventPriceWhen
apify-actor-start$0.02Once per run, charged when the monitor starts and polls the calendar. Covers the poll and change computation even when there are no new bookings.
result$0.03Once per emitted slot record.

In the default changes mode, a run where nothing changed emits zero records and costs only the one run-start event. Runs never charge the result event on failure, and free Apify accounts are capped at 10 billable records per run.

Honest note on patient data

This actor reads only what Doctoralia publishes on the public profile and calendar: the slot datetime, whether it is booked or free, and the location. The patient name, phone and WhatsApp are not included, because that information is private and only exists inside the doctor's own logged-in Doctoralia account. It is not part of the public data and this actor does not fabricate it. The actor tells you a slot is taken and when; it does not tell you who booked it.