Skip to main content

Get availability from scheduling provider booking pages

Project description

scheduling-link

Extracts availability from public scheduling links — no browser automation, no API keys.

{
  "timezone": "America/New_York",
  "slots": {
    "2026-05-01": [
      {"start": "16:00", "end": "16:30"},
      {"start": "16:30", "end": "17:00"}
    ]
  }
}

Supported providers: Calendly, Acuity Scheduling, Cal.com, zcal.

Install

Requires Python 3.10+.

# Run the CLI (one-off, no install)
uvx scheduling-link <url>

# As a library in your project
uv add scheduling-link

CLI

scheduling-link <url> [-d N] [-f {json,pretty,yaml}]
Flag Default Description
--days N / -d N 14 Days ahead to fetch
--format / -f json json (compact), pretty, or yaml
--timezone TZ / --tz / -t system local Output timezone (IANA name, e.g. America/New_York)

Run with no arguments to see the supported providers.

scheduling-link https://calendly.com/username/30min | jq '.slots["2026-05-01"]'
scheduling-link https://cal.com/username/30min -f pretty
scheduling-link https://zcal.co/username/30min -d 7 -f yaml
scheduling-link https://zcal.co/username/30min --tz Asia/Tokyo

Library

from scheduling_link import availability

result = availability("https://calendly.com/username/30min", days=7)
print(result["timezone"])  # "America/New_York"
print(result["slots"])     # {"2026-05-01": [{"start": "09:00", "end": "09:30"}, ...]}

# Override the output timezone
result = availability("https://cal.com/x/y", days=7, timezone="Asia/Tokyo")

Development

See docs/development.md for setup, tests, architecture, and how to add a new provider.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scheduling_link-0.1.0.tar.gz (141.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scheduling_link-0.1.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page