> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Algolia service limits

> Algolia sets some upper limits to its services to ensure stability and performance for all users.

export const serviceLimits = {
  application: {
    applicationSize: "100 GB (or 1 GB for the Build plan)",
    indexSize: "100 GB (or 1 GB for the Build plan)",
    indexingOperations: "Depends on your plan and usage.",
    indexingRate: "10,000 indexing operations per Unit (as applicable)",
    indexingRequestBodySize: "1 GB per batch",
    indicesPerApplication: "1,000 (Premium), 50 (Grow), or 10 (Build)",
    customNormalizations: "10",
    pendingRequests: "5,000",
    recordSize: "10 KB to 100 KB—based on your plan (10 KB maximum for the Build plan)",
    searchRequestBodySize: "50 MB per request",
    sortCriterionLength: "First 50 bytes (50 characters for ASCII text)",
    synonymsPerIndex: "10,000 (or 1,000 for the Build plan)",
    throttlingLimit: "100 pending requests",
    virtualReplicasPerIndex: "20"
  },
  filtersFacetsRules: {
    conditionsPerRule: "25",
    filterScore: "65,535",
    maxRatioFacetValuePairs: "0.1",
    numberOfFilters: "1,000",
    promotedItemsPerGroup: "100",
    promotedItemsPerRule: "300",
    ruleConsequenceSize: "100 KiB",
    queryParameterSize: "16 KiB",
    valuesPerFacetPerQuery: "1,000",
    reorderedFacetsPerQuery: "20",
    reorderedFacetValuesPerQuery: "20",
    precomputedFacetOrderingQueries: "100,000"
  },
  searchUI: {
    pagination: "20,000",
    querySuggestions: "100",
    querySize: "512 bytes"
  },
  insightsAnalytics: {
    analyticsApiCalls: "100 API calls per minute per app",
    tagSize: "100 characters",
    tagsProcessedPerIndex: "1,750 unique tag combinations every 5 minutes",
    topSearches: "1,000"
  },
  security: {
    apiKeys: "5,000"
  },
  connectors: {
    authenticationsPerApp: "200",
    sourcesPerApp: "100",
    destinationsPerApp: "500",
    tasksPerSource: "10",
    pushPayloadSize: "5 MB per API call",
    pushWatchDuration: "3 minutes",
    jsonFileSize: "1 GB",
    jsonFileRows: "1,000,000",
    csvFileSize: "1 GB",
    csvFileRows: "1,000,000",
    pushEndpointRate: "2000 calls per minute per IP",
    observabilityRate: "2000 calls per minute per IP",
    runTaskRate: "10 calls per 10 minute per taskID",
    otherEndpointsRate: "200 calls per minute per IP"
  },
  dataTransformation: {
    codeSize: "32 kB",
    runtime: "1 second per transformation",
    memory: "100 kB per request",
    transformationsPerApplication: "5 million per month",
    fetchEnrichmentRequests: "Up to 1 million Fetch requests per Application per month, as part the 5 million transformations per Application per month limit.",
    fetchTimeout: "30 seconds per Record",
    fetchResponseSize: "128 kB"
  },
  collections: {
    collectionsPerIndex: "500 (Premium plan) or 1,000 (Elevate plan)",
    conditionsPerCollection: "50",
    manuallySelectedItemsPerCollection: "10,000",
    objectIdSize: "200 characters"
  },
  smartGroups: {
    groupsPerCuratedQuery: "3",
    recordsPerGroup: "50",
    highestStartPosition: "100",
    compositionsPerApplication: "100",
    compositionRulesPerComposition: "200",
    disjunctiveFacetsPerRequest: "20",
    hitsPerPage: "1000"
  },
  docSearch: {
    applicationSize: "25 GB",
    indexSize: "25 GB",
    recordSize: "100 kB",
    indicesPerApplication: "20",
    queriesPerSecond: "3",
    teamMembers: "10"
  },
  generativeGuides: {
    guidesPerIndex: "1,000",
    sizePerGuide: "100 kB",
    inputTokensPerGeneration: "50,000",
    outputTokensPerGeneration: "2,000"
  },
  agentStudio: {
    conversationsRetained: "100,000",
    completionsPerMinute: "3,000",
    retentionPolicy: "90 days",
    agentsPerApp: "500"
  }
};

Algolia sets some upper limits to its services to ensure stability and performance for all users.

The following values apply to all [Algolia pricing plans](https://www.algolia.com/pricing/), with certain exceptions for pay as you go plans. For more information, contact the [Algolia support](https://support.algolia.com/hc/en-us/requests/new) team.

<Note>
  \* [Committed subscribers or as otherwise provided in your "Service Order"](https://www.algolia.com/policies/terms/).
</Note>

## Application, Record, and Index limits

| Limit                                                                                                                             | Value                                                                                                              |
| --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| [Application size \*](https://www.algolia.com/pricing/)                                                                           | {serviceLimits.application.applicationSize}                                                                        |
| [Index size \*](https://www.algolia.com/pricing/)                                                                                 | {serviceLimits.application.indexSize}                                                                              |
| [Indexing operations](https://support.algolia.com/hc/en-us/articles/18138875086865)                                               | {serviceLimits.application.indexingOperations}                                                                     |
| [Indexing rate](https://support.algolia.com/hc/en-us/articles/4406981897617)                                                      | 10,000 indexing operations [per Unit](https://support.algolia.com/hc/en-us/articles/4406981856785) (as applicable) |
| [Indexing request body size](https://support.algolia.com/hc/en-us/articles/4406981926801)                                         | {serviceLimits.application.indexingRequestBodySize}                                                                |
| Number of Indices per Application                                                                                                 | {serviceLimits.application.indicesPerApplication}                                                                  |
| [Number of custom character normalizations](/doc/api-reference/api-parameters/customNormalization)                                | {serviceLimits.application.customNormalizations}                                                                   |
| [Pending requests](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia)     | {serviceLimits.application.pendingRequests}                                                                        |
| [Record size \*](https://support.algolia.com/hc/en-us/articles/4406981897617-Is-there-a-size-limit-for-my-index-records-/)        | 10 KB to 100 KB—based on [your plan](https://www.algolia.com/pricing/) (10 KB maximum for the Build plan)          |
| Search request body size                                                                                                          | {serviceLimits.application.searchRequestBodySize}                                                                  |
| Sort criterion string length                                                                                                      | {serviceLimits.application.sortCriterionLength}                                                                    |
| [Synonyms per Index](https://support.algolia.com/hc/en-us/articles/4406981926801)                                                 | {serviceLimits.application.synonymsPerIndex}                                                                       |
| [Throttling limit](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia)     | {serviceLimits.application.throttlingLimit}                                                                        |
| [Virtual replicas per Index](/doc/guides/managing-results/refine-results/sorting/in-depth/replicas#standard-and-virtual-replicas) | {serviceLimits.application.virtualReplicasPerIndex}                                                                |

## Filters, Facets, and Rules limits

| Limit                                                                                                                                                         | Value                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [Conditions per rule](/doc/guides/managing-results/rules/rules-overview#conditions)                                                                           | {serviceLimits.filtersFacetsRules.conditionsPerRule}               |
| [Filter score](/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring#how-scoring-is-calculated)                                       | {serviceLimits.filtersFacetsRules.filterScore}                     |
| Maximum ratio of unique Facet-Value pairs per Record per Index                                                                                                | {serviceLimits.filtersFacetsRules.maxRatioFacetValuePairs}         |
| [Number of Filters](/doc/guides/managing-results/refine-results/filtering/in-depth/filters-and-facetfilters#limits-and-performance)                           | {serviceLimits.filtersFacetsRules.numberOfFilters}                 |
| [Promoted items per promote group](/doc/libraries/sdk/v1/methods/save-rule#param-promote)                                                                     | {serviceLimits.filtersFacetsRules.promotedItemsPerGroup}           |
| [Promoted items per rule](/doc/libraries/sdk/v1/methods/save-rule#param-promote)                                                                              | {serviceLimits.filtersFacetsRules.promotedItemsPerRule}            |
| [Rule consequence size](/doc/guides/managing-results/rules/rules-overview/in-depth/implementing-rules#conditions-and-consequences)                            | {serviceLimits.filtersFacetsRules.ruleConsequenceSize}             |
| [Size of each query parameters in the consequence](/doc/guides/managing-results/rules/rules-overview/in-depth/implementing-rules#conditions-and-consequences) | {serviceLimits.filtersFacetsRules.queryParameterSize}              |
| [Values per Facet per Search query](/doc/glossary#search-query)                                                                                               | {serviceLimits.filtersFacetsRules.valuesPerFacetPerQuery}          |
| [Re-ordered facets per query](/doc/guides/algolia-ai/dynamic-facets#limitations)                                                                              | {serviceLimits.filtersFacetsRules.reorderedFacetsPerQuery}         |
| [Re-ordered facet values per query](/doc/guides/algolia-ai/dynamic-facets#limitations)                                                                        | {serviceLimits.filtersFacetsRules.reorderedFacetValuesPerQuery}    |
| [Maximum number of queries with precomputed facet ordering](/doc/guides/algolia-ai/dynamic-facets#limitations)                                                | {serviceLimits.filtersFacetsRules.precomputedFacetOrderingQueries} |

## Search user interface limits

| Limit                                                                                                                  | Value                                     |
| ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| [Pagination](/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js#pagination-limitations)                   | {serviceLimits.searchUI.pagination}       |
| [Query Suggestions](/doc/guides/building-search-ui/ui-and-ux-patterns/query-suggestions/js#how-query-suggestions-work) | {serviceLimits.searchUI.querySuggestions} |
| [Query size](/doc/api-reference/api-parameters/query)                                                                  | {serviceLimits.searchUI.querySize}        |

## Insights and analytics limits

| Limit                                                                       | Value                                                   |
| --------------------------------------------------------------------------- | ------------------------------------------------------- |
| [Analytics API calls](/doc/rest-api/analytics)                              | {serviceLimits.insightsAnalytics.analyticsApiCalls}     |
| [Tag size](/doc/api-reference/api-parameters/analyticsTags)                 | {serviceLimits.insightsAnalytics.tagSize}               |
| [Tags processed per Index](/doc/api-reference/api-parameters/analyticsTags) | {serviceLimits.insightsAnalytics.tagsProcessedPerIndex} |
| [Top searches](/doc/guides/search-analytics/concepts/metrics#searches)      | {serviceLimits.insightsAnalytics.topSearches}           |

## Security limits

| Limit                                                              | Value                            |
| ------------------------------------------------------------------ | -------------------------------- |
| [Number of API keys](/doc/guides/security/api-keys#number-of-keys) | {serviceLimits.security.apiKeys} |

## Connectors limits

| Limit                                                      | Value                                            |
| ---------------------------------------------------------- | ------------------------------------------------ |
| Maximum number of authentications per appID                | {serviceLimits.connectors.authenticationsPerApp} |
| Maximum number of sources per appID                        | {serviceLimits.connectors.sourcesPerApp}         |
| Maximum number of destinations per appID                   | {serviceLimits.connectors.destinationsPerApp}    |
| Maximum number of tasks bound to a single source per appID | {serviceLimits.connectors.tasksPerSource}        |
| Push endpoint maximum payload size                         | {serviceLimits.connectors.pushPayloadSize}       |
| Push endpoint maximum watch duration                       | {serviceLimits.connectors.pushWatchDuration}     |
| Maximum file size for a JSON connector                     | {serviceLimits.connectors.jsonFileSize}          |
| Maximum number of rows in file for a JSON connector        | {serviceLimits.connectors.jsonFileRows}          |
| Maximum file size for a CSV connector                      | {serviceLimits.connectors.csvFileSize}           |
| Maximum number of rows in file for a CSV connector         | {serviceLimits.connectors.csvFileRows}           |

| Rate limits for connectors API           | Value                                         |
| ---------------------------------------- | --------------------------------------------- |
| Push endpoint API (/1/push)              | {serviceLimits.connectors.pushEndpointRate}   |
| Observability API (/1/runs)              | {serviceLimits.connectors.observabilityRate}  |
| Run task endpoint (/1/tasks/:taskID/run) | {serviceLimits.connectors.runTaskRate}        |
| All other endpoints                      | {serviceLimits.connectors.otherEndpointsRate} |

## Data transformation and Fetch limits

| Limit                                       | Value                                                            |
| ------------------------------------------- | ---------------------------------------------------------------- |
| Data transformation code size               | {serviceLimits.dataTransformation.codeSize}                      |
| Data transformation runtime                 | {serviceLimits.dataTransformation.runtime}                       |
| Data transformation memory                  | {serviceLimits.dataTransformation.memory}                        |
| Number of transformations per Application   | {serviceLimits.dataTransformation.transformationsPerApplication} |
| Fetch enrichment requests to the Search API | {serviceLimits.dataTransformation.fetchEnrichmentRequests}       |
| Fetch timeout                               | {serviceLimits.dataTransformation.fetchTimeout}                  |
| Fetch response size                         | {serviceLimits.dataTransformation.fetchResponseSize}             |

## Collections limits

| Limit                                            | Value                                                          |
| ------------------------------------------------ | -------------------------------------------------------------- |
| Number of collections per index                  | {serviceLimits.collections.collectionsPerIndex}                |
| Number of conditions per collection              | {serviceLimits.collections.conditionsPerCollection}            |
| Number of manually selected items per collection | {serviceLimits.collections.manuallySelectedItemsPerCollection} |
| ObjectID size (manually selected items)          | {serviceLimits.collections.objectIdSize}                       |

## Smart Groups and Composition API

| Limit                                            | Value                                                      |
| ------------------------------------------------ | ---------------------------------------------------------- |
| Number of groups per curated query               | {serviceLimits.smartGroups.groupsPerCuratedQuery}          |
| Number of records per group                      | {serviceLimits.smartGroups.recordsPerGroup}                |
| Highest start position of each group             | {serviceLimits.smartGroups.highestStartPosition}           |
| Number of compositions per application           | {serviceLimits.smartGroups.compositionsPerApplication}     |
| Number of composition rules per composition      | {serviceLimits.smartGroups.compositionRulesPerComposition} |
| Number of disjunctive facets in a single request | {serviceLimits.smartGroups.disjunctiveFacetsPerRequest}    |
| Number of hits per page                          | {serviceLimits.smartGroups.hitsPerPage}                    |

## DocSearch plan limits

| Limit                             | Value                                           |
| --------------------------------- | ----------------------------------------------- |
| Application size                  | {serviceLimits.docSearch.applicationSize}       |
| Index size                        | {serviceLimits.docSearch.indexSize}             |
| Record size                       | {serviceLimits.docSearch.recordSize}            |
| Number of indices per application | {serviceLimits.docSearch.indicesPerApplication} |
| Queries per second                | {serviceLimits.docSearch.queriesPerSecond}      |
| Maximum number of team members    | {serviceLimits.docSearch.teamMembers}           |

## Generative Experience Guides limits

| Limit                                                                              | Value                                                      |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| Maximum number of Guides per Index                                                 | {serviceLimits.generativeGuides.guidesPerIndex}            |
| Maximum size per Guide                                                             | {serviceLimits.generativeGuides.sizePerGuide}              |
| Maximum input tokens per generation (based on third-party LLM OpenAI calculation)  | {serviceLimits.generativeGuides.inputTokensPerGeneration}  |
| Maximum output tokens per generation (based on third-party LLM OpenAI calculation) | {serviceLimits.generativeGuides.outputTokensPerGeneration} |

## Agent Studio limits

| Limit                                    | Value                                             |
| ---------------------------------------- | ------------------------------------------------- |
| Maximum number of conversations retained | {serviceLimits.agentStudio.conversationsRetained} |
| Number of completions per minute         | {serviceLimits.agentStudio.completionsPerMinute}  |
| Maximum retention policy                 | {serviceLimits.agentStudio.retentionPolicy}       |
| Maximum number of agents per app         | {serviceLimits.agentStudio.agentsPerApp}          |
