Elasticsearch
Elasticsearch is a distributed search and analytics engine built on Apache Lucene. The Elasticsearch connector enables you to efficiently manage and manipulate document records using Elasticsearch's bulk document operations API. You can index documents, perform bulk updates, and manage data in your Elasticsearch clusters.
Power end-to-end data operations for your Elasticsearch API with Nexla. Our bi-directional Elasticsearch connector is purpose-built for Elasticsearch, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Elasticsearch or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Elasticsearch workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Before creating an Elasticsearch credential, you'll need to obtain authentication credentials for your Elasticsearch cluster. Elasticsearch supports multiple authentication methods, including basic authentication (username/password) and API key authentication.
Elasticsearch Authentication Setup
To obtain the required authentication credentials for Elasticsearch:
-
Access Your Elasticsearch Cluster: Connect to your Elasticsearch cluster. This could be:
- A self-managed Elasticsearch cluster
- Elasticsearch Cloud (Elastic Cloud)
- An Elasticsearch service provided by a cloud provider
-
Determine Authentication Method: Elasticsearch supports several authentication methods:
- Basic Authentication: Username and password credentials
- API Key Authentication: API keys generated from the Elasticsearch cluster
- Cloud ID Authentication: For Elasticsearch Cloud deployments
-
For Basic Authentication:
- Use your Elasticsearch cluster username and password. These are typically configured during cluster setup or can be managed through the Elasticsearch security settings.
- For Elasticsearch Cloud, you can find credentials in your deployment settings or use the default
elasticuser credentials.
-
For API Key Authentication:
- Generate an API key from your Elasticsearch cluster. This can typically be done through:
- The Elasticsearch API:
POST /_security/api_key - Elasticsearch Cloud dashboard: Navigate to your deployment settings and look for API keys
- Kibana: If you have Kibana access, you can generate API keys through the security settings
- The Elasticsearch API:
- Store the generated API key securely, as it provides access to your cluster.
- Generate an API key from your Elasticsearch cluster. This can typically be done through:
-
Get Base URL and Index Name:
- Note your Elasticsearch cluster base URL (e.g.,
https://your-cluster.es.amazonaws.comorhttps://your-deployment.es.cloud.io) - Identify the index name you'll be working with (e.g.,
my-index)
- Note your Elasticsearch cluster base URL (e.g.,
Elasticsearch credentials are sensitive and provide access to your cluster and data. Keep these credentials secure and never share them publicly or commit them to version control systems. For Elasticsearch Cloud, you can find authentication details in your deployment settings. For self-managed clusters, credentials are typically configured during cluster setup.
API Configuration Details
The Elasticsearch API requires the following configuration:
- Base URL: The base URL for your Elasticsearch cluster (e.g.,
https://your-cluster.es.amazonaws.comorhttps://your-deployment.es.cloud.io) - Index Name: The name of the Elasticsearch index you'll be working with
- Authentication: Either basic authentication (username/password) or API key authentication
All requests to the Elasticsearch API must include authentication headers. For basic authentication, credentials are sent in the Authorization header. The API accepts JSON and NDJSON (newline-delimited JSON) formats for bulk operations.
For complete information about Elasticsearch authentication and API access, see the Elasticsearch API Documentation.
Authenticate
Credentials required
A standard authentication method that requires sending encoded username and password credentials along with the requests for Elasticsearch
| Field | Required | Secret | Description |
|---|---|---|---|
| Username Or API Key | Yes | No | Your username or personal API Key for Elasticsearch |
| Password | Yes | Yes | Your password for Elasticsearch |
| Base URL | Yes | No | The Elasticsearch server URL for API operations. Format: https://host:port. Used in bulk indexing, search, and document management. |
| Authentication Credentials | Yes | No | Authentication credentials for API access. String format (username:password). Required for secure operations. |
| Index Name | Yes | No | Specifies the Elasticsearch index name for document operations. Required string parameter for bulk indexing, search, and CRUD operations. |
Create a credential in Nexla
- After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
New Credential Overlay – Elasticsearch

-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter your Elasticsearch username or API key in the Username Or API Key field. This is used for basic authentication with your Elasticsearch cluster. If you're using API key authentication, enter the API key here.
-
Enter your Elasticsearch password in the Password field. This is required for basic authentication. If you're using API key authentication, you may leave this empty or enter a placeholder value.
-
Enter the base URL for your Elasticsearch cluster in the Base URL field. This should be the complete URL including the protocol (https://) and domain (e.g.,
https://your-cluster.es.amazonaws.comorhttps://your-deployment.es.cloud.io). -
Enter your username and password together in the Authentication Credentials field, in the format
username:password. This value is required and is used together with the fields above to construct the encoded authorization used by Elasticsearch's bulk operations API. -
Enter the name of the Elasticsearch index you'll be working with in the Index Name field (e.g.,
my-index). This index will be used for data operations.
The authentication credentials are sensitive information that should be kept secure. Nexla will store this credential securely and use it only for API authentication purposes. For Elasticsearch Cloud deployments, you can find your base URL and credentials in your deployment settings. For self-managed clusters, use the cluster URL and credentials configured during setup.
- Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Elasticsearch connector tile, then select the credential that will be used to connect to the Elasticsearch instance, and click Next; or, create a new Elasticsearch credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Elasticsearch endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
Elasticsearch data sources can also be manually configured to ingest data from any valid Elasticsearch API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
Elasticsearch API URLs typically follow the format https://your-cluster.es.amazonaws.com/your-index/_search for search operations, or https://your-cluster.es.amazonaws.com/your-index/_doc/{document_id} for getting specific documents. For search responses, set the Response Data Path to $.hits.hits[*] to extract individual documents from the hits array; for single document responses, use $ (the _source field contains the actual document data).
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Elasticsearch data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the Elasticsearch destination, and select the Send to Destination option from the menu. Select the Elasticsearch connector from the list of available destination connectors, then select the credential that will be used to connect to the Elasticsearch organization, and click Next; or, create a new Elasticsearch credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Elasticsearch endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Manual configuration
Elasticsearch destinations can also be manually configured to send data to any valid Elasticsearch API endpoint. Using manual configuration, you can also configure Nexla to automatically send the response received from the Elasticsearch API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Elasticsearch API URLs typically follow the format https://your-cluster.es.amazonaws.com/your-index/_bulk for bulk operations, https://your-cluster.es.amazonaws.com/your-index/_doc/{document_id} for single document operations, or https://your-cluster.es.amazonaws.com/your-index/_doc for auto-generated IDs. Use JSON format for single document operations and NDJSON (newline-delimited JSON) for bulk operations, setting the Content-Type header to application/json or application/x-ndjson accordingly. Record batching is particularly useful for the bulk endpoint, which is designed to efficiently process multiple operations in a single request.
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Elasticsearch endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Elasticsearch endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.