Anny AI Help Center
Sign in

    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.