Skip to main content
Version: Next

Lemlist

Lemlist source connector

Description

Reads data from Lemlist APIs. The connector uses password as the Lemlist API key, creates a Basic authentication header, and then uses the shared HTTP source runtime to parse the response.

Key features

tip

In streaming mode, the connector repeatedly calls the configured API. Set poll_interval_millis to control the request interval.

Options

nametyperequireddefault valuedescription
urlStringYes-Lemlist API URL.
passwordStringYes-Lemlist API key.
methodStringNoGETHTTP method. Supported values are GET and POST.
headersMapNo-Extra HTTP request headers. Do not put Authorization here unless you intentionally want to override the generated header.
paramsMapNo-HTTP query parameters.
bodyStringNo-HTTP request body, usually used with POST.
formatStringNoTEXTResponse format. Use json when the response should be parsed by schema, json_field, or content_field.
schemaConfigNo-Output schema. Required when format = "json".
json_fieldConfigNo-JSONPath mapping from response fields to output columns. Must be used together with schema.
content_fieldStringNo-JSONPath used to select the array or object that should be parsed as rows.
pageingConfigNo-Pagination settings. See Pagination.
poll_interval_millisintNo-Request interval in milliseconds for streaming jobs.
retryintNo-Maximum retry count when the request throws IOException.
retry_backoff_multiplier_msintNo100Retry backoff multiplier in milliseconds.
retry_backoff_max_msintNo10000Maximum retry backoff in milliseconds.
json_filed_missed_return_nullbooleanNofalseReturn null when a field configured in json_field is missing.
common-optionsconfigNo-Source common options. See Source Common Options.

Authentication

Set password to the Lemlist API key. The connector sends it through Basic authentication with an empty username.

Response Parsing

The default format is TEXT, which returns the whole response as one content column.

Use format = "json" and schema when you want structured output:

format = "json"
schema = {
fields {
_id = string
name = string
userIds = "array<string>"
createdBy = string
createdAt = string
apiKey = string
billing = {
quantity = int
ok = boolean
plan = string
}
}
}

Use content_field when the rows are inside a nested JSON node. Use json_field when columns need to be extracted from different JSONPath expressions.

Pagination

pageing can be used when the target API needs paging parameters.

nametyperequireddefault valuedescription
total_page_sizelongNo0Total number of pages to request.
batch_sizeintNo100Page size returned by each request.
start_page_numberlongNo1First page number.
page_fieldStringNopageRequest parameter name for page number pagination.
page_typeStringNoPageNumberPagination type. Supported values are PageNumber and Cursor.
cursor_fieldStringNo-Request parameter name for cursor pagination.
cursor_response_fieldStringNo-JSONPath field used to read the next cursor from the response.
use_placeholder_replacementbooleanNofalseUse ${field} placeholder replacement in headers, parameters, and body.

Example

env {
parallelism = 1
job.mode = "BATCH"
}

source {
Lemlist {
plugin_output = "lemlist"
url = "https://api.lemlist.com/api/team"
password = "replace-with-api-key"
method = "GET"
format = "json"
schema = {
fields {
_id = string
name = string
userIds = "array<string>"
createdBy = string
createdAt = string
apiKey = string
billing = {
quantity = int
ok = boolean
plan = string
}
}
}
}
}

sink {
Console {
plugin_input = "lemlist"
}
}

Changelog

Change Log
ChangeCommitVersion
[improve] http connector options (#8969)https://github.com/apache/seatunnel/commit/63ff9f910a2.3.10
[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)https://github.com/apache/seatunnel/commit/6f49ec6ead2.3.4
[Improve][build] Give the maven module a human readable name (#4114)https://github.com/apache/seatunnel/commit/d7cd6010512.3.1
[Improve][Project] Code format with spotless plugin. (#4101)https://github.com/apache/seatunnel/commit/a2ab1665612.3.1
[Improve][Connector-V2][Http]Improve json parse option rule for all http connector (#3627)https://github.com/apache/seatunnel/commit/589e4161ec2.3.0
[Feature][Connector-V2][HTTP] Use json-path parsing (#3510)https://github.com/apache/seatunnel/commit/1807eb6c952.3.0
[Hotfix][OptionRule] Fix option rule about all connectors (#3592)https://github.com/apache/seatunnel/commit/226dc6a1192.3.0
[Improve][Connector-V2][Lemlist] Unified exception for lemlist connector (#3534)https://github.com/apache/seatunnel/commit/705728ebbb2.3.0
[Feature][Connector-V2][Lemlist]Add Lemlist source connector (#3346)https://github.com/apache/seatunnel/commit/12d66b42472.3.0