ReactIn APIs

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.

2 min read

✅ What you’ll need before you start

Before using this API, make sure you have:

  1. A ReactIn API SmartList

  2. 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.

HeaderValueDescription
AuthorizationYOUR_API_KEYYour secret API key from ReactIn
Content-Typeapplication/jsonRequired 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

ParameterRequiredTypeDescription
pageNoIntegerPage number (default is 1)
pageSizeNoIntegerPage 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 its id and createdAt, 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 (or null if done)

💡 Keep the lead's id if you plan to update it later — it's the leadId used by the Update leads via API endpoint.


✅ Success Response

  • 200 OK – Leads fetched successfully

🚫 Common Errors

CodeDescription
400Bad request – invalid or missing parameters
401Unauthorized – invalid or missing API key
403Forbidden – you don’t have access to this list
404Not found – list ID doesn’t exist
429Too many requests – rate limit exceeded
500Internal 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 →