Connect an owner's channel or PMS account through a hosted flow, then read their listings, reservations, guests, messages and reviews from one schema — and write calendar, pricing and content back to the channels that support it. A webhook fires the moment anything changes.
Reads work the same on every channel. Writes depend on what each channel actually allows today — see the capability matrix.
Commercial or volume questions? Talk to us
# 1 · Create a hosted Connect session for your usercurl -X POST https://api.repull.dev/v1/connect \-H "Authorization: Bearer $REPULL_API_KEY" \-H "Content-Type: application/json" \-d '{"redirectUrl":"https://your.app/connected"}'# → { "sessionId": "cs_…", "url": "https://connect.repull.dev/cs_…" }# They pick Airbnb, Booking.com, VRBO or their PMS and sign in there.# 2 · Read it all back — one schema, every channelcurl "https://api.repull.dev/v1/reservations?limit=10" \-H "Authorization: Bearer $REPULL_API_KEY"
Two calls: the first hands your user a hosted Connect page, the second reads their reservations back.
6
SDKs
13
Channels
50+
Endpoints
18
AI Tools
SDKs
A hand-crafted TypeScript flagship plus generated bindings for Python, PHP, Go, Ruby, and .NET — all built against the same OpenAPI spec, all shipping today.
OAuth, credentials, activation, and claim — every connection pattern, one consistent flow. Mint a session, redirect your user, get a webhook back when they're live.
Connect your platform to get started.
4 OTAs · 9 PMS · one consistent flow
One API, every channel
Repull is a single key for the major OTA APIs — plus 12 PMSs. Connect once to read and sync reservations, calendars and pricing, message guests, pull and respond to reviews, manage listing content and photos, and push listings to every channel — with a webhook the moment anything changes. It is the channel manager API and vacation rental API layer you would otherwise build yourself, against every provider, one integration at a time.
Pull reservations, messages, and calendars from the Airbnb API — and push availability and pricing back through the same key.
Read bookings and sync rates and availability through the Booking.com API, without maintaining the XML integration yourself.
Two-way reservation and calendar sync over the VRBO API (Expedia Group) from your existing Repull key.
Reach Expedia and the wider Expedia Group inventory through one normalized schema, the same as every other channel.
Need a PMS instead? The same key speaks the PMS API for Hostaway, Guesty, OwnerRez, Lodgify and 8 more — a single short-term rental API across OTAs and property management systems alike.
Open source
Repull ships a complete open-source ecosystem — channel manager, revenue management, MCP server, AI SDK provider — so you can fork, extend, and ship without lock-in.
Fork the full open-source channel-manager. Calendar, reservations, connections, messaging, reviews — everything a multi-property operator needs. Powered by Repull, with AI features powered by Vanio AI.
$git clone github.com/ivannikolovbg/repull-channel-manager@repull/mcpMITModel Context Protocol server. Plug Repull into Claude Desktop, Cursor, Windsurf, or any MCP-aware agent. Your AI calls reservations, properties, and messaging tools natively.
$npx -y @repull/mcpProperty managers sign in to the system they use today on a page with your brand, and their properties, reservations, guests and conversations are copied into your product — with a channel map and a cutover check so nothing is lost or double-booked.
Repull Studio turns a sentence into a working internal tool wired to your live Repull data — owner statements, cleaning rotas, guest CRMs — and deploys it to a URL you can share.
A simple, elegant interface so you can start pulling vacation rental data in minutes. SDKs for your favorite programming languages.
# Get all reservations from any connected PMScurl https://api.repull.dev/v1/reservations \-H "Authorization: Bearer sk_live_YOUR_KEY"# Response{"data": [{"id": "res_8x7k2m","propertyId": "prop_3j9f","checkIn": "2026-06-01","checkOut": "2026-06-05","status": "CONFIRMED","source": "AIRBNB","guest": {"firstName": "Sarah","lastName": "Chen"}}]}
12 PMS platforms. 4 OTA channels. One schema, defined by you.
OTA Channels
Integration guides: Airbnb API · Booking.com API · VRBO API
PMS Platforms

Hostaway
PMS

Guesty
PMS

Cloudbeds
PMS

OwnerRez
PMS

Smoobu
PMS

Beds24
PMS

Hospitable
PMS

Lodgify
PMS

BookingSync
PMS

Mews
PMS

Track
PMS

iGMS
PMS
Hostfully
Coming soon

Tokeet
Coming soon

Streamline
Coming soon

Zeevou
Coming soon

Uplisting
Coming soon

Apaleo
Coming soon

Escapia
Coming soon
Amenitiz
Coming soon
Define your own field names. Map once, done forever. Works with any schema.
POST /v1/schema/custom{"name": "my-app","mappings": {"listing_id": "propertyId","arrival": "checkIn","departure": "checkOut","guest_name": "primaryGuest.firstName + ' ' + primaryGuest.lastName","nightly_rate": "financials.breakdown.basePrice / nights"}}# Then just set: X-Schema: my-app
{"mcpServers": {"repull": {"command": "npx","args": ["-y", "@repull/mcp"],"env": {"REPULL_API_KEY": "sk_live_..."}}}}
Integrate with your favorite AI tools. Build and ship faster with AI-powered assistance.
Get your API keys in 30 seconds. Free to start, no credit card.