Resy
Restaurant search and real-time table availability on Resy — venue lookup by name and open slots for a date/party size, both keyless and browserless.
Restaurant search and real-time table availability on Resy — venue lookup by name and open slots for a date/party size, both keyless and browserless. No booking (needs a signed-in Resy account).
Domain: resy.com
Also known as: Resy, resy.com
Prefer the capability
bowmark.restaurant_booking covers this provider and routes around it when it is having a bad day. Reach for this page when you need resy.com specifically.
Call it directly
bowmark.providers.resy.search(query: string | { query: string; latitude?: number; longitude?: number }): Promise<ResyVenueRow[]>
bowmark.providers.resy.checkAvailability(args: { venueId: number; day: string; partySize?: number }): Promise<ResyAvailability>Functions
| Function | What it does |
|---|---|
search | Finds Resy venues matching a restaurant name, e.g. bowmark.providers.resy.search("Paco Meralgo") — ranked by Resy's own relevance, optionally biased toward { latitude, longitude } when… |
checkAvailability | Reads real-time open reservation slots for one venue (venueId from a prior search row), one date (day, "YYYY-MM-DD" in the venue's own calendar) and a party size (default 2).… |
Types
interface ResyVenueRow {
venueId: number;
name: string;
urlSlug: string;
citySlug: string;
locality: string;
region: string;
country: string;
cuisine: string[];
priceRangeId: number | null;
rating: { average: number; count: number } | null;
maxPartySize: number | null;
}
interface ResySlot {
startsAt: string;
seatingType: string | null;
token: string | null;
}
interface ResyAvailability {
venueId: number;
name: string;
urlSlug: string;
citySlug: string;
timeZone: string;
day: string;
partySize: number;
slots: ResySlot[];
}Related
restaurant_booking | Restaurant table reservations — the capability this provider backs. |