Skip to content

Verify your Substack subscribers before you send

Integration Sending and campaigns

Substack email verification in three steps: export your subscriber list, verify the file in PricklyMails, then remove the addresses that cannot receive mail.

There is no native Substack connector: you export the list, PricklyMails verifies it, and you bring the result back into Substack.

Verify for free

Step by step

Clean your list in three steps

  1. In Substack

    Export your subscribers from Substack

    1. Go to your publication's Subscribers page and scroll down to All subscribers.
    2. Click the three dots above your subscriber list and select Export.
    3. Choose to export all columns or the visible columns only: PricklyMails only needs the email column.
    4. Once the export is ready, click Download last export to get the CSV file.

    Tip

    The file also holds columns such as the subscription date and plan: keep the email column alone in a spreadsheet before moving on.

  2. In PricklyMails

    Verify the file in PricklyMails

    1. In the dashboard, open Batches and click New batch.
    2. Drop the file you exported from Substack: a .csv or .txt with one address per line, no header row and no quotes. A header row would count as an address in the estimate, though it is never billed, and a quoted address would not be verified: the report lists both as malformed. You can also paste the list.
    3. The dashboard counts the addresses and shows the estimated cost in tokens before anything is sent, then you click Submit batch. A batch holds at least 20 addresses, and your plan sets the largest list it can hold.
    4. The list is verified in the background. Once the batch is done, open it and click Download report: you get a CSV with a row for each address of your file, giving its verdict, its reason, its score and its recommendation, with the dashboard's labels.

    Note

    Download the report from the browser that sent the list: that browser is what keeps the addresses, for the 16 most recent batches at most. Our servers, in Germany, only keep a one-way fingerprint of each one.
    What the report says

    Every address gets a recommendation: the action to take. The report writes it with the dashboard's label; the API returns a short form of it.

    Send
    The address is valid, or hosted by a large provider that accepts every address without confirming any. Send as usual.
    Review
    A domain that accepts any address (catch-all), a generic address such as contact@, a full mailbox, or a server that never answered, or refused to. Take a look before you send.
    Remove
    The address does not exist, its domain cannot receive mail, or it is disposable, mistyped or malformed. Take it out.

    Note

    A malformed address is never verified: the batch counts it under "Malformed addresses", and the report still lists it, with the verdict "Invalid", the reason "Malformed address" and the recommendation "Remove", so you take it out of Substack with the others. A duplicate, counted under "Duplicates removed", appears only once.

    Behind each recommendation sit a verdict (Valid, Risky, Invalid or Not verifiable), a reason and a score from 0 to 100, each in its own column of the report. When a server never answers, the address comes back "Not verifiable" and the checks that got no answer are refunded.

  3. In Substack

    Bring the result back into Substack

    Open the report in a spreadsheet and filter the Recommendation column.

    Remove

    They are removed from your publication, so Substack no longer sends them your posts.

    Substack removes subscribers from the Subscribers dashboard, where the search bar finds each address.

    1. Go to your publication's Subscribers dashboard.
    2. Enter an address to remove in the search bar.
    3. Click the three dots at the far right of its row, then Remove.
    4. Repeat from the search bar for each address to remove.
    Review

    They deserve a look before your next post. Find each one with the search bar and click its email to see its subscription details and recent activity. To gather them, click the three dots next to the subscriber's email, select Tag and give them a tag such as review, created beforehand under Manage tags.

    Send

    They stay subscribed: nothing to do.

    Warning

    Removing a paying subscriber cancels their subscription and issues a pro-rated refund: check the Subscription type column before you remove an address.

Frequently asked questions

Substack skips bad addresses at import, so why verify my list?

Its help names two cases an import skips: duplicates, and addresses with an invalid domain, such as gnail.com instead of gmail.com. Substack also screens an imported list for readers who did not opt in, and may flag the publication for review by its Standards & Enforcement team. Verification does not replace that consent. It takes out what a list collected with consent still gathers over time: addresses that can no longer receive mail, and disposable ones.

Why would Substack ask me to remove undeliverable readers?

Its help says that when a publication's list has a high rate of inactive or undeliverable addresses, Substack may ask the creator to remove them to protect its sending reputation, with a Prune inactive subscribers option on the Subscribers dashboard. It never asks about paying subscribers or readers who signed up through its subscription flow: it looks at imported readers who have not engaged over a number of posts. Verifying a list before you import it keeps the undeliverable addresses out from the start.

Why can no script clean my Substack list for me?

Substack's help describes no API to add or remove subscribers. Its MCP server, which connects a Bestseller publication to an AI assistant, gives read-only access to data such as subscriber counts, post performance and revenue, and cannot modify the account. So the list leaves through the export and comes back through the Subscribers dashboard.

Does PricklyMails connect to Substack directly?

No, there is no native connector: you go through a file export, as above.

These trademarks belong to their respective owners. Naming them implies no partnership.

Check your list before your next send.

1,000 tokens free when you sign up, no credit card. After that, you only pay for answers.