Skip to main content
Required ACL: addObject, deleteIndex, editSettings Use chunkedPush to push a large number of records to an index through the transformation pipeline. This helper method splits your records into batches (1,000 records by default) and sends each batch as a push request. This lets you index large datasets without worrying about request size limits. To use this method, you need a Push to Algolia connector. The Search API client helpers, such as saveObjectsWithTransformation and replaceAllObjectsWithTransformation, use chunkedPush internally. Use chunkedPush directly on the Ingestion client if you need more control over the indexing action or batch size. This method is subject to connector limits.

Usage

// Initialize the client
var client = new IngestionClient(
  new IngestionConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
);

// Records to push
var objects = new List<object>
{
  new { objectID = "1", name = "Record 1" },
  new { objectID = "2", name = "Record 2" },
};

// Push records in batches
var responses = await client.ChunkedPushAsync(
  "INDEX_NAME",
  objects,
  Action.AddObject,
  waitForTasks: true,
  batchSize: 1000
);

Parameters

indexName
string
required
Name of the index to push records to.
objects
IEnumerable<object>
required
Records to push.
action
Action
required
Indexing action to perform on the records, such as AddObject or PartialUpdateObject.
waitForTasks
bool
default:false
Whether to wait for each push task to complete before returning.
batchSize
int
default:1000
Number of records to include in each batch.
referenceIndexName
string
Index to use as a reference for index settings.
options
RequestOptions
Additional request options.
cancellationToken
CancellationToken
Token to cancel the operation.
Last modified on March 31, 2026