curl --request POST \
--url https://app.pipecorn.com/api/v2/lists \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "Tech Companies 2024",
"companies": [
{
"name": "Pipecorn",
"country_code": "FR",
"domain": "pipecorn.com",
"linkedin_url": "https://www.linkedin.com/company/pipecorn"
},
{
"name": "Google",
"country_code": "US",
"domain": "google.com",
"linkedin_url": "https://www.linkedin.com/company/google"
}
],
"webhook_url": "https://your-company.com/webhooks/lists",
"live": true
}
'import requests
url = "https://app.pipecorn.com/api/v2/lists"
payload = {
"name": "Tech Companies 2024",
"companies": [
{
"name": "Pipecorn",
"country_code": "FR",
"domain": "pipecorn.com",
"linkedin_url": "https://www.linkedin.com/company/pipecorn"
},
{
"name": "Google",
"country_code": "US",
"domain": "google.com",
"linkedin_url": "https://www.linkedin.com/company/google"
}
],
"webhook_url": "https://your-company.com/webhooks/lists",
"live": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Tech Companies 2024',
companies: [
{
name: 'Pipecorn',
country_code: 'FR',
domain: 'pipecorn.com',
linkedin_url: 'https://www.linkedin.com/company/pipecorn'
},
{
name: 'Google',
country_code: 'US',
domain: 'google.com',
linkedin_url: 'https://www.linkedin.com/company/google'
}
],
webhook_url: 'https://your-company.com/webhooks/lists',
live: true
})
};
fetch('https://app.pipecorn.com/api/v2/lists', 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://app.pipecorn.com/api/v2/lists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Tech Companies 2024',
'companies' => [
[
'name' => 'Pipecorn',
'country_code' => 'FR',
'domain' => 'pipecorn.com',
'linkedin_url' => 'https://www.linkedin.com/company/pipecorn'
],
[
'name' => 'Google',
'country_code' => 'US',
'domain' => 'google.com',
'linkedin_url' => 'https://www.linkedin.com/company/google'
]
],
'webhook_url' => 'https://your-company.com/webhooks/lists',
'live' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.pipecorn.com/api/v2/lists"
payload := strings.NewReader("{\n \"name\": \"Tech Companies 2024\",\n \"companies\": [\n {\n \"name\": \"Pipecorn\",\n \"country_code\": \"FR\",\n \"domain\": \"pipecorn.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pipecorn\"\n },\n {\n \"name\": \"Google\",\n \"country_code\": \"US\",\n \"domain\": \"google.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/google\"\n }\n ],\n \"webhook_url\": \"https://your-company.com/webhooks/lists\",\n \"live\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.pipecorn.com/api/v2/lists")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Tech Companies 2024\",\n \"companies\": [\n {\n \"name\": \"Pipecorn\",\n \"country_code\": \"FR\",\n \"domain\": \"pipecorn.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pipecorn\"\n },\n {\n \"name\": \"Google\",\n \"country_code\": \"US\",\n \"domain\": \"google.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/google\"\n }\n ],\n \"webhook_url\": \"https://your-company.com/webhooks/lists\",\n \"live\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pipecorn.com/api/v2/lists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Tech Companies 2024\",\n \"companies\": [\n {\n \"name\": \"Pipecorn\",\n \"country_code\": \"FR\",\n \"domain\": \"pipecorn.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pipecorn\"\n },\n {\n \"name\": \"Google\",\n \"country_code\": \"US\",\n \"domain\": \"google.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/google\"\n }\n ],\n \"webhook_url\": \"https://your-company.com/webhooks/lists\",\n \"live\": true\n}"
response = http.request(request)
puts response.read_body{
"name": "Tech Companies 2024",
"id": "8e1dcba0-f0bb-4071-99fc-f18ba6559ccc",
"linkedin_id": "7123456789012345678",
"type": "companies",
"status": "NOT_STARTED",
"companies_requested_count": 2,
"companies_found_count": 0,
"companies_not_found": [],
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-02T00:00:00Z",
"companies": []
}Create a new list
Creates a company list and starts matching the companies in the background. Poll GET /lists/{id} or pass a webhook_url to know when it is FINISHED.
curl --request POST \
--url https://app.pipecorn.com/api/v2/lists \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "Tech Companies 2024",
"companies": [
{
"name": "Pipecorn",
"country_code": "FR",
"domain": "pipecorn.com",
"linkedin_url": "https://www.linkedin.com/company/pipecorn"
},
{
"name": "Google",
"country_code": "US",
"domain": "google.com",
"linkedin_url": "https://www.linkedin.com/company/google"
}
],
"webhook_url": "https://your-company.com/webhooks/lists",
"live": true
}
'import requests
url = "https://app.pipecorn.com/api/v2/lists"
payload = {
"name": "Tech Companies 2024",
"companies": [
{
"name": "Pipecorn",
"country_code": "FR",
"domain": "pipecorn.com",
"linkedin_url": "https://www.linkedin.com/company/pipecorn"
},
{
"name": "Google",
"country_code": "US",
"domain": "google.com",
"linkedin_url": "https://www.linkedin.com/company/google"
}
],
"webhook_url": "https://your-company.com/webhooks/lists",
"live": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Tech Companies 2024',
companies: [
{
name: 'Pipecorn',
country_code: 'FR',
domain: 'pipecorn.com',
linkedin_url: 'https://www.linkedin.com/company/pipecorn'
},
{
name: 'Google',
country_code: 'US',
domain: 'google.com',
linkedin_url: 'https://www.linkedin.com/company/google'
}
],
webhook_url: 'https://your-company.com/webhooks/lists',
live: true
})
};
fetch('https://app.pipecorn.com/api/v2/lists', 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://app.pipecorn.com/api/v2/lists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Tech Companies 2024',
'companies' => [
[
'name' => 'Pipecorn',
'country_code' => 'FR',
'domain' => 'pipecorn.com',
'linkedin_url' => 'https://www.linkedin.com/company/pipecorn'
],
[
'name' => 'Google',
'country_code' => 'US',
'domain' => 'google.com',
'linkedin_url' => 'https://www.linkedin.com/company/google'
]
],
'webhook_url' => 'https://your-company.com/webhooks/lists',
'live' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.pipecorn.com/api/v2/lists"
payload := strings.NewReader("{\n \"name\": \"Tech Companies 2024\",\n \"companies\": [\n {\n \"name\": \"Pipecorn\",\n \"country_code\": \"FR\",\n \"domain\": \"pipecorn.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pipecorn\"\n },\n {\n \"name\": \"Google\",\n \"country_code\": \"US\",\n \"domain\": \"google.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/google\"\n }\n ],\n \"webhook_url\": \"https://your-company.com/webhooks/lists\",\n \"live\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.pipecorn.com/api/v2/lists")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Tech Companies 2024\",\n \"companies\": [\n {\n \"name\": \"Pipecorn\",\n \"country_code\": \"FR\",\n \"domain\": \"pipecorn.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pipecorn\"\n },\n {\n \"name\": \"Google\",\n \"country_code\": \"US\",\n \"domain\": \"google.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/google\"\n }\n ],\n \"webhook_url\": \"https://your-company.com/webhooks/lists\",\n \"live\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pipecorn.com/api/v2/lists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Tech Companies 2024\",\n \"companies\": [\n {\n \"name\": \"Pipecorn\",\n \"country_code\": \"FR\",\n \"domain\": \"pipecorn.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pipecorn\"\n },\n {\n \"name\": \"Google\",\n \"country_code\": \"US\",\n \"domain\": \"google.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/google\"\n }\n ],\n \"webhook_url\": \"https://your-company.com/webhooks/lists\",\n \"live\": true\n}"
response = http.request(request)
puts response.read_body{
"name": "Tech Companies 2024",
"id": "8e1dcba0-f0bb-4071-99fc-f18ba6559ccc",
"linkedin_id": "7123456789012345678",
"type": "companies",
"status": "NOT_STARTED",
"companies_requested_count": 2,
"companies_found_count": 0,
"companies_not_found": [],
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-02T00:00:00Z",
"companies": []
}Authorizations
Your API key
Headers
A unique value you generate per operation, such as a UUID. Retrying with the same key and the same body returns the stored response instead of running the request again, so a retry after a timeout never charges twice. Successful responses are kept for 24 hours; a failed request is not stored and can be retried with the same key.
255"4f1c2e9a-8a7d-4c1b-9f63-2d6e0b5a7c11"
Body
Name of the list
"Tech Companies 2024"
1Show child attributes
Show child attributes
[
{
"name": "Pipecorn",
"country_code": "FR",
"domain": "pipecorn.com",
"linkedin_url": "https://www.linkedin.com/company/pipecorn"
},
{
"name": "Google",
"country_code": "US",
"domain": "google.com",
"linkedin_url": "https://www.linkedin.com/company/google"
}
]
http(s) URL notified when the list import is complete
"https://your-company.com/webhooks/lists"
true (default) also creates or updates a LinkedIn Sales Navigator list, which requires valid LinkedIn credentials on your account. false matches the companies against the Pipecorn database only, without touching LinkedIn
Response
List created
Name of the list
"Tech Companies 2024"
UUID of the list
"8e1dcba0-f0bb-4071-99fc-f18ba6559ccc"
ID of the LinkedIn Sales Navigator list, as a string. Empty when the list was created with live: false
"7123456789012345678"
What the list contains
companies, leads "companies"
Status of the list import
NOT_STARTED, ONGOING, FINISHED, ERROR, NOT_ENOUGH_CREDITS, FORBIDDEN, LIMIT_REACHED, UNAUTHORIZED, SCHEDULED "FINISHED"
Number of companies submitted (company lists only)
2
Number of companies matched so far (company lists only)
1
Names of the submitted companies that could not be matched, lowercased and trimmed (not the objects you submitted). Empty until the list is FINISHED (company lists only)
["google"]
"2024-01-01T00:00:00Z"
"2024-01-02T00:00:00Z"
Matched companies. null for lead lists
Show child attributes
Show child attributes
Was this page helpful?