Algolia

Search and manage Algolia indices

Algolia is a powerful hosted search platform that enables developers and teams to deliver fast, relevant search experiences in their apps and websites. Algolia provides full-text, faceted, and filtered search as well as analytics and advanced ranking capabilities.

With Algolia, you can:

  • Deliver lightning-fast search: Provide instant search results as users type, with typo tolerance and synonyms
  • Manage and update records: Easily add, update, or delete objects/records in your indices
  • Perform advanced filtering: Use filters, facets, and custom ranking to refine and organize search results
  • Configure index settings: Adjust relevance, ranking, attributes for search, and more to optimize user experience
  • Scale confidently: Algolia handles massive traffic and data volumes with globally distributed infrastructure
  • Gain insights: Track analytics, search patterns, and user engagement

In Sim, the Algolia integration allows your agents to search, manage, and configure Algolia indices directly within your workflows. Use Algolia to power dynamic data exploration, automate record updates, run batch operations, and more—all from a single tool in your workspace.

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

Output

ParameterTypeDescription
hitsarrayArray of matching records
objectIDstringUnique identifier of the record
_highlightResultobjectHighlighted attributes matching the query. Each attribute has value, matchLevel (none, partial, full), and matchedWords
_snippetResultobjectSnippeted attributes matching the query. Each attribute has value and matchLevel
_rankingInfoobjectRanking information for the hit. Only present when getRankingInfo is enabled
nbTyposnumberNumber of typos in the query match
firstMatchedWordnumberPosition of the first matched word
geoDistancenumberDistance in meters for geo-search results
nbExactWordsnumberNumber of exactly matched words
userScorenumberCustom ranking score
wordsnumberNumber of matched words
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)
objectIDstringUnique identifier of the record

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

Output

ParameterTypeDescription
hitsarrayArray of records from the index (up to 1000 per request)
objectIDstringUnique identifier of the record
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) and "body" (the record data, must include objectID for update/delete)

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
namestringName of the index
entriesnumberNumber of records in the index
dataSizenumberSize of the index data in bytes
fileSizenumberSize of the index files in bytes
lastBuildTimeSnumberLast build duration in seconds
numberOfPendingTasksnumberNumber of pending indexing tasks
pendingTaskbooleanWhether the index has pending tasks
createdAtstringTimestamp when the index was created
updatedAtstringTimestamp when the index was last updated
primarystringName of the primary index (if this is a replica)
replicasarrayList of replica index names
virtualbooleanWhether the index is a virtual replica
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")
aroundRadiusnumberNoMaximum 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

On this page

Start building today
Trusted by over 60,000 builders.
Build Agentic workflows visually on a drag-and-drop canvas or with natural language.
Get started