curl -X POST "https://idle.api.datacircle.dev/v1/profiles/enrich" \
-H "Authorization: Token $DATACIRCLE_API_KEY" \
-H "X-Data-Provider: up2data" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.linkedin.com/in/williamhgates"}'import os
import requests
response = requests.post(
"https://idle.api.datacircle.dev/v1/profiles/enrich",
headers={"Authorization": f"Token {os.environ['DATACIRCLE_API_KEY']}", "X-Data-Provider": "up2data"},
json={'url': 'https://www.linkedin.com/in/williamhgates'},
)
print(response.json())const options = {
method: 'POST',
headers: {
'X-Data-Provider': '<x-data-provider>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({url: 'https://www.linkedin.com/in/williamhgates'})
};
fetch('https://idle.api.datacircle.dev/v1/profiles/enrich', 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://idle.api.datacircle.dev/v1/profiles/enrich",
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([
'url' => 'https://www.linkedin.com/in/williamhgates'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"X-Data-Provider: <x-data-provider>"
],
]);
$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://idle.api.datacircle.dev/v1/profiles/enrich"
payload := strings.NewReader("{\n \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Data-Provider", "<x-data-provider>")
req.Header.Add("Authorization", "<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://idle.api.datacircle.dev/v1/profiles/enrich")
.header("X-Data-Provider", "<x-data-provider>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://idle.api.datacircle.dev/v1/profiles/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Data-Provider"] = '<x-data-provider>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"url": "https://www.linkedin.com/in/williamhgates",
"full_name": "Bill Gates",
"first_name": "Bill",
"last_name": "Gates",
"public_identifier": "williamhgates",
"headline": "Chair, Gates Foundation and Founder, Breakthrough Energy",
"location": {
"city": "Seattle",
"region": "Washington",
"country": "United States",
"raw": "Seattle, Washington, United States"
},
"about": "Chair of the Gates Foundation. Founder of Breakthrough Energy. Co-founder of Microsoft. Voracious reader. Avid traveler. Active blogger.",
"urn": "urn:li:member:251749025",
"linkedin_id": "251749025",
"profile_urn": "urn:li:fsd_profile:ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc",
"positions": [
{
"title": "Co-chair",
"company": "Gates Foundation",
"company_url": "https://www.linkedin.com/company/gates-foundation",
"linkedin_id": "8736",
"position_id": "urn:li:fsd_profilePosition:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,392598211)",
"started_at": "2000",
"ended_at": null,
"company_industry": "Non-profit Organization Management",
"company_headcount": "1001-5000",
"company_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQEgMqqFTd40Tg/company-logo_400_400/company-logo_400_400/0/1736784969376/bill__melinda_gates_foundation_logo?e=1792627200&v=beta&t=pQQr7Y88vBlaIvx9BXqz34OGzr9w_sBzEShPWaPiJqE"
},
{
"title": "Founder",
"company": "Breakthrough Energy",
"company_url": "https://www.linkedin.com/company/breakthrough-energy",
"linkedin_id": "19141006",
"position_id": "urn:li:fsd_profilePosition:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,1836104012)",
"started_at": "2015",
"ended_at": null,
"company_industry": "Management Consulting",
"company_headcount": "51-200",
"company_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQFRMYiQN7-2kA/company-logo_400_400/B56ZoI4SGPI0AY-/0/1761085563539/breakthrough_energy_logo?e=1792627200&v=beta&t=dtaAXFJ8-71Bvs5Qhj4c81nOc6l2hDqHqSE8qtHK0qk"
},
{
"title": "Co-founder",
"company": "Microsoft",
"company_url": "https://www.linkedin.com/company/microsoft",
"linkedin_id": "1035",
"position_id": "urn:li:fsd_profilePosition:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,392599749)",
"started_at": "1975",
"ended_at": null,
"company_industry": "Computer Software",
"company_headcount": "10001+",
"company_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_400_400/B56ZYQ0mrGGoAc-/0/1744038948046/microsoft_logo?e=1792627200&v=beta&t=NqzcT-M4G01GGJ0WSG_kxqbOJ5GVTaeHs61vteFTnyE"
}
],
"current_company": {
"name": "Gates Foundation",
"url": "https://www.linkedin.com/company/gates-foundation",
"linkedin_id": "8736",
"title": "Co-chair",
"started_at": "2000",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQEgMqqFTd40Tg/company-logo_400_400/company-logo_400_400/0/1736784969376/bill__melinda_gates_foundation_logo?e=1792627200&v=beta&t=pQQr7Y88vBlaIvx9BXqz34OGzr9w_sBzEShPWaPiJqE",
"industry": "Non-profit Organization Management",
"headcount": "1001-5000"
},
"education": [
{
"school": "Harvard University",
"education_id": "urn:li:fsd_profileEducation:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,157656829)",
"school_logo_url": "https://media.licdn.com/dms/image/v2/C4E0BAQF5t62bcL0e9g/company-logo_400_400/company-logo_400_400/0/1631318058235?e=1792627200&v=beta&t=0hJGm1CmYzZ20L5NhyvLll-4sDmb1U_RwRue5QCSDSI",
"started_at": "1973",
"ended_at": "1975"
},
{
"school": "Lakeside School",
"education_id": "urn:li:fsd_profileEducation:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,157676006)",
"school_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGFmOQmzpxg9A/company-logo_400_400/company-logo_400_400/0/1683732883164/lakeside_school_logo?e=1792627200&v=beta&t=9AdS9k6n1uMsFx4ZSbTtjlXeuxIyoxV06LfYpNzqRSs"
}
],
"primary_locale": "en_US",
"is_premium": true,
"is_open_to_work": false,
"profile_picture_url": "https://media.licdn.com/dms/image/v2/D5603AQF-RYZP55jmXA/profile-displayphoto-shrink_800_800/B56ZRi8g.aGsAc-/0/1736826818808?e=1792627200&v=beta&t=wmgV6HYCkzeFN_YuUhRPVy-jys5YqHMucz6YL3NarYE",
"scraped_at": "2026-10-03T13:54:57.750Z"
},
"meta": {
"creditsUsed": 1,
"billed": true,
"reason": "profile_found"
},
"datacircle_meta": {
"provider": "up2data",
"credits_cost": 0.00125,
"credits_remaining": 4.99875
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"balance_usd": 123
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"requestId": "<string>"
},
"meta": {
"creditsUsed": 123,
"billed": true,
"reason": "<string>",
"nextCursor": "<string>"
},
"datacircle_meta": {
"provider": "iblinked",
"credits_cost": 123,
"credits_remaining": 123
}
}{
"error": "<string>"
}Enrich one LinkedIn profile
Up2Data’s own request (https://api.up2data.ai/v1/profiles/enrich), sent to api.datacircle.dev with your Datacircle key in Authorization and X-Data-Provider: up2data. Nothing else changes. 0.00125 USD per profile found (Up2Data’s price, no markup).
curl -X POST "https://idle.api.datacircle.dev/v1/profiles/enrich" \
-H "Authorization: Token $DATACIRCLE_API_KEY" \
-H "X-Data-Provider: up2data" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.linkedin.com/in/williamhgates"}'import os
import requests
response = requests.post(
"https://idle.api.datacircle.dev/v1/profiles/enrich",
headers={"Authorization": f"Token {os.environ['DATACIRCLE_API_KEY']}", "X-Data-Provider": "up2data"},
json={'url': 'https://www.linkedin.com/in/williamhgates'},
)
print(response.json())const options = {
method: 'POST',
headers: {
'X-Data-Provider': '<x-data-provider>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({url: 'https://www.linkedin.com/in/williamhgates'})
};
fetch('https://idle.api.datacircle.dev/v1/profiles/enrich', 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://idle.api.datacircle.dev/v1/profiles/enrich",
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([
'url' => 'https://www.linkedin.com/in/williamhgates'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"X-Data-Provider: <x-data-provider>"
],
]);
$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://idle.api.datacircle.dev/v1/profiles/enrich"
payload := strings.NewReader("{\n \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Data-Provider", "<x-data-provider>")
req.Header.Add("Authorization", "<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://idle.api.datacircle.dev/v1/profiles/enrich")
.header("X-Data-Provider", "<x-data-provider>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://idle.api.datacircle.dev/v1/profiles/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Data-Provider"] = '<x-data-provider>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"url": "https://www.linkedin.com/in/williamhgates",
"full_name": "Bill Gates",
"first_name": "Bill",
"last_name": "Gates",
"public_identifier": "williamhgates",
"headline": "Chair, Gates Foundation and Founder, Breakthrough Energy",
"location": {
"city": "Seattle",
"region": "Washington",
"country": "United States",
"raw": "Seattle, Washington, United States"
},
"about": "Chair of the Gates Foundation. Founder of Breakthrough Energy. Co-founder of Microsoft. Voracious reader. Avid traveler. Active blogger.",
"urn": "urn:li:member:251749025",
"linkedin_id": "251749025",
"profile_urn": "urn:li:fsd_profile:ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc",
"positions": [
{
"title": "Co-chair",
"company": "Gates Foundation",
"company_url": "https://www.linkedin.com/company/gates-foundation",
"linkedin_id": "8736",
"position_id": "urn:li:fsd_profilePosition:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,392598211)",
"started_at": "2000",
"ended_at": null,
"company_industry": "Non-profit Organization Management",
"company_headcount": "1001-5000",
"company_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQEgMqqFTd40Tg/company-logo_400_400/company-logo_400_400/0/1736784969376/bill__melinda_gates_foundation_logo?e=1792627200&v=beta&t=pQQr7Y88vBlaIvx9BXqz34OGzr9w_sBzEShPWaPiJqE"
},
{
"title": "Founder",
"company": "Breakthrough Energy",
"company_url": "https://www.linkedin.com/company/breakthrough-energy",
"linkedin_id": "19141006",
"position_id": "urn:li:fsd_profilePosition:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,1836104012)",
"started_at": "2015",
"ended_at": null,
"company_industry": "Management Consulting",
"company_headcount": "51-200",
"company_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQFRMYiQN7-2kA/company-logo_400_400/B56ZoI4SGPI0AY-/0/1761085563539/breakthrough_energy_logo?e=1792627200&v=beta&t=dtaAXFJ8-71Bvs5Qhj4c81nOc6l2hDqHqSE8qtHK0qk"
},
{
"title": "Co-founder",
"company": "Microsoft",
"company_url": "https://www.linkedin.com/company/microsoft",
"linkedin_id": "1035",
"position_id": "urn:li:fsd_profilePosition:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,392599749)",
"started_at": "1975",
"ended_at": null,
"company_industry": "Computer Software",
"company_headcount": "10001+",
"company_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_400_400/B56ZYQ0mrGGoAc-/0/1744038948046/microsoft_logo?e=1792627200&v=beta&t=NqzcT-M4G01GGJ0WSG_kxqbOJ5GVTaeHs61vteFTnyE"
}
],
"current_company": {
"name": "Gates Foundation",
"url": "https://www.linkedin.com/company/gates-foundation",
"linkedin_id": "8736",
"title": "Co-chair",
"started_at": "2000",
"logo_url": "https://media.licdn.com/dms/image/v2/D560BAQEgMqqFTd40Tg/company-logo_400_400/company-logo_400_400/0/1736784969376/bill__melinda_gates_foundation_logo?e=1792627200&v=beta&t=pQQr7Y88vBlaIvx9BXqz34OGzr9w_sBzEShPWaPiJqE",
"industry": "Non-profit Organization Management",
"headcount": "1001-5000"
},
"education": [
{
"school": "Harvard University",
"education_id": "urn:li:fsd_profileEducation:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,157656829)",
"school_logo_url": "https://media.licdn.com/dms/image/v2/C4E0BAQF5t62bcL0e9g/company-logo_400_400/company-logo_400_400/0/1631318058235?e=1792627200&v=beta&t=0hJGm1CmYzZ20L5NhyvLll-4sDmb1U_RwRue5QCSDSI",
"started_at": "1973",
"ended_at": "1975"
},
{
"school": "Lakeside School",
"education_id": "urn:li:fsd_profileEducation:(ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc,157676006)",
"school_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQGFmOQmzpxg9A/company-logo_400_400/company-logo_400_400/0/1683732883164/lakeside_school_logo?e=1792627200&v=beta&t=9AdS9k6n1uMsFx4ZSbTtjlXeuxIyoxV06LfYpNzqRSs"
}
],
"primary_locale": "en_US",
"is_premium": true,
"is_open_to_work": false,
"profile_picture_url": "https://media.licdn.com/dms/image/v2/D5603AQF-RYZP55jmXA/profile-displayphoto-shrink_800_800/B56ZRi8g.aGsAc-/0/1736826818808?e=1792627200&v=beta&t=wmgV6HYCkzeFN_YuUhRPVy-jys5YqHMucz6YL3NarYE",
"scraped_at": "2026-10-03T13:54:57.750Z"
},
"meta": {
"creditsUsed": 1,
"billed": true,
"reason": "profile_found"
},
"datacircle_meta": {
"provider": "up2data",
"credits_cost": 0.00125,
"credits_remaining": 4.99875
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"balance_usd": 123
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"requestId": "<string>"
},
"meta": {
"creditsUsed": 123,
"billed": true,
"reason": "<string>",
"nextCursor": "<string>"
},
"datacircle_meta": {
"provider": "iblinked",
"credits_cost": 123,
"credits_remaining": 123
}
}{
"error": "<string>"
}Authorizations
Token <your API key>
Headers
names the provider: up2data. With the host, the only change from the provider's own request.
up2data Body
the LinkedIn profile URL or public identifier, as in Up2Data's docs (e.g. https://www.linkedin.com/in/williamhgates)
Restrict response to these top-level fields. Same cost. Listing followers_count or connections_count also opts into the extra scrape; listing skill_endorsements also opts into the full-skills scrape.
Include followers_count and connections_count. Off by default — those numbers are a second LinkedIn request, not part of the main profile scrape. Same credit; extra latency.
Return every skill LinkedIn exposes (up to LinkedIn's own 50-skill cap) plus skill_endorsements. Off by default — skills is capped at the first 20 without it, and this is a second LinkedIn request. Same credit; extra latency.
Response
Up2Data's answer plus datacircle_meta
Up2Data's own response to POST /v1/profiles/enrich, plus datacircle_meta
Up2Data's profile record, every field as Up2Data documents it (docs.up2data.ai). fields in the request restricts it to the fields listed.
Show child attributes
Show child attributes
Up2Data's billing metadata, minus creditsRemaining, requestId and latencyMs (our account with Up2Data, not yours)
Show child attributes
Show child attributes
Datacircle's only addition to the provider's answer
Show child attributes
Show child attributes