Docs · Instantly

Check leads before they enter Instantly

Instantly sends to whoever you add to a campaign. Put a Precleared check in front of it and only leads that are ok to cold email get added, each with a signed receipt.

Pick your builder

BuilderHow
ClayAn HTTP API column, then Clay's Add Lead to Campaign, only run if the verdict is ok_to_email
MakeAn HTTP module, a router, then an HTTP module to Instantly
ZapierWebhooks by Zapier, a filter, then Instantly → Add Lead to Campaign
n8nDownload the Instantly workflow

Calling the APIs yourself

  1. Check the address.
curl https://precleared.dev/api/v1/check \
  -H "Authorization: Bearer pc_live_..." \
  -H "Content-Type: application/json" \
  -d '{"recipient_email":"jane@acme.co.uk","address_source":"published","sender_country":"GB","pitch":"route-planning software"}'
  1. Only if verdict is ok_to_email, add the lead.
curl https://api.instantly.ai/api/v2/leads/add \
  -H "Authorization: Bearer YOUR_INSTANTLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_id": "YOUR_CAMPAIGN_ID",
    "skip_if_in_workspace": true,
    "leads": [{
      "email": "jane@acme.co.uk",
      "first_name": "Jane",
      "company_name": "Acme Ltd",
      "custom_variables": {"precleared_receipt": "cc_rcpt_..."}
    }]
  }'

Your campaign id is in the campaign's URL in Instantly, and your API key needs the leads:create scope. skip_if_in_workspace stops a lead that's already in your workspace being added again, and Instantly's own blocklist still applies.

Before you send

Make sure your Instantly campaign covers what footer_text describes, usually who you are, a postal address and a simple way to opt out. Keep precleared_receipt with the lead: precleared.dev/r/ followed by the id shows why the email was allowed.

All recipes

Decision support with sources, not legal advice.