Use Algolia in Sim to search indices, add or update records, run batch operations, and manage index settings. The actions below also cover browsing records, deleting by filter, copying or moving indices, and checking task status.
Search indices, manage records (add, update, delete, browse), configure index settings, and perform batch operations.
Search an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia API Key indexNamestring Yes Name of the Algolia index to search querystring Yes Search query text hitsPerPagenumber No Number of hits per page (default: 20) pagenumber No Page number to retrieve (default: 0) filtersstring No Filter string (e.g., "category:electronics AND price < 100") attributesToRetrievestring No Comma-separated list of attributes to retrieve facetsstring No Comma-separated list of facet attribute names to retrieve counts for (use "*" for all) getRankingInfoboolean No Whether to include detailed ranking information in each hit aroundLatLngstring No Coordinates for geo-search (e.g., "40.71,-74.01") aroundRadiusstring No Maximum radius in meters for geo-search, or "all" for unlimited insideBoundingBoxjson No Bounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search insidePolygonjson No Polygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search
Parameter Type Description hitsarray 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 nbHitsnumber Total number of matching hits pagenumber Current page number (zero-based) nbPagesnumber Total number of pages available hitsPerPagenumber Number of hits per page (1-1000, default 20) processingTimeMSnumber Server-side processing time in milliseconds querystring The search query that was executed parsedQuerystring The query string after normalization and stop word removal facetsobject Facet counts keyed by facet name, each containing value-count pairs facets_statsobject Statistics (min, max, avg, sum) for numeric facets exhaustiveobject Exhaustiveness flags for facetsCount, facetValues, nbHits, rulesMatch, and typo
Add or replace a record in an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key indexNamestring Yes Name of the Algolia index objectIDstring No Object ID for the record (auto-generated if not provided) recordjson Yes JSON object representing the record to add
Parameter Type Description taskIDnumber Algolia task ID for tracking the indexing operation objectIDstring The object ID of the added or replaced record createdAtstring Timestamp when the record was created (only present when objectID is auto-generated) updatedAtstring Timestamp when the record was updated (only present when replacing an existing record)
Get a record by objectID from an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia API Key indexNamestring Yes Name of the Algolia index objectIDstring Yes The objectID of the record to retrieve attributesToRetrievestring No Comma-separated list of attributes to retrieve
Parameter Type Description objectIDstring The objectID of the retrieved record recordobject The record data (all attributes)
Retrieve multiple records by objectID from one or more Algolia indices
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia API Key indexNamestring Yes Default index name for all requests requestsjson Yes Array of objects specifying records to retrieve. Each must have "objectID" and optionally "indexName" and "attributesToRetrieve".
Parameter Type Description resultsarray Array of retrieved records (null entries for records not found) ↳ objectID string Unique identifier of the record
Partially update a record in an Algolia index without replacing it entirely
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key indexNamestring Yes Name of the Algolia index objectIDstring Yes The objectID of the record to update attributesjson Yes JSON object with attributes to update. Supports built-in operations like {"stock": {"_operation": "Decrement", "value": 1}} createIfNotExistsboolean No Whether to create the record if it does not exist (default: true)
Parameter Type Description taskIDnumber Algolia task ID for tracking the update operation objectIDstring The objectID of the updated record updatedAtstring Timestamp when the record was updated
Delete a record by objectID from an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key indexNamestring Yes Name of the Algolia index objectIDstring Yes The objectID of the record to delete
Parameter Type Description taskIDnumber Algolia task ID for tracking the deletion deletedAtstring Timestamp when the record was deleted
Browse and iterate over all records in an Algolia index using cursor pagination
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia API Key (must have browse ACL) indexNamestring Yes Name of the Algolia index to browse querystring No Search query to filter browsed records filtersstring No Filter string to narrow down results attributesToRetrievestring No Comma-separated list of attributes to retrieve hitsPerPagenumber No Number of hits per page (default: 1000, max: 1000) cursorstring No Cursor from a previous browse response for pagination aroundLatLngstring No Coordinates for geo-search (e.g., "40.71,-74.01") aroundRadiusstring No Maximum radius in meters for geo-search, or "all" for unlimited insideBoundingBoxjson No Bounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search insidePolygonjson No Polygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search
Parameter Type Description hitsarray Array of records from the index (up to 1000 per request) ↳ objectID string Unique identifier of the record cursorstring Opaque cursor string for retrieving the next page of results. Absent when no more results exist. nbHitsnumber Total number of records matching the browse criteria pagenumber Current page number (zero-based) nbPagesnumber Total number of pages available hitsPerPagenumber Number of hits per page (1-1000, default 1000 for browse) processingTimeMSnumber Server-side processing time in milliseconds
Perform batch add, update, partial update, or delete operations on records in an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key indexNamestring Yes Name of the Algolia index requestsjson 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 taskIDnumber Algolia task ID for tracking the batch operation objectIDsarray Array of object IDs affected by the batch operation
List all indices in an Algolia application
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia API Key pagenumber No Page number for paginating indices (default: not paginated) hitsPerPagenumber No Number of indices per page (default: 100)
Parameter Type Description indicesarray 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 nbPagesnumber Total number of pages of indices
Retrieve the settings of an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia API Key indexNamestring Yes Name of the Algolia index
Parameter Type Description searchableAttributesarray List of searchable attributes attributesForFacetingarray Attributes used for faceting rankingarray Ranking criteria customRankingarray Custom ranking criteria replicasarray List of replica index names hitsPerPagenumber Default number of hits per page maxValuesPerFacetnumber Maximum number of facet values returned highlightPreTagstring HTML tag inserted before highlighted parts highlightPostTagstring HTML tag inserted after highlighted parts paginationLimitedTonumber Maximum number of hits accessible via pagination
Update the settings of an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key (must have editSettings ACL) indexNamestring Yes Name of the Algolia index settingsjson Yes JSON object with settings to update (e.g., {"searchableAttributes": ["name", "description"], "customRanking": ["desc(popularity)"]}) forwardToReplicasboolean No Whether to apply changes to replica indices (default: false)
Parameter Type Description taskIDnumber Algolia task ID for tracking the settings update updatedAtstring Timestamp when the settings were updated
Delete an entire Algolia index and all its records
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key (must have deleteIndex ACL) indexNamestring Yes Name of the Algolia index to delete
Parameter Type Description taskIDnumber Algolia task ID for tracking the index deletion deletedAtstring Timestamp when the index was deleted
Copy or move an Algolia index to a new destination
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key indexNamestring Yes Name of the source index operationstring Yes Operation to perform: "copy" or "move" destinationstring Yes Name of the destination index scopejson No Array of scopes to copy (only for "copy" operation): ["settings", "synonyms", "rules"]. Omit to copy everything including records.
Parameter Type Description taskIDnumber Algolia task ID for tracking the copy/move operation updatedAtstring Timestamp when the operation was performed
Clear all records from an Algolia index while keeping settings, synonyms, and rules
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key (must have deleteIndex ACL) indexNamestring Yes Name of the Algolia index to clear
Parameter Type Description taskIDnumber Algolia task ID for tracking the clear operation updatedAtstring Timestamp when the records were cleared
Delete all records matching a filter from an Algolia index
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia Admin API Key (must have deleteIndex ACL) indexNamestring Yes Name of the Algolia index filtersstring No Filter expression to match records for deletion (e.g., "category:outdated") facetFiltersjson No Array of facet filters (e.g., ["brand:Acme"]) numericFiltersjson No Array of numeric filters (e.g., ["price > 100"]) tagFiltersjson No Array of tag filters using the _tags attribute (e.g., ["published"]) aroundLatLngstring No Coordinates for geo-search filter (e.g., "40.71,-74.01") aroundRadiusstring No Maximum radius in meters for geo-search, or "all" for unlimited insideBoundingBoxjson No Bounding box coordinates as [[lat1, lng1, lat2, lng2]] for geo-search filter insidePolygonjson No Polygon coordinates as [[lat1, lng1, lat2, lng2, lat3, lng3, ...]] for geo-search filter
Parameter Type Description taskIDnumber Algolia task ID for tracking the delete-by-filter operation updatedAtstring Timestamp when the operation was performed
Check whether an Algolia indexing task has finished publishing
Inputs and outputsParameter Type Required Description applicationIdstring Yes Algolia Application ID apiKeystring Yes Algolia API Key indexNamestring Yes Name of the Algolia index the task ran against taskIDnumber Yes The taskID returned by a previous write operation
Parameter Type Description statusstring Task status: "published" once the operation has been applied, "notPublished" while still pending