Skip to main content
algolia icon

Algolia Connector

SourceAPI DocsAPI ChangelogConnector Changelog

Description​

Algolia is a search and discovery API platform. This component allows you to manage search indexes, records, and settings in Algolia.

API Documentation​

This component was built using the Algolia API Reference.

A Note on Algolia Search Results Pagination​

Algolia's Search API supports pagination.

This means that the API will return a certain number of hits for any search query. If additional results are available, the API response includes a nbPages field that indicates the total number of pages.

{
"hits": [],
"nbHits": 100,
"page": 0,
"nbPages": 20
}

The page parameter can be used in a subsequent query to fetch additional results.

See Algolia's Docs for information about Algolia's paginated search API, and this quickstart for information on looping over a paginated API in Prismatic.

Connections​

API Key​

key: apiKey

API Keys are necessary for interacting with the Algolia API. API keys are unique to each application you create in Algolia.

To generate an API Key, you should log into Algolia and navigate to your application page. Within the application settings, you can find your API keys.

Algolia provides three types of API keys:

Admin API Key: This key has read and write rights on all indexing and configuration operations.

Search-Only API Key: This key has read-only rights on indexing operations and is recommended for use on the frontend.

Secured API Key: This key is generated from a search key and has additional rights defined at the time of generation.

For your integration, you will need both the Admin API Key and the Search-Only API Key.

For more information about API keys, refer to the Algolia Docs.

InputNotesExample
API Key

Your Algolia API Key

YourAlgoliaAPIKey
Application ID

Your Algolia Application ID

YourAlgoliaApplicationId

Triggers​

New and Updated Indices​

Retrieves existing and ongoing indices in Algolia. Load history once, check for changes on a schedule, or both. | key: pollChangesTrigger

InputNotesExample
Connection
Look-back Date

The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill.

2026-01-01
Show New Records

Include newly created indices in trigger results.

true
Show Updated Records

Include updated indices in trigger results.

true

This trigger polls the Algolia Search API for new and updated indices on a configured schedule.

How It Works​

  1. The trigger runs on the configured schedule (e.g., every 5 minutes)
  2. It fetches all indices from the Algolia account
  3. Records are categorized as created or updated based on their createdAt and updatedAt timestamp fields, compared against the last successful poll time
  4. The trigger updates its internal state after each poll, storing the poll timestamp for use in the next execution

Initial Sync

An initial sync seeds a starting state from history. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD, read as midnight UTC) is set, and seeds each index created or updated after that point once. It ignores no input.

The window has no fixed upper bound: the trigger lists every index and keeps those changed after the look-back point, so an index modified mid-sync is included. The drain is uncapped and finishes in one recurrence, with batching on or off. The trigger then stores that recurrence's start time as its position and the first incremental recurrence resumes from there, so an index modified during that recurrence can be reported again on the next one. Nothing in the payload marks the handoff.

Show New Records and Show Updated Records still apply throughout, so turning either off leaves those indices out of the starting state. The trigger has no page-size or field-selection input.

Batching

Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Algolia.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.

With batching off a downstream step reads body.data.created and body.data.updated. With batching on those fields do not exist: each execution receives one { "changeType": ..., "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.

Returned Data​

With batching off, the trigger returns an object with two arrays: created for new indices and updated for modified indices. Fields shown are representative. The full response object includes additional properties.

Example Response
{
"data": {
"created": [
{
"name": "products_v2",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"entries": 0,
"dataSize": 0
}
],
"updated": [
{
"name": "products",
"createdAt": "2024-01-01T08:00:00Z",
"updatedAt": "2024-01-16T14:22:00Z",
"entries": 15420,
"dataSize": 3145728
}
]
}
}

Notes​

  • A record is classified as created if its createdAt timestamp exceeds the last poll time. If createdAt does not exceed the cutoff but updatedAt does, the record is classified as updated
  • Without a Look-back Date, the first recurrence uses the current time as the initial cutoff; no records are returned unless indices were created or updated in the same polling window

Data Sources​

Select Index​

Select an Algolia index from your application. | key: selectIndex | type: picklist

InputNotesExample
Connection
Example Payload for Select Index⤓
Loading…

Actions​

Browse Index​

Retrieve all objects from an index. | key: browseIndex

InputNotesExample
Connection
Cursor

Provide a string value for the cursor. This is optional.

cursor:AhNmaWx0ZXJzPWxhbmd1YWdlOmVuAgEoMjAyMjJlNjNjNjliZGQ1NWRkYzcyOGU3Y2M4M2M2ZDRiODI3ZmQ1Mw==
Index Name

Provide a string value for the index name.

acme_query_suggestions
Search Parameters

Provide a URL-encoded string for search parameters. This is optional.

filters=language:en

Copy Index​

Copy an index, including its records, Synonyms, Rules, and settings (except for enableReRanking). | key: copyIndex

InputNotesExample
Connection
Index From

The index to copy from.

acme_query_suggestions
Index To

The index to copy to.

acme_query_suggestions
Example Payload for Copy Index⤓
Loading…

Copy Settings​

Copy the settings of an index to another index on the same app. | key: copySettings

InputNotesExample
Connection
Index From

The index to copy the settings from.

acme_query_suggestions
Index To

The index to copy the settings to.

acme_query_suggestions
Example Payload for Copy Settings⤓
Loading…

Delete Index​

Delete an index. | key: deleteIndex

InputNotesExample
Connection
Index Name

The index name to delete.

acme_query_suggestions
Example Payload for Delete Index⤓
Loading…

Get Index​

Get index information | key: getIndex

InputNotesExample
Connection
Index Name

Provide a string value for the index name.

acme_query_suggestions
Query String

Provide a string value for the query string. This is optional.

query=george%20clo&hitsPerPage=2&getRankingInfo=1

Get Settings​

Get the settings of an index. | key: getSettings

InputNotesExample
Connection
Index Name

Provide a string value for the index name.

acme_query_suggestions
Example Payload for Get Settings⤓
Loading…

List Indices​

Get a list of indices with their associated metadata. | key: listIndexes

InputNotesExample
Connection
Page

Retrieve a specific page. Pages are zero-based. The page size is set to 100. This parameter isn’t set by default, and all indices are retrieved at once.

Example Payload for List Indices⤓
Loading…

Move Index​

Move or rename an index. | key: moveIndex

InputNotesExample
Connection
Index From

The index to move from.

acme_query_suggestions
Index To

The index to move to.

acme_query_suggestions
Example Payload for Move Index⤓
Loading…

Raw Request​

Send raw HTTP request to Algolia | key: rawRequest

InputNotesExample
Connection
Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (/1/indexes/{indexName}), The base URL is already included (https://<CONNECTION_INPUT_APPLICATION_ID>.algolia.net). For example, to connect to https://<CONNECTION_INPUT_APPLICATION_ID>.algolia.net/1/indexes/{indexName}, only /1/indexes/{indexName} is entered in this field.

/1/indexes/{indexName}
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

Search Facet Values​

Search for values of a given facet. | key: searchFacetValues

InputNotesExample
Connection
Facet Name

Provide a string value for the facet name.

example_facet
Facet Query

Provide a string value for the facet query. This is optional.

example_query
Index Name

Provide a string value for the index name.

acme_query_suggestions
Max Facet Hits

Provide a number for the maximum number of facet hits to return. This is optional.

10

Search Multiple Indices​

Send multiple search queries, potentially targeting multiple indices, in a single API call. | key: searchMultipleIndices

InputNotesExample
Connection
Requests

Provide a JSON object where each key-value pair represents an index-query pair for the search.

[
  {
    "indexName": "acme",
    "params": "filters=objectID:ff68be7beb72da7db241ffeca4b62f09739ef79f"
  },
  {
    "indexName": "acme-test-2",
    "params": "filters=objectID:b5c24740f0b7a94318193ab136fc3d70eea71f1c"
  }
]
Strategy

Provide a strategy. The possible values are 'none' and 'stopIfEnoughMatches'. This is optional.

none

Set Settings​

Change an index's settings. | key: setSettings

InputNotesExample
Connection
Forward to Replicas

The change is also propagated to replicas of this index.

false
Index Name

Provide a string value for the index name.

acme_query_suggestions
Settings

A mapping of settings parameters you can use on an index.

{"searchableAttributes":["name","address"],"customRanking":["desc(followers)"]}
Example Payload for Set Settings⤓
Loading…

Update Batch Indices​

This method enables you to batch multiple different indexing operations in one API call, like add or delete objects, potentially targeting multiple indices. | key: updateBatchIndices

InputNotesExample
Connection
Requests

An array of operations to batch.

[{"action":"addObject","indexName":"contacts","body":{"name":"Betty Jane Mccamey","company":"Vita Foods Inc.","email":"betty@mccamey.com"}},{"action":"addObject","indexName":"public_contacts","body":{"name":"Gayla Geimer","company":"Ortman Mccain Co","email":"gayla@geimer.com"}}]
Example Payload for Update Batch Indices⤓
Loading…

Changelog​

2026-10-13​

  • Added batching to the New and Updated Indices polling trigger; enabling it changes the shape a downstream step receives
  • Added an initial sync to the New and Updated Indices polling trigger via the Look-back Date input; the backfill seeds every index updated after the specified date once on the first recurrence

2026-05-20​

Applied automated security patches and code formatting updates

2026-04-30​

Updated spectral version

2026-04-21​

Added New and Updated Indices polling trigger that checks for new and updated search indices in Algolia on a configured schedule

2026-04-10​

Updated example payloads

2026-04-07​

Added global debug support across all actions for improved troubleshooting

2026-03-31​

Various modernizations and documentation updates

2026-03-05​

Added inline data source for index selection to enhance data selection capabilities across index-related actions