Integrate Algolia into your workflow. Search indices, manage records (add, update, delete, browse), configure index settings, and perform batch operations.
Search an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia API Key |
indexName | string | Yes | Name of the Algolia index to search |
query | string | Yes | Search query text |
hitsPerPage | number | No | Number of hits per page (default: 20) |
page | number | No | Page number to retrieve (default: 0) |
filters | string | No | Filter string (e.g., "category:electronics AND price < 100") |
attributesToRetrieve | string | No | Comma-separated list of attributes to retrieve |
facets | string | No | Comma-separated list of facet attribute names to retrieve counts for (use "*" for all) |
getRankingInfo | boolean | No | Whether to include detailed ranking information in each hit |
aroundLatLng | string | No | Coordinates for geo-search (e.g., "40.71,-74.01") |
aroundRadius | string | No | Maximum radius in meters for geo-search, or "all" for unlimited |
insideBoundingBox | json | No | Bounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search |
insidePolygon | json | No | Polygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search |
| Parameter | Type | Description |
|---|
hits | array | Array of matching records |
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 |
Add or replace a record in an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key |
indexName | string | Yes | Name of the Algolia index |
objectID | string | No | Object ID for the record (auto-generated if not provided) |
record | json | Yes | JSON object representing the record to add |
| 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) |
Get a record by objectID from an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia API Key |
indexName | string | Yes | Name of the Algolia index |
objectID | string | Yes | The objectID of the record to retrieve |
attributesToRetrieve | string | No | Comma-separated list of attributes to retrieve |
| Parameter | Type | Description |
|---|
objectID | string | The objectID of the retrieved record |
record | object | The record data (all attributes) |
Retrieve multiple records by objectID from one or more Algolia indices
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia API Key |
indexName | string | Yes | Default index name for all requests |
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) |
Partially update a record in an Algolia index without replacing it entirely
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key |
indexName | string | Yes | Name of the Algolia index |
objectID | string | Yes | The objectID of the record to update |
attributes | json | Yes | JSON object with attributes to update. Supports built-in operations like {"stock": {"_operation": "Decrement", "value": 1}} |
createIfNotExists | boolean | No | Whether to create the record if it does not exist (default: true) |
| 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 |
Delete a record by objectID from an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key |
indexName | string | Yes | Name of the Algolia index |
objectID | string | Yes | The objectID of the record to delete |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the deletion |
deletedAt | string | Timestamp when the record was deleted |
Browse and iterate over all records in an Algolia index using cursor pagination
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia API Key (must have browse ACL) |
indexName | string | Yes | Name of the Algolia index to browse |
query | string | No | Search query to filter browsed records |
filters | string | No | Filter string to narrow down results |
attributesToRetrieve | string | No | Comma-separated list of attributes to retrieve |
hitsPerPage | number | No | Number of hits per page (default: 1000, max: 1000) |
cursor | string | No | Cursor from a previous browse response for pagination |
aroundLatLng | string | No | Coordinates for geo-search (e.g., "40.71,-74.01") |
aroundRadius | string | No | Maximum radius in meters for geo-search, or "all" for unlimited |
insideBoundingBox | json | No | Bounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search |
insidePolygon | json | No | Polygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search |
| Parameter | Type | Description |
|---|
hits | array | Array of records from the index (up to 1000 per request) |
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 | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key |
indexName | string | Yes | Name of the Algolia index |
requests | json | Yes | Array of batch operations. Each item has "action" (addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clear) and "body" (the record data; must include objectID for update/delete; use an empty object {} for the index-level delete/clear actions) |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the batch operation |
objectIDs | array | Array of object IDs affected by the batch operation |
List all indices in an Algolia application
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia API Key |
page | number | No | Page number for paginating indices (default: not paginated) |
hitsPerPage | number | No | Number of indices per page (default: 100) |
| Parameter | Type | Description |
|---|
indices | array | List of indices in the application |
nbPages | number | Total number of pages of indices |
Retrieve the settings of an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia API Key |
indexName | string | Yes | Name of the Algolia index |
| 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 |
Update the settings of an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key (must have editSettings ACL) |
indexName | string | Yes | Name of the Algolia index |
settings | json | Yes | JSON object with settings to update (e.g., {"searchableAttributes": ["name", "description"], "customRanking": ["desc(popularity)"]}) |
forwardToReplicas | boolean | No | Whether to apply changes to replica indices (default: false) |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the settings update |
updatedAt | string | Timestamp when the settings were updated |
Delete an entire Algolia index and all its records
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key (must have deleteIndex ACL) |
indexName | string | Yes | Name of the Algolia index to delete |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the index deletion |
deletedAt | string | Timestamp when the index was deleted |
Copy or move an Algolia index to a new destination
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key |
indexName | string | Yes | Name of the source index |
operation | string | Yes | Operation to perform: "copy" or "move" |
destination | string | Yes | Name of the destination index |
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 | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key (must have deleteIndex ACL) |
indexName | string | Yes | Name of the Algolia index to clear |
| Parameter | Type | Description |
|---|
taskID | number | Algolia task ID for tracking the clear operation |
updatedAt | string | Timestamp when the records were cleared |
Delete all records matching a filter from an Algolia index
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia Admin API Key (must have deleteIndex ACL) |
indexName | string | Yes | Name of the Algolia index |
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 | string | No | Maximum radius in meters for geo-search, or "all" for unlimited |
insideBoundingBox | json | No | Bounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search filter |
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 |
Check whether an Algolia indexing task has finished publishing
| Parameter | Type | Required | Description |
|---|
applicationId | string | Yes | Algolia Application ID |
apiKey | string | Yes | Algolia API Key |
indexName | string | Yes | Name of the Algolia index the task ran against |
taskID | number | Yes | The taskID returned by a previous write operation |
| Parameter | Type | Description |
|---|
status | string | Task status: "published" once the operation has been applied, "notPublished" while still pending |
- Category:
tools
- Type:
algolia