B2B Person Profile
Retrieve comprehensive B2B person profile information including work history, education, certifications, and more.
curl --request POST \
--url https://api.leadmagic.io/v1/people/profile-search \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"profile_url": "alex-rivera"
}
'import requests
url = "https://api.leadmagic.io/v1/people/profile-search"
payload = { "profile_url": "alex-rivera" }
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({profile_url: 'alex-rivera'})
};
fetch('https://api.leadmagic.io/v1/people/profile-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.leadmagic.io/v1/people/profile-search"
payload := strings.NewReader("{\n \"profile_url\": \"alex-rivera\"\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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.leadmagic.io/v1/people/profile-search",
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([
'profile_url' => 'alex-rivera'
]),
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;
}{
"profile_url": "alex-rivera",
"credits_consumed": 1,
"first_name": "Alex",
"last_name": "Rivera",
"full_name": "Alex Rivera",
"professional_title": "Growth & AI Expert | Founder LeadMagic",
"bio": "SaaS Founder",
"company_name": "LeadMagic",
"company_industry": "Internet",
"company_website": "leadmagic.io",
"total_tenure_months": "205",
"total_tenure_days": "6240",
"total_tenure_years": "17",
"followers_range": "45K-50K",
"personal_website": {
"name": "https://leadmagic.io",
"link": "https://leadmagic.io"
},
"country": "United States",
"location": "Greater Boston",
"work_experience": [
{
"position_title": "Founder",
"company_name": "LeadMagic",
"employment_period": "Sep 2022 - Present · 3 yrs 2 mos",
"company_website": "leadmagic.io",
"company_logo_url": "https://logo.leadmagic.io/leadmagic.io"
}
],
"education": [
{
"institution_name": "University of Maine",
"degree": "University of Maine",
"attendance_period": ""
}
],
"certifications": [
{
"certification_name": "Revenue Architect",
"issuing_organization": "Winning by Design",
"issue_date": "Issued Nov 2020"
}
],
"honors": [
{
"title": "Hortonworks - MVP NorthEast - Region - 2016",
"description": "Issued by Hortonworks · Jan 2016"
}
]
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/validation_error",
"title": "Request validation failed. Check your input parameters.",
"status": 400,
"code": "validation_error",
"param": [
"email"
],
"detail": "Email format is invalid. Expected format: user@domain.com",
"action": "Provide a valid email address in the 'email' field.",
"docs": "https://leadmagic.io/docs/api-reference/errors"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/missing_authentication",
"title": "Authentication required. Provide a valid API key in the X-API-Key header (case-insensitive).",
"status": 401,
"code": "missing_authentication",
"docs": "https://leadmagic.io/docs/api-reference/authentication"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/insufficient_credits",
"title": "Insufficient credits: need 5, have 2.50. Add credits to continue.",
"status": 402,
"code": "insufficient_credits",
"detail": "This request requires 5 credit(s) but your account only has 2.50 credits remaining.",
"action": "Add credits to your account at https://app.leadmagic.io/billing or contact support@leadmagic.io for enterprise plans.",
"docs": "https://leadmagic.io/docs/api-reference/credits",
"context": {
"credits_required": 5,
"credits_available": 2.5,
"credits_needed": 2.5
}
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/resource_not_found",
"title": "Resource not found.",
"status": 404,
"code": "resource_not_found",
"docs": "https://leadmagic.io/docs/api-reference/errors"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/rate_limit_exceeded",
"title": "Rate limit exceeded: 300 requests per 1 minute. Wait and try again.",
"status": 429,
"code": "rate_limit_exceeded",
"detail": "You have exceeded the maximum allowed request rate. Please wait before making additional requests.",
"action": "Wait 42 seconds before retrying. Consider implementing exponential backoff.",
"docs": "https://leadmagic.io/docs/api-reference/rate-limits",
"context": {
"limit": 300,
"window": "1 minute",
"remaining": 0,
"reset_at": 1706745642,
"retry_after_seconds": 42
}
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/INTERNAL_ERROR",
"title": "Something went wrong on our end. Our team has been notified and is investigating.",
"status": 500,
"code": "INTERNAL_ERROR",
"detail": "This is a temporary server error. The issue has been automatically reported to our team.",
"action": "Wait 30 seconds and retry your request. If the problem persists, contact support@leadmagic.io",
"docs": "https://leadmagic.io/docs/api-reference/errors"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}B2B Person Profile
Retrieve comprehensive B2B person profile data including work experience, education, certifications, and professional metrics.Endpoint Details
- Pricing
- Rate Limits
| Metric | Value |
|---|---|
| Cost | 1 credit per profile |
| No Results | FREE if profile not found |
Per-Endpoint Limit
| Metric | Value |
|---|---|
| Requests/Minute | 100 |
| Burst Capacity | ~2 requests/second |
Quick Example
curl -X POST 'https://api.leadmagic.io/v1/people/profile-search' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"profile_url": "linkedin.com/in/alex-rivera"}'
const response = await fetch('https://api.leadmagic.io/v1/people/profile-search', {
method: 'POST',
headers: {
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
profile_url: 'linkedin.com/in/alex-rivera'
})
});
const profile = await response.json();
console.log(`${profile.full_name} - ${profile.professional_title}`);
import requests
response = requests.post(
'https://api.leadmagic.io/v1/people/profile-search',
headers={'X-API-Key': 'YOUR_API_KEY'},
json={
'profile_url': 'linkedin.com/in/alex-rivera'
}
)
profile = response.json()
print(f"{profile['full_name']} - {profile['professional_title']}")
Request Parameters
Response
Show Current Employment
Show Current Employment
Show Work Experience
Show Work Experience
Show Education & Certifications
Show Education & Certifications
Example Response
{
"profile_url": "linkedin.com/in/alex-rivera",
"first_name": "Alex",
"last_name": "Rivera",
"full_name": "Alex Rivera",
"professional_title": "VP of Sales at LeadMagic",
"company_name": "LeadMagic",
"company_industry": "Technology",
"location": "San Francisco, CA",
"country": "United States",
"followers_range": "10K-15K",
"total_tenure_years": "12",
"bio": "Sales leader with 12+ years experience...",
"work_experience": [
{
"position_title": "VP of Sales",
"company_name": "LeadMagic",
"employment_period": "Jan 2022 - Present"
}
],
"education": [
{
"institution_name": "Stanford University",
"degree": "MBA",
"attendance_period": "2010 - 2012"
}
],
"credits_consumed": 1,
"message": "Profile found."
}
Success Messages
| Message | Meaning | Cost |
|---|---|---|
Profile found. | Full B2B person profile data returned | 1 credit |
Profile not found or not accessible. | Profile doesn’t exist or is private | FREE |
Best Practices
Handle private profiles
Handle private profiles
Chain with other endpoints
Chain with other endpoints
Use Cases
Sales Research
Recruiting
Marketing Personas
Authorizations
Your LeadMagic API key. Header name is case-insensitive (X-API-Key, X-API-KEY, x-api-key all work).
Body
B2B person profile URL or slug
"alex-rivera"
Response
Successful response with profile information
"alex-rivera"
1
"Alex"
"Rivera"
"Alex Rivera"
"Growth & AI Expert | Founder LeadMagic"
"SaaS Founder"
"LeadMagic"
"Internet"
"leadmagic.io"
"205"
"6240"
"17"
Follower count range for privacy (e.g. "45K-50K", "1M+")
"45K-50K"
Show child attributes
Show child attributes
"United States"
"Greater Boston"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.leadmagic.io/v1/people/profile-search \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"profile_url": "alex-rivera"
}
'import requests
url = "https://api.leadmagic.io/v1/people/profile-search"
payload = { "profile_url": "alex-rivera" }
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({profile_url: 'alex-rivera'})
};
fetch('https://api.leadmagic.io/v1/people/profile-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.leadmagic.io/v1/people/profile-search"
payload := strings.NewReader("{\n \"profile_url\": \"alex-rivera\"\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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.leadmagic.io/v1/people/profile-search",
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([
'profile_url' => 'alex-rivera'
]),
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;
}{
"profile_url": "alex-rivera",
"credits_consumed": 1,
"first_name": "Alex",
"last_name": "Rivera",
"full_name": "Alex Rivera",
"professional_title": "Growth & AI Expert | Founder LeadMagic",
"bio": "SaaS Founder",
"company_name": "LeadMagic",
"company_industry": "Internet",
"company_website": "leadmagic.io",
"total_tenure_months": "205",
"total_tenure_days": "6240",
"total_tenure_years": "17",
"followers_range": "45K-50K",
"personal_website": {
"name": "https://leadmagic.io",
"link": "https://leadmagic.io"
},
"country": "United States",
"location": "Greater Boston",
"work_experience": [
{
"position_title": "Founder",
"company_name": "LeadMagic",
"employment_period": "Sep 2022 - Present · 3 yrs 2 mos",
"company_website": "leadmagic.io",
"company_logo_url": "https://logo.leadmagic.io/leadmagic.io"
}
],
"education": [
{
"institution_name": "University of Maine",
"degree": "University of Maine",
"attendance_period": ""
}
],
"certifications": [
{
"certification_name": "Revenue Architect",
"issuing_organization": "Winning by Design",
"issue_date": "Issued Nov 2020"
}
],
"honors": [
{
"title": "Hortonworks - MVP NorthEast - Region - 2016",
"description": "Issued by Hortonworks · Jan 2016"
}
]
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/validation_error",
"title": "Request validation failed. Check your input parameters.",
"status": 400,
"code": "validation_error",
"param": [
"email"
],
"detail": "Email format is invalid. Expected format: user@domain.com",
"action": "Provide a valid email address in the 'email' field.",
"docs": "https://leadmagic.io/docs/api-reference/errors"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/missing_authentication",
"title": "Authentication required. Provide a valid API key in the X-API-Key header (case-insensitive).",
"status": 401,
"code": "missing_authentication",
"docs": "https://leadmagic.io/docs/api-reference/authentication"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/insufficient_credits",
"title": "Insufficient credits: need 5, have 2.50. Add credits to continue.",
"status": 402,
"code": "insufficient_credits",
"detail": "This request requires 5 credit(s) but your account only has 2.50 credits remaining.",
"action": "Add credits to your account at https://app.leadmagic.io/billing or contact support@leadmagic.io for enterprise plans.",
"docs": "https://leadmagic.io/docs/api-reference/credits",
"context": {
"credits_required": 5,
"credits_available": 2.5,
"credits_needed": 2.5
}
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/resource_not_found",
"title": "Resource not found.",
"status": 404,
"code": "resource_not_found",
"docs": "https://leadmagic.io/docs/api-reference/errors"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/rate_limit_exceeded",
"title": "Rate limit exceeded: 300 requests per 1 minute. Wait and try again.",
"status": 429,
"code": "rate_limit_exceeded",
"detail": "You have exceeded the maximum allowed request rate. Please wait before making additional requests.",
"action": "Wait 42 seconds before retrying. Consider implementing exponential backoff.",
"docs": "https://leadmagic.io/docs/api-reference/rate-limits",
"context": {
"limit": 300,
"window": "1 minute",
"remaining": 0,
"reset_at": 1706745642,
"retry_after_seconds": 42
}
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}{
"success": false,
"errors": [
{
"type": "https://api.leadmagic.io/errors/INTERNAL_ERROR",
"title": "Something went wrong on our end. Our team has been notified and is investigating.",
"status": 500,
"code": "INTERNAL_ERROR",
"detail": "This is a temporary server error. The issue has been automatically reported to our team.",
"action": "Wait 30 seconds and retry your request. If the problem persists, contact support@leadmagic.io",
"docs": "https://leadmagic.io/docs/api-reference/errors"
}
],
"meta": {
"request_id": "ea6e3248-f4d2-437d-bca3-20881b529129",
"timestamp": "2024-02-01T12:00:00.000Z"
}
}