Mews API
Mews exposes the Connector API, a JSON-over-POST API where a listing is a room type (resource category) whose physical rooms (resources) are assigned to each reservation, authenticated with a ClientToken identifying the integration plus a property AccessToken.
Written from running this integration in production. Last checked against the Mews API on 27 September 2026.
What the Mews API is
Mews is a hotel PMS, and its Connector API is built for hotels. Every operation is a POST to https://api.mews.com/api/connector/v1/<operation> with three credentials in the JSON body: a ClientToken that identifies the integration, an AccessToken that identifies the property, and a Client name.
The model is the hotel model. A property sells room types (Mews calls them resource categories); each has several physical rooms (resources); prices, restrictions and availability are set per room type, and a specific room is assigned to a stay later. Repull maps a room type to a listing and its rooms to units, so a vacation-rental operator whose room types each hold one home sees exactly one listing per home.
The API is deep: reservations, rates, restrictions, availability, customers, bills and payments are all readable and most are writable. What it is not is a guest-messaging API, and the demo environment is shared by every developer building on Mews.
Through Repull: GET /v1/listings/{id}/units lists a room type’s rooms, every reservation carries unit (the room it was assigned), and availability reports availableUnits per night. Calendar edits (PUT /v1/availability/{propertyId}) and bookings (POST /v1/reservations, PATCH /v1/reservations/{id}, POST /v1/reservations/{id}/cancel) are made in Mews first and read back.
How to get Mews API access
- 1.To build or test, use the Mews demo environment at
https://api.mews-demo.com. Mews publishes a demo ClientToken and two demo AccessTokens (a gross-pricing UK property and a net-pricing US property) in its documentation. - 2.For a real property, an integration must be certified by Mews before it receives a production ClientToken. Mews does not partner before certification.
- 3.The property then enables the integration in the Mews Marketplace, which issues an AccessToken for that property (or a portfolio token covering several).
- 4.Through Repull, send that token to
POST /v1/connect/mews/credentials; Repull reads the property it belongs to and starts the first sync.
The ClientToken belongs to the integration, not the property. A property never sees it and never has to create an account with you to connect.
What will bite you
From running this integration in production, not from their documentation.
A day starts at local midnight, in UTC
Mews stores instants in UTC but a "day" begins at midnight in the property’s own time zone. For a Budapest hotel in summer, the night of 7 October begins at 2026-10-06T22:00:00Z. Ask for availability or prices from 00:00:00Z and Mews refuses with "FirstTimeUnitStartUtc is not start of TimeUnit". Reading a stay’s date straight off its UTC timestamp shifts it a day for any property east or west of UTC. Every date has to go through the property’s time zone, and check-in/check-out come from the service’s own offsets (15:00 is PT15H; some are negative, meaning the evening before).
The reservation has no money on it
A reservation record carries ids, dates and a state — no price, no guest name. The money is on order items (one per night, plus products such as breakfast or cleaning, plus city tax lines), each with a net and a gross value; the guest is a separate customer record. A new reservation’s order items are posted a few seconds after it is created, so a read straight after reservations/add shows a free stay.
Gross or net depends on the property
Some properties price gross (tax included), others net (tax added). The same room can read 100 on one and 100 plus tax on the other, and a custom price must carry the tax codes Mews taxes it under or it is refused with "Invalid TaxCodes".
Most services are not stays
A property has many services and most sell add-ons: parking, breakfast, a point of sale. Only an active, bookable, nightly service sells stays. Taking the first service in the list picks an add-on on Mews’s own demo property.
Some writes are applied a moment later
Availability changes and a new booking’s charges appear seconds after the call returns. A write that follows another too closely can be refused with "Someone else just changed this bill" — a conflict that succeeds on retry, not a real refusal.
Webhooks carry ids only, and Mews registers them
Mews sends several events per delivery, each with just an entity id, so every event means a fresh read. The endpoint is registered by Mews for the whole integration, not per property, and Mews does not sign the request.
The demo token is shared
Every developer testing on Mews uses the same demo AccessToken, and its limit of 200 requests per 30 seconds is shared too. A client that only counts its own requests still gets "Too many requests" — it has to back off on the response, not on its own arithmetic.
What it costs to keep working
Reading a room type is quick. Keeping a hotel integration correct is mostly about time zones and money.
- •Every date conversion is a place a stay can land a day early. Daylight-saving changes make it worse twice a year.
- •The money model differs by property (gross versus net) and changes as the property adds products or taxes.
- •Deprecated request options are removed on Mews’s schedule, and certification checks that you do not use them.
- •Certification is a review of every request you make; changing what you call means reviewing it again.
The same job, both ways
Mews directly
# Find the stay service, then its room types, then their rooms.
MEWS='https://api.mews.com/api/connector/v1'
curl -s -X POST "$MEWS/services/getAll" \
-H 'Content-Type: application/json' \
-d '{"ClientToken":"...","AccessToken":"...","Client":"You 1.0","Limitation":{"Count":1000}}'
# Then reservations (no money on them), then order items for the money,
# then customers for the guest, in the property's time zone.Through Repull
curl -s 'https://api.repull.dev/v1/reservations?limit=100' \
-H 'Authorization: Bearer sk_live_YOUR_KEY'
# Dates are the property's own, money is broken down,
# and each stay names the room it was assigned.Why use Repull for Mews
Your next hotel may not be on Mews
If every property you serve runs Mews, the Connector API is a good API and you can build on it directly. The cost arrives with the first property on something else.
The hotel model, once
Room types with rooms under them, counts instead of yes/no availability, rooms assigned after booking. Repull models it the same way for Mews and Cloudbeds, and keeps the one-home-one-listing shape vacation-rental systems use.
Certification is per integration
Mews certifies an integration before it can reach a real property. Building your own means going through it yourself.
Channels next to the PMS
The same Repull key reaches Airbnb and Booking.com directly, alongside the PMS.
Connect Mews through Repull
Create a key, connect a Mews account with its Client ID and Secret, and read reservations in the same shape as every other system you support.
Frequently asked questions
Does Mews have a public API?
Yes. The Mews Connector API is documented at docs.mews.com. Every call is a POST with a ClientToken (the integration), an AccessToken (the property) and a Client name in the JSON body. A demo environment with published tokens is available for building and testing.
How do I get a Mews access token?
The property enables your integration in the Mews Marketplace, which issues the AccessToken. Your own ClientToken is issued by Mews after your integration is certified; before that, build against the demo environment.
Why does Mews say my time is not the start of a time unit?
A Mews day starts at local midnight in the property’s time zone, expressed in UTC. For a property at UTC+2, the day starts at 22:00Z the previous day. Convert each date through the property’s time zone before sending it.
Where is the price of a Mews reservation?
On its order items, not on the reservation. Read orderItems/getAll for the reservation’s id: one item per night plus products and city tax, each with net and gross values.
Can I message guests through the Mews API?
No. Mews’s messaging API returns only message threads your integration created itself, not the property’s guest conversations.
Can I try it without a Mews customer?
Yes. Connect Mews’s demo property through Repull with its published demo access token and environment "demo".
The other systems Repull connects
Reference
Auth Type
Access token
Required Fields
accessTokenSupported Operations
Connection Guide
The property enables Repull in the Mews Marketplace and shares the access token Mews shows. To try it first, connect Mews’s public demo property with its published demo token and environment "demo".
Notes
- • A listing is a room type; its rooms are units
- • Writes prices, restrictions, availability and reservations back to Mews
- • Webhooks are enabled per integration by Mews
- • Guest messaging is not available through the Mews API