curl --request POST \
--url 'https://api.scrapin.io/v1/enrichment/match?apikey=' \
--header 'Content-Type: application/json' \
--data '
{
"includes": {
"includeCompany": true,
"includeSummary": true,
"includeFollowersCount": true,
"includeCreationDate": true,
"includeSkills": true,
"includeLanguages": true,
"includeExperience": true,
"includeEducation": true,
"includeCertifications": true
},
"firstName": "<string>",
"lastName": "<string>",
"companyDomain": "<string>",
"companyName": "<string>",
"email": "<string>",
"cacheDuration": "2d"
}
'import requests
url = "https://api.scrapin.io/v1/enrichment/match?apikey="
payload = {
"includes": {
"includeCompany": True,
"includeSummary": True,
"includeFollowersCount": True,
"includeCreationDate": True,
"includeSkills": True,
"includeLanguages": True,
"includeExperience": True,
"includeEducation": True,
"includeCertifications": True
},
"firstName": "<string>",
"lastName": "<string>",
"companyDomain": "<string>",
"companyName": "<string>",
"email": "<string>",
"cacheDuration": "2d"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
includes: {
includeCompany: true,
includeSummary: true,
includeFollowersCount: true,
includeCreationDate: true,
includeSkills: true,
includeLanguages: true,
includeExperience: true,
includeEducation: true,
includeCertifications: true
},
firstName: '<string>',
lastName: '<string>',
companyDomain: '<string>',
companyName: '<string>',
email: '<string>',
cacheDuration: '2d'
})
};
fetch('https://api.scrapin.io/v1/enrichment/match?apikey=', 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://api.scrapin.io/v1/enrichment/match?apikey=",
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([
'includes' => [
'includeCompany' => true,
'includeSummary' => true,
'includeFollowersCount' => true,
'includeCreationDate' => true,
'includeSkills' => true,
'includeLanguages' => true,
'includeExperience' => true,
'includeEducation' => true,
'includeCertifications' => true
],
'firstName' => '<string>',
'lastName' => '<string>',
'companyDomain' => '<string>',
'companyName' => '<string>',
'email' => '<string>',
'cacheDuration' => '2d'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://api.scrapin.io/v1/enrichment/match?apikey="
payload := strings.NewReader("{\n \"includes\": {\n \"includeCompany\": true,\n \"includeSummary\": true,\n \"includeFollowersCount\": true,\n \"includeCreationDate\": true,\n \"includeSkills\": true,\n \"includeLanguages\": true,\n \"includeExperience\": true,\n \"includeEducation\": true,\n \"includeCertifications\": true\n },\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyDomain\": \"<string>\",\n \"companyName\": \"<string>\",\n \"email\": \"<string>\",\n \"cacheDuration\": \"2d\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.scrapin.io/v1/enrichment/match?apikey=")
.header("Content-Type", "application/json")
.body("{\n \"includes\": {\n \"includeCompany\": true,\n \"includeSummary\": true,\n \"includeFollowersCount\": true,\n \"includeCreationDate\": true,\n \"includeSkills\": true,\n \"includeLanguages\": true,\n \"includeExperience\": true,\n \"includeEducation\": true,\n \"includeCertifications\": true\n },\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyDomain\": \"<string>\",\n \"companyName\": \"<string>\",\n \"email\": \"<string>\",\n \"cacheDuration\": \"2d\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scrapin.io/v1/enrichment/match?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"includes\": {\n \"includeCompany\": true,\n \"includeSummary\": true,\n \"includeFollowersCount\": true,\n \"includeCreationDate\": true,\n \"includeSkills\": true,\n \"includeLanguages\": true,\n \"includeExperience\": true,\n \"includeEducation\": true,\n \"includeCertifications\": true\n },\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyDomain\": \"<string>\",\n \"companyName\": \"<string>\",\n \"email\": \"<string>\",\n \"cacheDuration\": \"2d\"\n}"
response = http.request(request)
puts response.read_bodyPerson Profile Match
This operation allows you to match a single person profile from various parameters. It returns profile data with credits and rate limit information. This operation consumes 2 credits (or 1 credit if served from cache).
curl --request POST \
--url 'https://api.scrapin.io/v1/enrichment/match?apikey=' \
--header 'Content-Type: application/json' \
--data '
{
"includes": {
"includeCompany": true,
"includeSummary": true,
"includeFollowersCount": true,
"includeCreationDate": true,
"includeSkills": true,
"includeLanguages": true,
"includeExperience": true,
"includeEducation": true,
"includeCertifications": true
},
"firstName": "<string>",
"lastName": "<string>",
"companyDomain": "<string>",
"companyName": "<string>",
"email": "<string>",
"cacheDuration": "2d"
}
'import requests
url = "https://api.scrapin.io/v1/enrichment/match?apikey="
payload = {
"includes": {
"includeCompany": True,
"includeSummary": True,
"includeFollowersCount": True,
"includeCreationDate": True,
"includeSkills": True,
"includeLanguages": True,
"includeExperience": True,
"includeEducation": True,
"includeCertifications": True
},
"firstName": "<string>",
"lastName": "<string>",
"companyDomain": "<string>",
"companyName": "<string>",
"email": "<string>",
"cacheDuration": "2d"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
includes: {
includeCompany: true,
includeSummary: true,
includeFollowersCount: true,
includeCreationDate: true,
includeSkills: true,
includeLanguages: true,
includeExperience: true,
includeEducation: true,
includeCertifications: true
},
firstName: '<string>',
lastName: '<string>',
companyDomain: '<string>',
companyName: '<string>',
email: '<string>',
cacheDuration: '2d'
})
};
fetch('https://api.scrapin.io/v1/enrichment/match?apikey=', 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://api.scrapin.io/v1/enrichment/match?apikey=",
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([
'includes' => [
'includeCompany' => true,
'includeSummary' => true,
'includeFollowersCount' => true,
'includeCreationDate' => true,
'includeSkills' => true,
'includeLanguages' => true,
'includeExperience' => true,
'includeEducation' => true,
'includeCertifications' => true
],
'firstName' => '<string>',
'lastName' => '<string>',
'companyDomain' => '<string>',
'companyName' => '<string>',
'email' => '<string>',
'cacheDuration' => '2d'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://api.scrapin.io/v1/enrichment/match?apikey="
payload := strings.NewReader("{\n \"includes\": {\n \"includeCompany\": true,\n \"includeSummary\": true,\n \"includeFollowersCount\": true,\n \"includeCreationDate\": true,\n \"includeSkills\": true,\n \"includeLanguages\": true,\n \"includeExperience\": true,\n \"includeEducation\": true,\n \"includeCertifications\": true\n },\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyDomain\": \"<string>\",\n \"companyName\": \"<string>\",\n \"email\": \"<string>\",\n \"cacheDuration\": \"2d\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.scrapin.io/v1/enrichment/match?apikey=")
.header("Content-Type", "application/json")
.body("{\n \"includes\": {\n \"includeCompany\": true,\n \"includeSummary\": true,\n \"includeFollowersCount\": true,\n \"includeCreationDate\": true,\n \"includeSkills\": true,\n \"includeLanguages\": true,\n \"includeExperience\": true,\n \"includeEducation\": true,\n \"includeCertifications\": true\n },\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyDomain\": \"<string>\",\n \"companyName\": \"<string>\",\n \"email\": \"<string>\",\n \"cacheDuration\": \"2d\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scrapin.io/v1/enrichment/match?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"includes\": {\n \"includeCompany\": true,\n \"includeSummary\": true,\n \"includeFollowersCount\": true,\n \"includeCreationDate\": true,\n \"includeSkills\": true,\n \"includeLanguages\": true,\n \"includeExperience\": true,\n \"includeEducation\": true,\n \"includeCertifications\": true\n },\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"companyDomain\": \"<string>\",\n \"companyName\": \"<string>\",\n \"email\": \"<string>\",\n \"cacheDuration\": \"2d\"\n}"
response = http.request(request)
puts response.read_bodycacheDuration parameter to enable
caching and reduce costs. Cache hits consume only 1 credit instead of 2
credits. See the request parameters below for details.How Caching Works
Cache Hit
Cache Miss
positionHistory, educationHistory, and certificationHistory fields return all positions, education entries, and certifications available on the profile.Request Tracking & Reporting
- Go to app.scrapin.io/api-logs
- Find the request you want to report in the logs table
- Click the “Report” button in the Actions column
- Select the issue type and add a description
request_id helps our team investigate and resolve issues quickly. All
enrichment requests are automatically logged for your convenience.Authorizations
This required parameter is a string. It represents the APIKEY obtained from the developer dashboard. You must use it in the query string of your request as ?apikey=YOUR_API_KEY or in the headers as x-api-key: YOUR_API_KEY
Body
This required parameter is an object. It specifies which additional data to include in the response.
Show child attributes
Show child attributes
This optional parameter is a string. It represents the first name to body.
This optional parameter is a string. It represents the last name to body.
This optional parameter is a string. It represents the company domain/URL to body. *You can use current or any previous company to that person.
This optional parameter is a string. It represents the company name to body. *You can use current or any previous company to that person.
This optional parameter is a string. It represents the email to body.
Optional parameter to enable caching. Accepts duration strings like '4h', '2d', '1w', '2mo', '1y'. We use the parse-duration library internally to parse these values. If the profile is found in cache within this duration, only 1 credit is consumed. Otherwise, fresh data is scraped for 2 credits.
"2d"
Response
The endpoint returns profile information.
Indicates success or failure of api request.
Represents the number of credits consumed by this query.
Represents the usable credits available for the user account after this query.
Represents the usable daily request limit available for the user account after this query.
Represents the usable daily request limit available for the user account after this query.
Represents the usable minute request limit available for the user account after this query.
Represents the next minute rate limit reset for the user account after this query. Datetime in ISO 8601 format (e.g., 2025-11-14T14:34:43.000Z).
Structured quota information for the user account. Provides the same data as the flat fields above in a more organized format.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes