Complete Resy restaurant reservation management - search restaurants, check availability, book, cancel, modify reservations, and manage waitlists.
Manage restaurant reservations through Resy. Search restaurants, check availability, book tables, modify existing reservations, join waitlists, and manage your dining plans.
export RESY_API_KEY="your_api_key"
export RESY_AUTH_TOKEN="your_auth_token"
# Create credential files
echo "your_api_key" > ~/.resy_key
echo "your_auth_token" > ~/.resy_token
chmod 600 ~/.resy_key ~/.resy_token
# Set file paths
export RESY_API_KEY_FILE="~/.resy_key"
export RESY_AUTH_TOKEN_FILE="~/.resy_token"
# Run interactive setup wizard
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/config.py --setup
To get your credentials:
api.resy.comAuthorization header for API key and x-resy-auth-token for auth tokenFind restaurants by name or location:
# Search by name
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/search.py --query "Nobu"
# Search by location
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/search.py --location "New York" --query "Italian"
See available time slots for a restaurant:
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/availability.py \
--venue-id 12345 \
--date 2024-12-25 \
--party-size 2
Make a reservation at your chosen restaurant:
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/book.py \
--venue-id 12345 \
--date 2024-12-25 \
--time 19:00 \
--party-size 2
View all upcoming reservations:
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/list_reservations.py
Cancel an existing reservation:
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/cancel.py \
--reservation-id abc123
Change time, date, party size, or special requests:
# Change time
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/modify.py \
--reservation-id abc123 \
--time 20:00
# Change party size
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/modify.py \
--reservation-id abc123 \
--party-size 4
# Change date and add special requests
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/modify.py \
--reservation-id abc123 \
--date 2024-12-26 \
--notes "Window table please"
Join waitlists when restaurants are fully booked:
# Check if waitlist is available
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/waitlist.py check \
--venue-id 12345 \
--date 2024-12-25 \
--party-size 2
# Join a waitlist
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/waitlist.py join \
--venue-id 12345 \
--date 2024-12-25 \
--time 19:00 \
--party-size 2 \
--notes "Anniversary dinner"
# Check waitlist status
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/waitlist.py status \
--waitlist-id wl_abc123
# Cancel waitlist entry
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/waitlist.py cancel \
--waitlist-id wl_abc123
| Variable | Required | Description |
|---|---|---|
RESY_API_KEY | Yes* | Your Resy API key from browser headers |
RESY_AUTH_TOKEN | Yes* | Your Resy auth token from browser headers |
RESY_API_KEY_FILE | Alternative | Path to file containing API key |
RESY_AUTH_TOKEN_FILE | Alternative | Path to file containing auth token |
RESY_TIMEZONE | No | Your local timezone (default: America/New_York) |
*Either the direct value or the file path must be set.
YYYY-MM-DD (e.g., 2024-12-25)HH:MM 24-hour format (e.g., 19:00 for 7 PM)Valid party sizes range from 1 to 20 guests.
# 1. Search for the restaurant
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/search.py --query "Don Angie"
# Note the venue_id from the output (e.g., 1505)
# 2. Check availability
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/availability.py \
--venue-id 1505 \
--date 2024-12-25 \
--party-size 4
# 3. Book the reservation with special requests
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/book.py \
--venue-id 1505 \
--date 2024-12-25 \
--time 19:00 \
--party-size 4 \
--notes "Anniversary dinner, gluten-free options please"
# 4. View your reservations
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/list_reservations.py
# 5. Modify if needed (change time)
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/modify.py \
--reservation-id resy_abc123 \
--time 20:00
# 6. Or cancel if plans change
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/cancel.py \
--reservation-id resy_abc123
python3 ~/.openclaw/workspace/skills/resy-booking/scripts/availability.py \
--venue-id 1505 \
--date $(date -d "+1 day" +%Y-%m-%d) \
--party-size 2
All scripts provide clear error messages:
api.resy.com)"Authentication failed"
RESY_API_KEY and RESY_AUTH_TOKEN are correct"No availability found"
"Booking failed"
~/.openclaw/workspace/skills/resy-booking/references/api-docs.md~/.openclaw/workspace/skills/resy-booking/references/setup-guide.md~/.openclaw/workspace/skills/resy-booking/references/error-codes.mdResy website: https://resy.com/