Export your rates and connect your tools
Use CSV when you want a file for review or a one-time handoff. Use API access when another tool needs to read Anny AI data on a repeatable schedule.
Download a report as CSV
Open a hotel’s rate report and choose Download CSV in a report table such as Rate Grid or Parity. Set the report window, length of stay, rate view, and channel first so the file matches the view you are reviewing.
Every plan includes CSV export. Keep the downloaded file with the report date and filters when you share it, so another person can follow the same comparison.
Tables in Chat, such as Rate comparison and Event results, have their own Download CSV and Copy as Markdown.
Use the Anny AI API
Paid Market Intelligence packages and existing Core or Pro contracts include API access. Open Settings → API keys to create a key. Your workspace must have API access, and your role must allow you to manage keys.
Start with your hotels
Send your key in the x-api-key header. Use the base URL for your environment.
The production base URL is https://api.anny.ai/v1.
export ANNY_BASE_URL='https://api.anny.ai/v1'
export ANNY_API_KEY='YOUR_API_KEY'
curl "$ANNY_BASE_URL/hotels" -H "x-api-key: $ANNY_API_KEY"
Choose a hotel from hotels. Use its hotelId for briefs, parity, events, and demand drivers.
Use its compSet.compSetId for rates and room offers. Competitor hotelId values identify competitors in those results.
A null Comp Set means no current Comp Set is available to this key.
Choose what to read
| You want | Request |
|---|---|
| Your hotels and competitors | GET /hotels |
| Selected comparison rates | GET /comp-sets/{compSetId}/rates |
| Room offers and booking sellers | GET /comp-sets/{compSetId}/room-offers |
| Direct and seller parity comparisons | GET /hotels/{hotelId}/parity |
| A saved brief for your role | GET /hotels/{hotelId}/brief?role=revenue |
| Tracked events | GET /hotels/{hotelId}/tracked-events |
| Places that can bring overnight demand | GET /hotels/{hotelId}/demand-drivers |
| A connection check without a key | GET /ping |
These paths follow your base URL. V1 returns JSON. For CSV, use the report table’s Download CSV control.
Get rates for a date window
curl "$ANNY_BASE_URL/comp-sets/YOUR_COMP_SET_ID/rates?startDate=2026-11-01&endDate=2026-11-07" \
-H "x-api-key: $ANNY_API_KEY"
startDate and endDate include both arrival dates. Choose 1 to 31 dates.
Filter rates or offers with hotelId, stayNights, or channel when you need a smaller result.
Each rate includes roomName. A null name means the room name is unknown.
Hotel names appear once in hotels. Match each rate’s hotelId to that list.
stayNights is the stay length. collectedAt tells you when the amount was collected.
Check priceBasis before calculating stay totals. When it is unknown, keep amount as returned and do not multiply or divide it by stayNights.
Rates use the response currency. Each room offer has its own currency.
taxesIncluded: null means tax inclusion is unknown.
cancellationAtCollection describes cancellation when the amount was collected.
unknown does not mean nonrefundable. Check collectedAt and any freeCancellationUntil deadline before using an older offer.
maxGuests means room capacity.
Continue through the results
Rates, room offers, parity, events, and demand drivers return at most 100 records per page.
Set limit from 1 to 100. Copy nextCursor into the next request as cursor, keeping the other filters unchanged.
Stop when nextCursor is null. Saved results can change between requests, so restart the pages if the result set changes.
For parity, reuse the returned asOf value on later pages.
An empty list means no matching records. A null value means unknown or unavailable, not zero.
Check a brief’s businessDate and status before using its text. “Yesterday” refers to the day before businessDate.
Parity also identifies stale or insufficient data. Zero undercuts with no valid comparisons does not mean parity is healthy.
The V1 API reference explains every parameter, response field, filter, and error with examples.
For development, open /docs on the development base URL supplied with your access.
If a request fails, 400 identifies invalid parameters, 401 identifies a missing or invalid key, and 403 identifies denied access.
Use hotel and Comp Set IDs returned by the hotel list. Correct parameter errors using the response’s fields messages.
Switch from Lighthouse
If your integration already uses the Lighthouse API, use the Lighthouse-compatible V3 API. It serves the Hotels and Lowest Rates endpoints in the Lighthouse format, including CSV.
Change the base URL to https://api.anny.ai and use your Anny AI key. Your integration can keep sending the key in X-Oi-Authorization.
IDs are returned as text, so store them in text columns. The V3 API reference explains every parameter and field.
Keep keys under control
Copy a new key when it is shown after creation and store it in the integration that needs it. The full key is shown only once. Disable or revoke a key from Settings → API keys when the integration no longer needs access.
If API keys is not available, check the active plan and ask a workspace owner to review your permission. See Understand what you are paying for for plan and service details.
For a market question before you export, start with Find the story in your rate report.