4.2 Add leads via API

Want to send leads from another tool, webhook or CRM directly into ReactIn? Here’s how to do it using our simple and powerful Add Lead API.

Written By Theo Remola

Last updated 11 months ago

✅ What you’ll need before you start

Before you can use this API, make sure you have:

  1. A ReactIn API SmartList

  2. Your Organization ID, List ID, and API Key

📘 Not sure where to find that?
👉 Check this guide first to get your API credentials


🔗 API Endpoint

Send a POST request to this endpoint to add a lead:

POST https://app.reactin.io/api/[organizationId]/webhooks/reactin/[listId]

ReactIn will automatically route the lead to your selected SmartList.


🔐 Authentication & Headers

You’ll need to add the following headers to your request:

Header

Value

Description

Content-Type

application/json

Format of the data you send

Authorization

YOUR_API_KEY

The secret key you got from ReactIn

🔒 Keep your API key private and only use it from secure backend code — never from the browser.


🧾 What to include in your request (Body)

You need to send your lead’s data in JSON format.
You must provide at least one of these two:

  • An email

  • A linkedinUrl

Here’s what you can send:

Field

Required

Description

email

Yes*

Lead’s email (*required if no LinkedIn URL)

linkedinUrl

Yes*

LinkedIn profile (*required if no email)

firstName

Optional

Lead’s first name

lastName

Optional

Lead’s last name

companyName

Optional

Company name

customVariable1–5

Optional

Any extra data you want to use in messages

💡 To enable auto-enrichment, make sure to include:

  • email

  • firstName

  • lastName

    OR

  • linkedinUrl

    When all 3 are present, ReactIn will automatically try to find missing data like profile links, roles, etc.


🧪 Example (JavaScript)

await fetch("https://app.reactin.io/api/[organizationId]/webhooks/reactin/[listId]", {
  method: "POST",
  headers: {
    'Content-Type': 'application/json',
    'authorization': 'YOUR_API_KEY'
  },
  body: JSON.stringify({
    email: 'john.doe@example.com',
    firstName: 'John',
    lastName: 'Doe',
    linkedinUrl: 'https://www.linkedin.com/in/johndoe/',
    companyName: 'Example Corp',
    customVariable1: 'Offer A',
    customVariable2: 'Campaign 3'
  })
});

✏️ You can copy this and test directly from Postman, Insomnia or a backend script.


✅ If everything works

You’ll get a 200 OK response, meaning the lead was successfully added to your SmartList.


🚫 If something goes wrong

Code

What it means

400

Missing or invalid data in your request

401

Wrong or missing API key

429

You’re sending too many requests

500

Server issue on our end — try again


💡 Best Practices

  • 🔐 Keep your API key secure and use it only from a backend

  • ✅ Validate lead data before sending

  • ⏳ Add retry logic for temporary errors

  • 📊 Don’t spam: avoid sending hundreds of leads at once


💡 Pro tip: Always validate data before sending it via the API to reduce errors and improve enrichment quality.

Ready to move on?
👉 Next Step: Get Leads from ReactIn via API →