Importing multiple domains at once (CSV)
Prepare a CSV file, import it and understand the result: duplicates, plan limits and skipped rows.
Reading time: 3 min Updated on 26 October 2026
If you manage dozens of sites, adding them one by one quickly gets tedious. CSV import lets you add everything in one go, and export lets you download your list at any time.
Prepare the file
The format is deliberately simple:
- One row per domain.
- The first row is a header: it's always skipped, even if it contains a domain.
- Only the first non-empty column of each row is read. So you can reuse an existing export, as long as the domain comes first.
domain
example.com
shop.example.com
client-alpha.com
api.client-alpha.com
The easiest way is to start from the template: in the import window, click Download a template.
Values are cleaned up automatically: https://www.example.com/contact becomes www.example.com. Uppercase letters are lowercased, and extra spaces and port numbers are removed. example.com and www.example.com stay two separate domains: add both if your site answers on both addresses.
From a spreadsheet
In Excel, LibreOffice or Google Sheets: put the domains in column A, with a header in A1, then save as CSV (comma-separated). .csv and .txt files are accepted, up to 2 MB.
Run the import
- On the Domains page, click the Import button.
- The window shows how many slots you have left on your plan.
- Choose the file, then click Import.
Each imported domain is checked immediately. For a large file, allow a few seconds per domain.
Understanding the result
A message summarizes the import:
- Domains imported: added and checked.
- Duplicates skipped: the domain is already in your list, or appears twice in the file.
- Domains skipped, plan limit reached: the import stops adding domains as soon as your quota is full. The remaining rows aren't imported.
- Rows skipped, invalid domain: the value doesn't look like a domain name (IP address, free text, badly formatted cell…).
You can safely run the import again with the same file: domains that are already there are simply skipped.
Export your list
The Export button downloads a CSV with, for each domain: the status, the certificate authority, the expiration date, and the dates of the last and next check. The domain is in the first column, so the file can be reimported as is into another account.
It's also a quick way to produce a status report for a client or an audit.
Automate with the API
On the Agency plan, you can add and remove domains from your scripts, your CI or your deployment tool:
curl -X POST https://www.sslexpirationreminder.com/api/v1/domains \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "new-client.com"}'
You'll find the token on the API page of your account. The API documentation lists every endpoint.