Mandala
Tools

Algolia

Search and manage Algolia indices

Usage Instructions

Integrate Algolia into your workflow. Search indices, manage records (add, update, delete, browse), configure index settings, and perform batch operations.

Tools

Search an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia API Key
indexNamestringYesName of the Algolia index to search
querystringYesSearch query text
hitsPerPagenumberNoNumber of hits per page (default: 20)
pagenumberNoPage number to retrieve (default: 0)
filtersstringNoFilter string (e.g., "category:electronics AND price < 100")
attributesToRetrievestringNoComma-separated list of attributes to retrieve
facetsstringNoComma-separated list of facet attribute names to retrieve counts for (use "*" for all)
getRankingInfobooleanNoWhether to include detailed ranking information in each hit
aroundLatLngstringNoCoordinates for geo-search (e.g., "40.71,-74.01")
aroundRadiusstringNoMaximum radius in meters for geo-search, or "all" for unlimited
insideBoundingBoxjsonNoBounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search
insidePolygonjsonNoPolygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search

Output

ParameterTypeDescription
hitsarrayArray of matching records
nbHitsnumberTotal number of matching hits
pagenumberCurrent page number (zero-based)
nbPagesnumberTotal number of pages available
hitsPerPagenumberNumber of hits per page (1-1000, default 20)
processingTimeMSnumberServer-side processing time in milliseconds
querystringThe search query that was executed
parsedQuerystringThe query string after normalization and stop word removal
facetsobjectFacet counts keyed by facet name, each containing value-count pairs
facets_statsobjectStatistics (min, max, avg, sum) for numeric facets
exhaustiveobjectExhaustiveness flags for facetsCount, facetValues, nbHits, rulesMatch, and typo

algolia_add_record

Add or replace a record in an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key
indexNamestringYesName of the Algolia index
objectIDstringNoObject ID for the record (auto-generated if not provided)
recordjsonYesJSON object representing the record to add

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the indexing operation
objectIDstringThe object ID of the added or replaced record
createdAtstringTimestamp when the record was created (only present when objectID is auto-generated)
updatedAtstringTimestamp when the record was updated (only present when replacing an existing record)

algolia_get_record

Get a record by objectID from an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia API Key
indexNamestringYesName of the Algolia index
objectIDstringYesThe objectID of the record to retrieve
attributesToRetrievestringNoComma-separated list of attributes to retrieve

Output

ParameterTypeDescription
objectIDstringThe objectID of the retrieved record
recordobjectThe record data (all attributes)

algolia_get_records

Retrieve multiple records by objectID from one or more Algolia indices

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia API Key
indexNamestringYesDefault index name for all requests
requestsjsonYesArray of objects specifying records to retrieve. Each must have "objectID" and optionally "indexName" and "attributesToRetrieve".

Output

ParameterTypeDescription
resultsarrayArray of retrieved records (null entries for records not found)

algolia_partial_update_record

Partially update a record in an Algolia index without replacing it entirely

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key
indexNamestringYesName of the Algolia index
objectIDstringYesThe objectID of the record to update
attributesjsonYesJSON object with attributes to update. Supports built-in operations like {"stock": {"_operation": "Decrement", "value": 1}}
createIfNotExistsbooleanNoWhether to create the record if it does not exist (default: true)

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the update operation
objectIDstringThe objectID of the updated record
updatedAtstringTimestamp when the record was updated

algolia_delete_record

Delete a record by objectID from an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key
indexNamestringYesName of the Algolia index
objectIDstringYesThe objectID of the record to delete

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the deletion
deletedAtstringTimestamp when the record was deleted

algolia_browse_records

Browse and iterate over all records in an Algolia index using cursor pagination

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia API Key (must have browse ACL)
indexNamestringYesName of the Algolia index to browse
querystringNoSearch query to filter browsed records
filtersstringNoFilter string to narrow down results
attributesToRetrievestringNoComma-separated list of attributes to retrieve
hitsPerPagenumberNoNumber of hits per page (default: 1000, max: 1000)
cursorstringNoCursor from a previous browse response for pagination
aroundLatLngstringNoCoordinates for geo-search (e.g., "40.71,-74.01")
aroundRadiusstringNoMaximum radius in meters for geo-search, or "all" for unlimited
insideBoundingBoxjsonNoBounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search
insidePolygonjsonNoPolygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search

Output

ParameterTypeDescription
hitsarrayArray of records from the index (up to 1000 per request)
cursorstringOpaque cursor string for retrieving the next page of results. Absent when no more results exist.
nbHitsnumberTotal number of records matching the browse criteria
pagenumberCurrent page number (zero-based)
nbPagesnumberTotal number of pages available
hitsPerPagenumberNumber of hits per page (1-1000, default 1000 for browse)
processingTimeMSnumberServer-side processing time in milliseconds

algolia_batch_operations

Perform batch add, update, partial update, or delete operations on records in an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key
indexNamestringYesName of the Algolia index
requestsjsonYesArray 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)

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the batch operation
objectIDsarrayArray of object IDs affected by the batch operation

algolia_list_indices

List all indices in an Algolia application

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia API Key
pagenumberNoPage number for paginating indices (default: not paginated)
hitsPerPagenumberNoNumber of indices per page (default: 100)

Output

ParameterTypeDescription
indicesarrayList of indices in the application
nbPagesnumberTotal number of pages of indices

algolia_get_settings

Retrieve the settings of an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia API Key
indexNamestringYesName of the Algolia index

Output

ParameterTypeDescription
searchableAttributesarrayList of searchable attributes
attributesForFacetingarrayAttributes used for faceting
rankingarrayRanking criteria
customRankingarrayCustom ranking criteria
replicasarrayList of replica index names
hitsPerPagenumberDefault number of hits per page
maxValuesPerFacetnumberMaximum number of facet values returned
highlightPreTagstringHTML tag inserted before highlighted parts
highlightPostTagstringHTML tag inserted after highlighted parts
paginationLimitedTonumberMaximum number of hits accessible via pagination

algolia_update_settings

Update the settings of an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key (must have editSettings ACL)
indexNamestringYesName of the Algolia index
settingsjsonYesJSON object with settings to update (e.g., {"searchableAttributes": ["name", "description"], "customRanking": ["desc(popularity)"]})
forwardToReplicasbooleanNoWhether to apply changes to replica indices (default: false)

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the settings update
updatedAtstringTimestamp when the settings were updated

algolia_delete_index

Delete an entire Algolia index and all its records

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key (must have deleteIndex ACL)
indexNamestringYesName of the Algolia index to delete

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the index deletion
deletedAtstringTimestamp when the index was deleted

algolia_copy_move_index

Copy or move an Algolia index to a new destination

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key
indexNamestringYesName of the source index
operationstringYesOperation to perform: "copy" or "move"
destinationstringYesName of the destination index
scopejsonNoArray of scopes to copy (only for "copy" operation): ["settings", "synonyms", "rules"]. Omit to copy everything including records.

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the copy/move operation
updatedAtstringTimestamp when the operation was performed

algolia_clear_records

Clear all records from an Algolia index while keeping settings, synonyms, and rules

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key (must have deleteIndex ACL)
indexNamestringYesName of the Algolia index to clear

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the clear operation
updatedAtstringTimestamp when the records were cleared

algolia_delete_by_filter

Delete all records matching a filter from an Algolia index

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia Admin API Key (must have deleteIndex ACL)
indexNamestringYesName of the Algolia index
filtersstringNoFilter expression to match records for deletion (e.g., "category:outdated")
facetFiltersjsonNoArray of facet filters (e.g., ["brand:Acme"])
numericFiltersjsonNoArray of numeric filters (e.g., ["price > 100"])
tagFiltersjsonNoArray of tag filters using the _tags attribute (e.g., ["published"])
aroundLatLngstringNoCoordinates for geo-search filter (e.g., "40.71,-74.01")
aroundRadiusstringNoMaximum radius in meters for geo-search, or "all" for unlimited
insideBoundingBoxjsonNoBounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search filter
insidePolygonjsonNoPolygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search filter

Output

ParameterTypeDescription
taskIDnumberAlgolia task ID for tracking the delete-by-filter operation
updatedAtstringTimestamp when the operation was performed

algolia_get_task_status

Check whether an Algolia indexing task has finished publishing

Input

ParameterTypeRequiredDescription
applicationIdstringYesAlgolia Application ID
apiKeystringYesAlgolia API Key
indexNamestringYesName of the Algolia index the task ran against
taskIDnumberYesThe taskID returned by a previous write operation

Output

ParameterTypeDescription
statusstringTask status: "published" once the operation has been applied, "notPublished" while still pending

Notes

  • Category: tools
  • Type: algolia
Algolia