ListCleanerDeveloper platform
POST/upload_list

Upload a CSV email list

Submit a CSV file for asynchronous bulk email validation and receive a unique list identifier for monitoring and downloads.

CSV uploadMultipart requestAsynchronous job
Temporary tab credentials

Authenticate once for every guide

Your email and API key remain in this tab's session storage, work across all request pages, and disappear when the tab closes.

Credentials have not been entered.

Overview

What this request does

The CSV list validation request sends an email list to ListCleaner as multipart form data. It is intended for CRM exports, newsletter databases, lead files and other structured datasets that contain one column of email addresses. The API preserves the uploaded dataset for the cleaning workflow while the mapping field identifies which column should be validated.

CSV delimiters can be detected automatically or provided explicitly when the source is unusual. A successful upload returns a list UID. Store that UID with your own job record because it is the stable reference used to inspect processing status and download the cleaned results. Uploading creates an asynchronous job: the initial response confirms acceptance, not completion.

Implementation workflow

How to use /upload_list

Prepare the file

Export a valid CSV file and make sure the email column has a recognizable header.

Submit multipart data

Send the file, the email mapping value and an optional human-readable reference.

Track the returned UID

Poll the list-status endpoint and download results only after processing has completed.

Request contract

Headers, parameters and fields

NameLocationRequiredDescription
X-User-EmailHeaderYesEmail address belonging to the ListCleaner API account.
X-Api-KeyHeaderYesSecret API key for the authenticated ListCleaner account.
fileMultipart bodyYesCSV file containing the email list. Maximum 100 MB and 1,000,000 data rows.
mappingMultipart bodyYesEmail column header. The example uses email.
referenceMultipart bodyNoA label such as a campaign, source or month that helps identify the job later.

Response behavior

  • The response confirms that the job was created.
  • The uid value identifies the list in later status and download calls.
  • records_total reports the accepted data-row count when available.
Interactive API console

Execute this request

Edit the request values, then send a live authenticated request to ListCleaner. The HTTP status and duration appear in the response bar, with the actual API response body directly below. File endpoints provide a download link instead of printing binary data.

Your saved tab credentials are added to the request headers and never printed in the response panel.
This performs a real API operation and may use credits or change account data.
Ready-to-run examples

Code examples in 10 languages

After credentials are entered above, every example includes the actual account email and API key so the copied request can run immediately. Clear the credentials to return to placeholders.

POST /upload_listContent type:
PHP
Integration guidance

Use cases and best practices

Common use cases

  • Validate a CSV export before importing it into an email platform.
  • Clean CRM contacts before a migration or re-engagement campaign.
  • Automate recurring list-quality checks from a backend data pipeline.

Recommended implementation practices

  • Upload from a trusted backend instead of exposing API credentials in browser code.
  • Retain the returned UID and your own reference together.
  • Do not treat upload acceptance as cleaning completion.
  • Validate the file structure before consuming credits on a large production upload.
Focused FAQ

Upload a CSV email list questions

Answers to common implementation, security and response-handling questions for this specific request.

How should the email column be selected for a CSV file?

Use the exact CSV header name, such as email, or supply a delimiter override when detection is ambiguous. The mapping value must resolve to the column that contains the addresses to clean.

What happens after the CSV upload succeeds?

ListCleaner creates an asynchronous cleaning job and returns its UID. Use the status request to follow the job before requesting result files.

Can I upload a CSV file directly from frontend JavaScript?

The API accepts the request, but production integrations should proxy uploads through a trusted backend so the API key is not exposed to website visitors.

What are the bulk upload limits?

The documented limit is 100 MB and up to 1,000,000 data rows per upload. Validate limits and file structure before submission.