Contact Lists
Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Query Parameters
Maximum number of lists to return (1–100, default 20)
1 <= value <= 10020Number of lists to skip for pagination (default 0)
0 <= value0Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/contacts/lists"{ "items": [ { "id": "string", "name": "string", "filters": { "companyLinkedInUrls": [ "http://example.com" ], "jobTitles": [ "string" ], "keywords": "string", "countries": [ "string" ] }, "contactCount": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ], "total": 0, "limit": 0, "offset": 0, "hasMore": true}Creates a named contact list by running a live LinkedIn Sales Navigator search for the given company and filters, then storing the results as a persistent snapshot.
The request is synchronous — it waits for the search to complete before returning. The response includes the list metadata with an accurate contactCount.
Requirements:
- A valid company LinkedIn URL is required
- At least one filter (
jobTitles,keywords, orcountries) must be provided - LinkedIn Sales Navigator must be connected on the API key owner's account
Notes:
- Up to ~125 contacts are captured (5 pages × 25 results per page)
- Contacts are stored as a point-in-time snapshot; the list is not automatically updated when profiles change
- The list and all its contacts are committed atomically — if the request fails, no partial data is stored
Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request body for creating a contact list
Display name for the contact list
length <= 200Search filters stored on a contact list
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/contacts/lists" \ -H "Content-Type: application/json" \ -d '{ "name": "Engineering leads at Stripe", "filters": { "companyLinkedInUrls": [ "https://www.linkedin.com/company/stripe" ], "jobTitles": [ "Engineering Manager", "VP Engineering" ], "countries": [ "US", "GB" ] } }'{ "id": "abc123", "name": "Engineering leads at Stripe", "filters": { "companyLinkedInUrls": [ "https://www.linkedin.com/company/stripe" ], "jobTitles": [ "Engineering Manager", "VP Engineering" ], "countries": [ "US", "GB" ] }, "contactCount": 47, "createdAt": "2026-03-03T12:00:00Z", "updatedAt": "2026-03-03T12:00:00Z"}Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Path Parameters
The unique identifier of the contact list
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/contacts/lists/abc123"{ "id": "string", "name": "string", "filters": { "companyLinkedInUrls": [ "http://example.com" ], "jobTitles": [ "string" ], "keywords": "string", "countries": [ "string" ] }, "contactCount": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Permanently deletes the contact list and all its stored contact snapshots.
Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Path Parameters
The unique identifier of the contact list
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/contacts/lists/abc123"Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Path Parameters
The unique identifier of the contact list
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request body for renaming a contact list
New display name for the contact list
length <= 200Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/contacts/lists/abc123" \ -H "Content-Type: application/json" \ -d '{ "name": "Senior engineers at Stripe" }'{ "id": "string", "name": "string", "filters": { "companyLinkedInUrls": [ "http://example.com" ], "jobTitles": [ "string" ], "keywords": "string", "countries": [ "string" ] }, "contactCount": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Returns the stored contact snapshot for the given list, paginated. Reads directly from the database — no Sales Navigator API call is made, so this is always fast and does not consume credits.
Contacts are returned in the order they were stored at list creation time.
Authorization
ApiKeyAuth API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.
In: header
Path Parameters
The unique identifier of the contact list
Query Parameters
Maximum number of contacts to return (1–100, default 25)
1 <= value <= 10025Number of contacts to skip for pagination (default 0)
0 <= value0Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/contacts/lists/abc123/contacts"{ "items": [ { "id": "item_001", "listId": "abc123", "baseContactId": "bc_001", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "role": "Engineering Manager", "companyName": "Stripe", "location": "San Francisco, California", "seniority": [ "MANAGER" ], "linkedInSalesNavigatorProfileUrl": "https://www.linkedin.com/sales/lead/ACwAAABOW1g", "createdAt": "2026-03-03T12:00:00Z" } ], "total": 47, "limit": 25, "offset": 0, "hasMore": true}