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

Written By Theo Remola

Last updated 4 months ago

βœ… 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.

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) => {
  try {
    const response = await fetch(
      `https://app.reactin.io/api/v1/${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": [
    {
      "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

  • page: current page number

  • nextPage: the next page number (or null if done)


βœ… 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 β†’