Get a contact list
curl --request GET \
--url https://client-api.salesfinity.co/v1/contact-lists/csv/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://client-api.salesfinity.co/v1/contact-lists/csv/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://client-api.salesfinity.co/v1/contact-lists/csv/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://client-api.salesfinity.co/v1/contact-lists/csv/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://client-api.salesfinity.co/v1/contact-lists/csv/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://client-api.salesfinity.co/v1/contact-lists/csv/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://client-api.salesfinity.co/v1/contact-lists/csv/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"_id": "<string>",
"name": "<string>",
"user": "<string>",
"contacts": [
{
"_id": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"company": "<string>",
"title": "<string>",
"phone_numbers": [
{
"type": "mobile",
"number": "<string>",
"country_code": "<string>",
"extension": "<string>"
}
],
"linkedin": "<string>",
"website": "<string>",
"notes": "<string>",
"account": "<string>",
"priority": 123,
"timezone": "<string>",
"custom_fields": [
{
"type": "string",
"label": "<string>",
"value": "<unknown>"
}
]
}
]
},
"pagination": {
"total": 123,
"page": 123,
"next": 123
}
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403
}{
"message": "Cannot GET /v1/unknown-route",
"error": "Not Found",
"statusCode": 404
}{
"message": "Too many requests",
"error": "Too Many Requests",
"statusCode": 429
}{
"message": "Internal server error",
"error": "Internal Server Error",
"statusCode": 500
}Contact Lists
Get a List by ID
Returns a single CSV contact list with all its contacts. Supports searching, sorting, and paginating contacts.
GET
/
v1
/
contact-lists
/
csv
/
{id}
Get a contact list
curl --request GET \
--url https://client-api.salesfinity.co/v1/contact-lists/csv/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://client-api.salesfinity.co/v1/contact-lists/csv/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://client-api.salesfinity.co/v1/contact-lists/csv/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://client-api.salesfinity.co/v1/contact-lists/csv/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://client-api.salesfinity.co/v1/contact-lists/csv/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://client-api.salesfinity.co/v1/contact-lists/csv/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://client-api.salesfinity.co/v1/contact-lists/csv/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"_id": "<string>",
"name": "<string>",
"user": "<string>",
"contacts": [
{
"_id": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"company": "<string>",
"title": "<string>",
"phone_numbers": [
{
"type": "mobile",
"number": "<string>",
"country_code": "<string>",
"extension": "<string>"
}
],
"linkedin": "<string>",
"website": "<string>",
"notes": "<string>",
"account": "<string>",
"priority": 123,
"timezone": "<string>",
"custom_fields": [
{
"type": "string",
"label": "<string>",
"value": "<unknown>"
}
]
}
]
},
"pagination": {
"total": 123,
"page": 123,
"next": 123
}
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403
}{
"message": "Cannot GET /v1/unknown-route",
"error": "Not Found",
"statusCode": 404
}{
"message": "Too many requests",
"error": "Too Many Requests",
"statusCode": 429
}{
"message": "Internal server error",
"error": "Internal Server Error",
"statusCode": 500
}Returns a single CSV contact list with all its contacts. Supports searching, sorting, and paginating the contacts within the list.
Each contact object includes:
Path Parameters
- id (required, string): CSV contact list ID
Query Parameters
| Parameter | Type | Description |
|---|---|---|
search | string | Search contacts by first name, last name, email, or company (case-insensitive) |
sort | string | Sort contacts by field. Prefix with - for descending. Examples: first_name, -company, priority |
page | number | Page number for contacts. Default: 1 |
limit | number | Contacts per page. Default: 50 |
Response
Returns the list metadata and a paginated array of contacts:| Field | Type | Description |
|---|---|---|
_id | string | Unique identifier of the contact list |
name | string | Name of the list |
user | string | ID of the user who owns the list |
contacts | array | Array of contact objects |
| Field | Type | Description |
|---|---|---|
_id | string | Contact ID |
first_name | string | First name |
last_name | string | Last name |
email | string | Email address |
company | string | Company name |
title | string | Job title |
phone_numbers | array | Phone numbers |
linkedin | string | LinkedIn profile URL |
website | string | Website URL |
notes | string | Notes |
priority | number | Priority |
timezone | string | Timezone |
custom_fields | array | Custom fields |
Example Requests
# Get a list with all contacts
GET /v1/contact-lists/csv/507f1f77bcf86cd799439011
# Search contacts by name
GET /v1/contact-lists/csv/507f1f77bcf86cd799439011?search=john
# Sort contacts by company, page 2
GET /v1/contact-lists/csv/507f1f77bcf86cd799439011?sort=company&page=2&limit=20
Errors
| Status | Description |
|---|---|
| 404 | CSV contact list not found |
Authorizations
Team-scoped API key generated in the Salesfinity dashboard under Settings -> Connections & API. A missing or invalid key returns HTTP 403.
Path Parameters
CSV contact list ID
Query Parameters
Search contacts by first name, last name, email, or company
Sort contacts by field. Prefix with - for descending
Page number for contacts
Required range:
x >= 1Contacts per page
Required range:
x >= 1