Skip to main content
Version: 3.0.0

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