# GET /subscribers — Get All Subscribers

> Product: **Pabbly Email Marketing** (v2)
> Base URL: `https://emails.pabbly.com/api/v2`
> Auth: Bearer via `Authorization` header
> Canonical: `/email-marketing/subscribers/get-all-subscribers`

Retrieves a paginated list of subscribers with optional filtering and search capabilities. Supports filtering by status, tags, segments, lists, and lead score range. Also supports searching by email, first name, or last name. Query Parameters:

**Query parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| page | integer | No | Page number for pagination. Default: 1. |
| limit | integer | No | Number of items per page. Default: 10. Maximum: 100. |
| search | string | No | Search term to filter by email, firstName, or lastName. |
| status | string | No | Filter by subscription status. Valid values: subscribed, unsubscribed, bounced, complaint. |
| tags | string | No | Filter by tag names. Can be comma-separated string or array. |
| segments | string | No | Filter by segment names. Can be comma-separated string or array. |
| lists | string | No | Filter by list names. Can be comma-separated string or array. |
| leadScoreMin | string | No | Minimum lead score for filtering. |
| leadScoreMax | string | No | Maximum lead score for filtering. |

**Response (200)** — Get All Subscribers:

```json
{
    "success": true,
    "status": "success",
    "message": "Subscribers retrieved successfully",
    "data": {
        "subscribers": [
            {
                "_id": "69525f392011e7f242b57684",
                "userId": "682db2da6ef7e93a3eceb126",
                "businessId": "69398c24e90b87748e209d9b",
                "email": "john.doe@example.com",
                "firstName": "John",
                "lastName": "Doe Updated",
                "mobile": "+1234567890",
                "leadScore": 90,
                "dateOfBirth": null,
                "status": "subscribed",
                "country": "USA",
                "city": "New York",
                "tags": [
                    "VIP",
                    "Premium",
                    "New Tag"
                ],
                "source": "manual",
                "segments": [
                    "Temp Customer"
                ],
                "customFields": {
                    "company": "Updated Company Name",
                    "position": "Senior Software Engineer"
                },
                "activity": [],
                "automationWorkflows": [],
                "lists": [
                    "Temp List"
                ],
                "totalSent": 0,
                "totalDelivered": 0,
                "totalOpens": 0,
                "totalUniqueOpens": 0,
                "totalUniqueClick": 0,
                "totalClicks": 0,
                "deleteAfter": null,
                "suppressionDetail": {
                    "createdAt": "2025-12-29T11:00:09.547Z",
                    "updatedAt": "2025-12-29T11:00:09.547Z"
                },
                "campaignDetails": [],
                "createdAt": "2025-12-29T11:00:09.547Z",
                "updatedAt": "2025-12-29T11:00:39.970Z"
            }
        ],
        "suppressionList": [],
        "pagination": {
            "currentPage": 1,
            "itemsPerPage": 20,
            "totalItems": 1,
            "totalPages": 1,
            "hasNextPage": false,
            "hasPrevPage": false
        }
    }
}
```

**Code examples:**

_cURL_

```curl
curl https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}} \
  -H "Authorization: Bearer {{YOUR_API_KEY}}"
```

_Ruby_

```ruby
require 'net/http'
require 'json'

uri = URI('https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}}')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer {{YOUR_API_KEY}}'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

data = JSON.parse(response.body)
```

_Python_

```python
import requests

response = requests.get(
    'https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}}',
    headers={'Authorization': 'Bearer {{YOUR_API_KEY}}'},
)

data = response.json()
```

_PHP_

```php
<?php
$ch = curl_init('https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer {{YOUR_API_KEY}}']);

$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
```

_Java_

```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newHttpClient();
HttpRequest.Builder builder = HttpRequest.newBuilder()
    .uri(URI.create("https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}}"))
    .header("Authorization", "Bearer {{YOUR_API_KEY}}")
    .GET();

HttpRequest request = builder.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
```

_Node.js_

```node
const response = await fetch('https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}}', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer {{YOUR_API_KEY}}',
  },
});

const data = await response.json();
```

_Go_

```go
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}}", nil)
    req.Header.Set("Authorization", "Bearer {{YOUR_API_KEY}}")

    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)
    fmt.Println(string(body))
}
```

_.NET_

```dotnet
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://emails.pabbly.com/api/v2/subscribers?page={{page}}&limit={{limit}}&search={{search}}&status={{status}}&tags={{tags}}&segments={{segments}}&lists={{lists}}&leadScoreMin={{leadScoreMin}}&leadScoreMax={{leadScoreMax}}");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer {{YOUR_API_KEY}}");

var response = await client.SendAsync(request);
var data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
```

---

**Other endpoints in Subscribers:**

- [POST /subscribers — Create Subscriber](/email-marketing/subscribers/create-subscriber)
- [GET /subscribers/stats — Get Subscriber Statistics](/email-marketing/subscribers/get-subscriber-statistics)
- [GET /subscribers/{subscriber ID} — Get Subscriber by ID](/email-marketing/subscribers/get-subscriber-by-id)
- [PUT /subscribers/{ subscriber Id} — Update Subscriber by ID](/email-marketing/subscribers/update-subscriber-by-id)
- [DELETE /subscribers — Delete Subscriber](/email-marketing/subscribers/delete-subscriber)
- [PUT /subscribers/{{email}} — Update Subscriber by Email](/email-marketing/subscribers/update-subscriber-by-email)
- [GET /subscribers/{{email}} — Get Subscriber by Email](/email-marketing/subscribers/get-subscriber-by-email)
- [GET /custom-fields — Get All Custom Fields](/email-marketing/subscribers/get-all-custom-fields)

