Algolia Analytics API

Reports top searches, no-result searches, click and conversion rates, revenue and other search analytics aggregated from query and Insights data. One of only six Algolia APIs that returns machine-readable x-ratelimit-* response headers.

Operations 30

GET /{path} Send requests to the Algolia REST API #
POST /{path} Send requests to the Algolia REST API #
PUT /{path} Send requests to the Algolia REST API #
DELETE /{path} Send requests to the Algolia REST API #
GET /2/searches Retrieve top searches #
GET /2/searches/count Retrieve number of searches #
GET /2/searches/noResults Retrieve the most frequent searches without results #
GET /2/searches/noClicks Retrieve top searches without clicks #
GET /2/searches/noResultRate Retrieve no results rate #
GET /2/searches/noClickRate Retrieve no click rate #
GET /2/hits Retrieve top search results #
GET /2/users/count Retrieve number of users #
GET /2/filters Retrieve top filters #
GET /2/filters/{attribute} Retrieve top filter values #
GET /2/filters/noResults Retrieve top filters for a search without results #
GET /2/countries Retrieve top countries #
GET /2/clicks/averageClickPosition Retrieve average click position #
GET /2/clicks/positions Retrieve click positions #
GET /2/clicks/clickThroughRate Retrieve click-through rate #
GET /2/conversions/conversionRate Retrieve conversion rate #
GET /2/conversions/addToCartRate Retrieve add-to-cart rate #
GET /2/conversions/purchaseRate Retrieve purchase rate #
GET /2/conversions/revenue Retrieve revenue data #
GET /2/status Retrieve update status #
GET /3/patterns/fields Retrieve the field catalog #
POST /3/patterns/timeseries Query a metrics time series #
POST /3/patterns/scalar Query single-row aggregates #
POST /3/patterns/table Query a grouped table #
POST /3/patterns/distribution Query a numeric distribution #
GET /setClientApiKey Switch the API key used to authenticate requests #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/algolia-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

algolia-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Analytics API
  summary: The Analytics API gives you access to metrics related to your Algolia search experience
  description: "## Base URLs\n\nBase URLs for the Analytics API:\n\n- `https://analytics.us.algolia.com`\n- `https://analytics.de.algolia.com`\n- `https://analytics.algolia.com` (alias of `analytics.us.algolia.com`)\n\nUse the URL that matches your [analytics region](https://dashboard.algolia.com/account/infrastructure/analytics).\n\n**All requests must use HTTPS.**\n\n## Availability and authentication\n\nAdd these headers to authenticate requests:\n\n- `x-algolia-application-id`. Your Algolia application ID.\n- `x-algolia-api-key`. An API key with the necessary permissions to make the request.\n  The required access control list (ACL) to make a request is listed in each endpoint's reference.\n\nYou can find your application ID and API key in the [Algolia dashboard](https://dashboard.algolia.com/account/api-keys).\n\n## Rate limits\n\nYou can make up to **100 requests per minute per app** to the Analytics API.\nThe response includes headers with information about the limits.\n\n## Parameters\n\nQuery parameters must be [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding).\nNon-ASCII characters must be UTF-8 encoded.\nPlus characters (`+`) are interpreted as spaces.\n\n## Response status and errors\n\nThe Analytics API returns JSON responses.\nSince JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response.\n\n- Successful responses return a `2xx` status\n- Client errors return a `4xx` status\n- Server errors are indicated by a `5xx` status.\n\nError responses have a `message` property with more information.\n\n## Version\n\nThe current version of the Analytics API is version 2, indicated by the `/2/` in each endpoint's URL.\n\nA semantic patterns framework is also available under `/3/patterns/*` for building custom\nanalytics queries.\n\n## Query aggregation\n\nAlgolia accepts queries on each keystroke.\nTo ensure you have relevant analytics data, however, the series of keystrokes is aggregated to keep only the latest (final) user query.\nThis is called \"prefix\" aggregation.\n\nFor more information, see [Query agggregation and processing](https://www.algolia.com/doc/guides/search-analytics/concepts/query-aggregation).\n\nSee the analytics implementation overview for more information about query aggregation.\n"
  version: 2.0.0
servers:
- url: https://analytics.{region}.algolia.com
  variables:
    region:
      description: The region where your Algolia application is hosted.
      enum:
      - us
      - de
      default: us
- url: https://analytics.algolia.com
security:
- appId: []
  apiKey: []
tags:
- name: analytics
paths:
  /{path}:
    get:
      operationId: customGet
      summary: Send requests to the Algolia REST API
      description: This method lets you send requests to the Algolia REST API.
      parameters:
      - $ref: '#/components/parameters/PathInPath'
      - $ref: '#/components/parameters/Parameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
      tags:
      - analytics
    post:
      operationId: customPost
      requestBody:
        description: Parameters to send with the custom request.
        content:
          application/json:
            schema:
              type: object
      summary: Send requests to the Algolia REST API
      description: This method lets you send requests to the Algolia REST API.
      parameters:
      - $ref: '#/components/parameters/PathInPath'
      - $ref: '#/components/parameters/Parameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
      tags:
      - analytics
    put:
      operationId: customPut
      requestBody:
        description: Parameters to send with the custom request.
        content:
          application/json:
            schema:
              type: object
      summary: Send requests to the Algolia REST API
      description: This method lets you send requests to the Algolia REST API.
      parameters:
      - $ref: '#/components/parameters/PathInPath'
      - $ref: '#/components/parameters/Parameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
      tags:
      - analytics
    delete:
      operationId: customDelete
      summary: Send requests to the Algolia REST API
      description: This method lets you send requests to the Algolia REST API.
      parameters:
      - $ref: '#/components/parameters/PathInPath'
      - $ref: '#/components/parameters/Parameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
      tags:
      - analytics
  /2/searches:
    get:
      tags:
      - analytics
      operationId: getTopSearches
      x-mcp-tool: true
      x-acl:
      - analytics
      summary: Retrieve top searches
      description: "Returns the most popular searches. For each search, it also includes the average number of hits.\n\nIf you set the `clickAnalytics` query parameter to `true`, the response also includes:\n\n- Tracked searches count\n  Tracked searches are Search API requests with `clickAnalytics` set to `true`.\n  This differs from the response's `count`, which includes searches where `clickAnalytics` is `false`.\n- Click count\n- Click-through rate (CTR)\n- Conversion count\n- Conversion rate (CR)\n- Average click position\n\nIf you set the `revenueAnalytics` query parameter to `true`, the response also includes:\n\n- Add-to-cart count\n- Add-to-cart rate (ATCR)\n- Purchase count\n- Purchase rate\n- Revenue details for each currency\n\n**There's a difference between 0% rates and null rates:**\n\n- **Null** means there were no queries. Algolia didn't receive any events, so rates are null.\n- **0% rates** mean there were queries but no [click or conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received.\n"
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/ClickAnalytics'
      - $ref: '#/components/parameters/RevenueAnalytics'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/OrderBy'
      - $ref: '#/components/parameters/Direction'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTopSearchesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/searches/count:
    get:
      tags:
      - analytics
      operationId: getSearchesCount
      x-acl:
      - analytics
      summary: Retrieve number of searches
      description: 'Retrieves the number of searches within a time range, including a daily breakdown.


        By default, the analyzed period includes the last eight days including the current day.

        '
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                title: getSearchesCountResponse
                type: object
                additionalProperties: false
                required:
                - dates
                - count
                properties:
                  count:
                    $ref: '#/components/schemas/parameters_count'
                  dates:
                    type: array
                    description: Daily number of searches.
                    items:
                      title: dailySearches
                      type: object
                      additionalProperties: false
                      required:
                      - date
                      - count
                      properties:
                        date:
                          $ref: '#/components/schemas/date'
                        count:
                          $ref: '#/components/schemas/parameters_count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/searches/noResults:
    get:
      tags:
      - analytics
      operationId: getSearchesNoResults
      x-acl:
      - analytics
      summary: Retrieve the most frequent searches without results
      description: Retrieves the 1,000 most frequent searches that produced zero results.
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                title: getSearchesNoResultsResponse
                type: object
                additionalProperties: false
                required:
                - searches
                properties:
                  searches:
                    type: array
                    description: Searches without results.
                    items:
                      title: dailySearchesNoResults
                      type: object
                      additionalProperties: false
                      required:
                      - search
                      - count
                      - withFilterCount
                      properties:
                        search:
                          $ref: '#/components/schemas/search'
                        count:
                          $ref: '#/components/schemas/parameters_count'
                        withFilterCount:
                          $ref: '#/components/schemas/withFilterCount'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/searches/noClicks:
    get:
      tags:
      - analytics
      operationId: getSearchesNoClicks
      x-acl:
      - analytics
      summary: Retrieve top searches without clicks
      description: 'Retrieves the most popular searches that didn''t lead to any clicks, from the 1,000 most frequent searches.


        For each search, it also returns the number of displayed search results that remained unclicked.

        '
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                title: getSearchesNoClicksResponse
                type: object
                additionalProperties: false
                required:
                - searches
                properties:
                  searches:
                    type: array
                    description: Searches without any clicks.
                    items:
                      title: dailySearchesNoClicks
                      type: object
                      additionalProperties: false
                      required:
                      - search
                      - count
                      - nbHits
                      properties:
                        search:
                          $ref: '#/components/schemas/search'
                        count:
                          type: integer
                          description: Number of tracked searches.
                          minimum: 1
                          example: 7
                        nbHits:
                          $ref: '#/components/schemas/nbHits'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/searches/noResultRate:
    get:
      tags:
      - analytics
      operationId: getNoResultsRate
      x-mcp-tool: true
      x-acl:
      - analytics
      summary: Retrieve no results rate
      description: 'Retrieves the fraction of searches that didn''t return any results within a time range, including a daily breakdown.

        It also returns the count of searches and searches without results used to compute the rates.


        By default, the analyzed period includes the last eight days including the current day.

        '
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                title: getNoResultsRateResponse
                type: object
                additionalProperties: false
                required:
                - rate
                - count
                - noResultCount
                - dates
                properties:
                  rate:
                    $ref: '#/components/schemas/noResultsRate'
                  count:
                    $ref: '#/components/schemas/count'
                  noResultCount:
                    $ref: '#/components/schemas/noResultCount'
                  dates:
                    type: array
                    description: Daily no results rates.
                    items:
                      title: dailyNoResultsRates
                      type: object
                      additionalProperties: false
                      required:
                      - date
                      - noResultCount
                      - count
                      - rate
                      properties:
                        date:
                          $ref: '#/components/schemas/date'
                        noResultCount:
                          $ref: '#/components/schemas/noResultCount'
                        count:
                          $ref: '#/components/schemas/count'
                        rate:
                          $ref: '#/components/schemas/noResultsRate'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/searches/noClickRate:
    get:
      tags:
      - analytics
      operationId: getNoClickRate
      x-acl:
      - analytics
      summary: Retrieve no click rate
      description: 'Retrieves the fraction of searches that didn''t lead to any click within a time range, including a daily breakdown.

        It also returns the number of tracked searches and tracked searches without clicks.


        By default, the analyzed period includes the last eight days including the current day.

        '
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                title: getNoClickRateResponse
                type: object
                additionalProperties: false
                required:
                - dates
                - count
                - noClickCount
                - rate
                properties:
                  rate:
                    $ref: '#/components/schemas/noClickRate'
                  count:
                    $ref: '#/components/schemas/trackedSearchCount'
                  noClickCount:
                    $ref: '#/components/schemas/noClickCount'
                  dates:
                    type: array
                    description: Daily no click rates.
                    items:
                      title: dailyNoClickRates
                      type: object
                      additionalProperties: false
                      required:
                      - rate
                      - count
                      - noClickCount
                      - date
                      properties:
                        rate:
                          $ref: '#/components/schemas/noClickRate'
                        count:
                          $ref: '#/components/schemas/trackedSearchCount'
                        noClickCount:
                          $ref: '#/components/schemas/noClickCount'
                        date:
                          $ref: '#/components/schemas/date'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/hits:
    get:
      tags:
      - analytics
      operationId: getTopHits
      x-mcp-tool: true
      x-acl:
      - analytics
      summary: Retrieve top search results
      description: "Retrieves the object IDs of the 1,000 most frequent search results.\n\nIf you set the `clickAnalytics` query parameter to `true`, the response also includes:\n\n- Tracked searches count.\n  Tracked searches are Search API requests with `clickAnalytics` set to `true`.\n  This differs from the response's `count`, which includes searches where `clickAnalytics` is `false`.\n- Click count\n- Click-through rate (CTR)\n- Conversion count\n- Conversion rate (CR)\n- Average click position\n\nIf you set the `revenueAnalytics` parameter to `true`, the response also includes:\n\n- Add-to-cart count\n- Add-to-cart rate (ATCR)\n- Purchase count\n- Purchase rate\n- Revenue details for each currency\n\n**There's a difference between 0% rates and null rates:**\n\n- **Null** means there were no queries. Algolia didn't receive any events, so rates are null.\n- **0% rates** mean there were queries but no [click or conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received.\n"
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/Search'
      - $ref: '#/components/parameters/ClickAnalytics'
      - $ref: '#/components/parameters/RevenueAnalytics'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTopHitsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/users/count:
    get:
      tags:
      - analytics
      operationId: getUsersCount
      x-acl:
      - analytics
      summary: Retrieve number of users
      description: 'Retrieves the number of unique users within a time range, including a daily breakdown.


        Since it returns the number of unique users, the sum of the daily values might be different from the total number.


        By default:


        - Algolia distinguishes search users by their IP address, _unless_ you include a pseudonymous user identifier in your search requests with the `userToken` API parameter or `x-algolia-usertoken` request header.

        - The analyzed period includes the last eight days including the current day.

        '
      externalDocs:
        url: https://www.algolia.com/doc/guides/search-analytics/guides/usertoken
        description: Distinguish users for analytics.
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                title: getUsersCountResponse
                type: object
                additionalProperties: false
                required:
                - dates
                - count
                properties:
                  count:
                    type: integer
                    description: Number of unique users.
                  dates:
                    type: array
                    description: Daily number of unique users.
                    items:
                      title: dailyUsers
                      type: object
                      additionalProperties: false
                      required:
                      - date
                      - count
                      properties:
                        date:
                          $ref: '#/components/schemas/date'
                        count:
                          type: integer
                          description: Number of unique users.
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/filters:
    get:
      tags:
      - analytics
      operationId: getTopFilterAttributes
      x-acl:
      - analytics
      summary: Retrieve top filters
      description: 'Retrieves the 1,000 most frequently used filter attributes.


        These are attributes of your records that you included in the `attributesForFaceting` setting.

        '
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/Search'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTopFilterAttributesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/filters/{attribute}:
    get:
      tags:
      - analytics
      operationId: getTopFilterForAttribute
      x-acl:
      - analytics
      summary: Retrieve top filter values
      description: 'Retrieves the 1,000 most frequent filter (facet) values for a filter attribute.


        These are attributes of your records that you included in the `attributesForFaceting` setting.

        '
      parameters:
      - $ref: '#/components/parameters/Attribute'
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/Search'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTopFilterForAttributeResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/filters/noResults:
    get:
      tags:
      - analytics
      operationId: getTopFiltersNoResults
      x-acl:
      - analytics
      summary: Retrieve top filters for a search without results
      description: 'Retrieves the 1,000 most frequently used filters for a search that didn''t return any results.


        To get the most frequent searches without results, use the [Retrieve searches without results](https://www.algolia.com/doc/rest-api/analytics/get-searches-no-results) operation.

        '
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/Search'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTopFiltersNoResultsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '402':
          $ref: '#/components/responses/FeatureNotEnabled'
        '403':
          $ref: '#/components/responses/MethodNotAllowed'
        '404':
          $ref: '#/components/responses/IndexNotFound'
  /2/countries:
    get:
      tags:
      - analytics
      operationId: getTopCountries
      x-acl:
      - analytics
      summary: Retrieve top countries
      description: Retrieves the countries with the most searches in your index.
      parameters:
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/StartDate'
      - $ref: '#/components/parameters/EndDate'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Tags'
      responses:
        '200':
          description: OK
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-reset:
              $ref: '#/components/headers/x-ratelimit-reset'
          content:
            application/json:
              schema:
                title: getTopCountriesResponse
                type: object
                additionalProperties: false
                required:
                - countries
                properties:
                  countries:
                    type: array
                    description: Countries and number of searches.
                    items:
                      title: topCountry
          

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/algolia/refs/heads/main/openapi/algolia-analytics-api-openapi.yml