- Home
- /
- Help Center
- /
- ReactIn APIs
- /
- Get Leads from ReactIn via API
Get Leads from ReactIn via API
Need to pull your enriched leads from a SmartList? This API lets you fetch leads securely and in real-time for use in CRMs, dashboards, or internal tools.
✅ What you’ll need before you start
Before using this API, make sure you have:
-
A ReactIn API SmartList
-
Your Organization ID, List ID, and API Key
📘 👉 Not sure how to get these? Follow this guide
🔗 API Endpoint
Send a GET request to this endpoint to get a lead:
GET https://app.reactin.io/api/[organizationId]/lists/[listId]/leads
This will return a paginated list of enriched leads in your SmartList.
🔐 Authentication & Headers
You need to send your API key in the headers using a Bearer token.
| Header | Value | Description |
|---|---|---|
| Authorization | YOUR_API_KEY | Your secret API key from ReactIn |
| Content-Type | application/json | Required for all requests |
🔐 Your API key is visible when you create a ReactIn API SmartList or in the settings. Never expose it in public code.
📄 Query Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| page | No | Integer | Page number (default is 1) |
| pageSize | No | Integer | Page size between 10 to 50 (default is 10) |
Each page contains up to 50 leads.
🧪 Example (JavaScript)
const fetchLeads = async (organizationId, listId, page = 1, pageSize = 10) => {
try {
const response = await fetch(
`https://app.reactin.io/api/${organizationId}/lists/${listId}/leads?page=${page}&pageSize=${pageSize}`,
{
method: 'GET',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`HTTP Error: ${response.status}`);
}
const data = await response.json();
console.log('Leads:', data.data);
console.log('Page:', data.page);
console.log('Next Page:', data.nextPage);
return data;
} catch (error) {
console.error('Error fetching leads:', error);
}
};
🧾 Response format
{
"data": [
{
"id": "lead_a1b2c3",
"createdAt": "2026-05-19T10:48:00.000Z",
"First Name": "John",
"Last Name": "Doe",
"Email": "john.doe@example.com",
"Profile": "https://www.linkedin.com/in/johndoe/",
"My AI Column": "Generated insight"
}
],
"page": 1,
"nextPage": 2
}
-
data: the list of leads. Each lead always includes itsidandcreatedAt, plus one key per column in your SmartList (the keys match your column names, so they vary from one list to another). -
page: current page number -
nextPage: the next page number (ornullif done)
💡 Keep the lead's
idif you plan to update it later — it's theleadIdused by the Update leads via API endpoint.
✅ Success Response
200 OK– Leads fetched successfully
🚫 Common Errors
| Code | Description |
|---|---|
| 400 | Bad request – invalid or missing parameters |
| 401 | Unauthorized – invalid or missing API key |
| 403 | Forbidden – you don’t have access to this list |
| 404 | Not found – list ID doesn’t exist |
| 429 | Too many requests – rate limit exceeded |
| 500 | Internal server error – try again later |
💡 Best Practices
-
⚡ Use pagination to avoid overloading your app
-
📥 Cache results when possible to reduce API calls
-
🔐 Keep your API key private — use a backend server or proxy
-
🔁 Add retry logic for occasional network or server errors
💡 Pro tip: Cache API responses on your end to optimize performance and reduce unnecessary calls.
Ready to move on?
👉 Next Step: Connect External Tools to Push Leads into ReactIn →