Algolia
Search and manage Algolia indices
Integrate Algolia into your workflow. Search indices, manage records (add, update, delete, browse), configure index settings, and perform batch operations.
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
query | string | Yes | No description |
hitsPerPage | number | No | No description |
page | number | No | No description |
filters | string | No | Filter string (e.g., "category:electronics AND price < 100") |
attributesToRetrieve | string | No | No description |
| Parameter | Type | Description |
|---|
hits | array | Array of matching records |
↳ objectID | string | Unique identifier of the record |
↳ _highlightResult | object | Highlighted attributes matching the query. Each attribute has value, matchLevel (none, partial, full), and matchedWords |
↳ _snippetResult | object | Snippeted attributes matching the query. Each attribute has value and matchLevel |
↳ _rankingInfo | object | Ranking information for the hit. Only present when getRankingInfo is enabled |
↳ nbTypos | number | Number of typos in the query match |
↳ firstMatchedWord | number | Position of the first matched word |
↳ geoDistance | number | Distance in meters for geo-search results |
↳ nbExactWords | number | Number of exactly matched words |
↳ userScore | number | Custom ranking score |
↳ words | number | Number of matched words |
nbHits | number | Total number of matching hits |
page | number | Current page number (zero-based) |
nbPages | number | Total number of pages available |
hitsPerPage | number | Number of hits per page (1-1000, default 20) |
processingTimeMS | number | Server-side processing time in milliseconds |
query | string | The search query that was executed |
parsedQuery | string | The query string after normalization and stop word removal |
facets | object | Facet counts keyed by facet name, each containing value-count pairs |
facets_stats | object | Statistics (min, max, avg, sum) for numeric facets |
exhaustive | object | Exhaustiveness flags for facetsCount, facetValues, nbHits, rulesMatch, and typo |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
objectID | string | No | No description |
record | json | Yes | No description |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the indexing operation |
objectID | string | The object ID of the added or replaced record |
createdAt | string | Timestamp when the record was created (only present when objectID is auto-generated) |
updatedAt | string | Timestamp when the record was updated (only present when replacing an existing record) |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
objectID | string | Yes | No description |
attributesToRetrieve | string | No | No description |
| Parameter | Type | Description |
|---|
objectID | string | The objectID of the retrieved record |
record | object | The record data (all attributes) |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
requests | json | Yes | Array of objects specifying records to retrieve. Each must have "objectID" and optionally "indexName" and "attributesToRetrieve". |
| Parameter | Type | Description |
|---|
results | array | Array of retrieved records (null entries for records not found) |
↳ objectID | string | Unique identifier of the record |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
objectID | string | Yes | No description |
attributes | json | Yes | JSON object with attributes to update. Supports built-in operations like {"stock": {"_operation": "Decrement", "value": 1}} |
createIfNotExists | boolean | No | No description |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the update operation |
objectID | string | The objectID of the updated record |
updatedAt | string | Timestamp when the record was updated |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
objectID | string | Yes | No description |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the deletion |
deletedAt | string | Timestamp when the record was deleted |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
query | string | No | No description |
filters | string | No | No description |
attributesToRetrieve | string | No | No description |
hitsPerPage | number | No | No description |
cursor | string | No | No description |
| Parameter | Type | Description |
|---|
hits | array | Array of records from the index (up to 1000 per request) |
↳ objectID | string | Unique identifier of the record |
cursor | string | Opaque cursor string for retrieving the next page of results. Absent when no more results exist. |
nbHits | number | Total number of records matching the browse criteria |
page | number | Current page number (zero-based) |
nbPages | number | Total number of pages available |
hitsPerPage | number | Number of hits per page (1-1000, default 1000 for browse) |
processingTimeMS | number | Server-side processing time in milliseconds |
Perform batch add, update, partial update, or delete operations on records in an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
requests | json | Yes | Array of batch operations. Each item has "action" (addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject) and "body" (the record data, must include objectID for update/delete) |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the batch operation |
objectIDs | array | Array of object IDs affected by the batch operation |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
page | number | No | No description |
hitsPerPage | number | No | No description |
| Parameter | Type | Description |
|---|
indices | array | List of indices in the application |
↳ name | string | Name of the index |
↳ entries | number | Number of records in the index |
↳ dataSize | number | Size of the index data in bytes |
↳ fileSize | number | Size of the index files in bytes |
↳ lastBuildTimeS | number | Last build duration in seconds |
↳ numberOfPendingTasks | number | Number of pending indexing tasks |
↳ pendingTask | boolean | Whether the index has pending tasks |
↳ createdAt | string | Timestamp when the index was created |
↳ updatedAt | string | Timestamp when the index was last updated |
↳ primary | string | Name of the primary index (if this is a replica) |
↳ replicas | array | List of replica index names |
↳ virtual | boolean | Whether the index is a virtual replica |
nbPages | number | Total number of pages of indices |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
| Parameter | Type | Description |
|---|
searchableAttributes | array | List of searchable attributes |
attributesForFaceting | array | Attributes used for faceting |
ranking | array | Ranking criteria |
customRanking | array | Custom ranking criteria |
replicas | array | List of replica index names |
hitsPerPage | number | Default number of hits per page |
maxValuesPerFacet | number | Maximum number of facet values returned |
highlightPreTag | string | HTML tag inserted before highlighted parts |
highlightPostTag | string | HTML tag inserted after highlighted parts |
paginationLimitedTo | number | Maximum number of hits accessible via pagination |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
settings | json | Yes | JSON object with settings to update (e.g., {"searchableAttributes": ["name", "description"], "customRanking": ["desc(popularity)"]}) |
forwardToReplicas | boolean | No | No description |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the settings update |
updatedAt | string | Timestamp when the settings were updated |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the index deletion |
deletedAt | string | Timestamp when the index was deleted |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
operation | string | Yes | Operation to perform: "copy" or "move" |
destination | string | Yes | No description |
scope | json | No | Array of scopes to copy (only for "copy" operation): ["settings", "synonyms", "rules"]. Omit to copy everything including records. |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the copy/move operation |
updatedAt | string | Timestamp when the operation was performed |
Clear all records from an Algolia index while keeping settings, synonyms, and rules
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the clear operation |
updatedAt | string | Timestamp when the records were cleared |
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | No description |
apiKey | string | Yes | No description |
indexName | string | Yes | No description |
filters | string | No | Filter expression to match records for deletion (e.g., "category:outdated") |
facetFilters | json | No | Array of facet filters (e.g., ["brand:Acme"]) |
numericFilters | json | No | Array of numeric filters (e.g., ["price > 100"]) |
tagFilters | json | No | Array of tag filters using the _tags attribute (e.g., ["published"]) |
aroundLatLng | string | No | Coordinates for geo-search filter (e.g., "40.71,-74.01") |
aroundRadius | number | No | Maximum radius in meters for geo-search, or "all" for unlimited |
insideBoundingBox | json | No | No description |
insidePolygon | json | No | Polygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search filter |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the delete-by-filter operation |
updatedAt | string | Timestamp when the operation was performed |