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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scheduling_link-0.1.0.tar.gz.
File metadata
- Download URL: scheduling_link-0.1.0.tar.gz
- Upload date:
- Size: 141.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dd91c4e6c0e9217ff3ef972d3676a8e65a358abd7af24dd6d631fcdd32ce0ac
|
|
| MD5 |
67bf754fc9ec341b1a3940b4c968efcb
|
|
| BLAKE2b-256 |
70d1816865e61ce0d0631f96b0297d5cf01fe6871629bd9bb167467915dca178
|
File details
Details for the file scheduling_link-0.1.0-py3-none-any.whl.
File metadata
- Download URL: scheduling_link-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5a7bf6bf26213b1ac945fa0cd06156fddb458c14f5d5284b733e4c6c04f8e1a
|
|
| MD5 |
7dafd23e192b6d7adb996776ea6fff5e
|
|
| BLAKE2b-256 |
c031faec2d98bdc98179fd73715379996b9f021c813b65f2b31f5c255d19d1e5
|