Skip to content

Integration · Available after publish

SimpleCold SDKs for Node and Python

Official clients for Node.js and Python: one, 50 or a whole CSV list of addresses, typed results and errors, retries done right, and webhook signature checks. They are built and tested; you can install them once we publish them to npm and PyPI. The OpenAPI spec works today.

What they do

What the SDKs give you

Built and tested. You can install them once we publish them to npm and PyPI.

Every endpoint, typed

verify, a batch of up to 50, credits, and bulk lists: upload a file or an array, wait for completion, download CSV or JSON rows.

Retries done right

Waits out 429s, backs off on server errors, and never retries a bulk upload in a way that could start a job twice.

Webhook signatures

Verify the SimpleCold-Signature header against the raw body and get a typed event back. Express, Flask and FastAPI examples included.

Manage webhook endpoints

Create, update, test and rotate the secret of your webhook endpoints from code, with an owner or admin key.

Node and Python

@simplecold/sdk for Node 18+ (ESM and CommonJS, no runtime dependencies). simplecold for Python 3.10+, with sync and async clients.

OpenAPI 3.1 spec, live now

Generate a client in any language, or import it into Postman or Insomnia, from /api/v1/openapi.json.

Open the spec

Setup

Set it up in 3 steps

Once the packages are published. A few lines of code.

  1. 01

    Install

    npm install @simplecold/sdk, or pip install simplecold.

  2. 02

    Add your key

    Create an API key in the dashboard and set SIMPLECOLD_API_KEY on your server. A sc_test_ key runs in the sandbox with no credits.

  3. 03

    Verify

    await simplecold.verify(email) in Node, client.verify(email) in Python. Branch on category; show statusMessage to people.

Side by side

The same methods in both

Node uses camelCase, Python uses snake_case. Everything else matches.

WhatNodePython
One addressverify(email)verify(email)
Up to 50 addressesverifyBatch(emails)verify_batch(emails)
Collect a slow resultgetResult(email)get_result(email)
Upload a listlists.upload / lists.uploadEmailslists.upload / lists.upload_emails
Wait and downloadlists.waitForCompletion / lists.downloadlists.wait_for_completion / lists.download
Credit balancecredits()credits()

Today

What you can use right now

Until the packages are published, these work today.

Use the OpenAPI spec

The OpenAPI 3.1 spec is served with the API. Generate a client or import it into your HTTP tool.

Open the spec

Call the REST API

Single checks in real time, batches of up to 50 addresses, and bulk CSV jobs, with a Bearer API key.

Read the API docs

Receive webhooks

Signed bulk.finished and credits.low events, the same ones the apps listen to, pushed to any HTTPS endpoint.

Set up webhooks

Available after publish

Get told when the SDKs are published

Leave your email and we'll write once, when they are on npm and PyPI.

Need it working today?

The REST API works now: single, batch and bulk endpoints with an API key. Or upload a CSV from any tool.

FAQ

SDK questions

Short answers.

Not yet. Both SDKs are built and tested, and you can install them once we publish @simplecold/sdk to npm and simplecold to PyPI. Join the list on this page and we'll email you once, when they are out.

Still have a question? Talk to us.

Check your list before you send it

Start with 200 free credits. Pay per credit after that.