- Home
- /
- Help Center
- /
- ReactIn APIs
- /
- Add leads via API
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.
✅ What you’ll need before you start
Before you can use this API, make sure you have:
-
A ReactIn API SmartList
-
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 -
lastNameOR
-
linkedinUrlWhen 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 →