Skip to main content
POST
/
v1
/
enrichment
/
persons
/
search
Person Search
curl --request POST \
  --url 'https://api.scrapin.io/v1/enrichment/persons/search?apikey=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "firstName": "<string>",
  "lastName": "<string>",
  "headline": "<string>",
  "companyName": "<string>",
  "currentPositionTitle": "<string>",
  "locationCity": "<string>",
  "locationCountryCode": "<string>",
  "currentCompanyId": "google, google-cloud",
  "companyIndustries": "Accommodation and Food Services,Administration of Justice,Accounting",
  "page": 1
}
'
{
"success": true,
"credits_consumed": 0,
"credits_left": 99.9,
"rate_limit_left": 99,
"daily_rate_limit_left": 999,
"minute_rate_limit_left": 19,
"next_minute_rate_limit_reset": "2024-10-31T12:46:00.000Z",
"metadata": {
"source": "fresh",
"request_id": "000xcc2a-829a-4200-9704-f6f9cf9a23de"
},
"pagination": {
"currentPage": 1,
"totalPages": 5,
"totalResults": 98,
"resultsPerPage": 20
},
"persons": [
{
"publicIdentifier": "johndoe",
"linkedInUrl": "https://www.linkedin.com/in/johndoe",
"firstName": "John",
"lastName": "Doe",
"headline": "Software Engineer at Google",
"currentPositionTitle": "Senior Software Engineer",
"currentCompanyName": "Google",
"updateDate": "2025-10-02T00:00:00.000Z"
},
{
"publicIdentifier": "janedoe",
"linkedInUrl": "https://www.linkedin.com/in/janedoe",
"firstName": "Jane",
"lastName": "Doe",
"headline": "Product Manager | Tech Enthusiast",
"currentPositionTitle": "Senior Product Manager",
"currentCompanyName": "Microsoft",
"updateDate": "2025-09-15T00:00:00.000Z"
}
]
}
Each search costs 0.10 credits per page (maximum 20 results per page). Perfect for bulk lead generation and talent sourcing.

Overview

Search for profiles in our DataLake using advanced filters. This endpoint allows you to find multiple profiles matching specific criteria from our existing database.
DataLake Search: This endpoint searches our existing database with historical data. Check the updateDate field in each result to see when the profile was last refreshed.

🚀 Need Fresh Data?

The search results include an updateDate field showing when each profile was last updated. If the data isn’t recent enough for your needs, you can get live, real-time data using:

Person Profile Data

Extract fresh profile data directly in real-time from the profile URL.
Smart Workflow: Use Person Search to discover candidates, then check the updateDate. If the data is recent enough (e.g., within last 30 days), use it directly. If not, fetch fresh data using Person Profile Data for critical contacts.

Use Cases

Search for potential clients or partners based on job title and company:
{
  "currentPositionTitle": "CTO",
  "companyName": "Tech"
}
Find employees at a specific company using company ID (slug or ID):
{
  "currentCompanyId": "google",
  "currentPositionTitle": "Software Engineer"
}
Or using ID:
{
  "currentCompanyId": 1441,
  "currentPositionTitle": "Product Manager"
}
Find candidates with specific skills and location:
{
  "headline": "React Developer",
  "locationCity": "New York",
  "locationCountryCode": "US"
}
Identify professionals in specific industries:
{
  "currentPositionTitle": "Product Manager",
  "companyName": "Startup"
}
Find alumni or people in your network:
{
  "companyName": "Previous Company",
  "locationCity": "Your City"
}
Target professionals working in specific industries. Use comma-separated values for multiple industries:
{
  "currentPositionTitle": "Product Manager",
  "companyIndustries": "Accommodation and Food Services,Administration of Justice,Accounting"
}
The complete list of available industries can be found in the Scrapin application.
The updateDate field indicates when the profile was last refreshed in our database. For fresher data, use the Person Profile Data endpoint.

Best Practices

Efficient Searching

  • Be specific: Use multiple filters to narrow down results and improve relevance
  • Monitor costs: Each page costs 0.10 credits (20 results per page). Accessing multiple pages will consume additional credits.
  • Check data freshness: Always review the updateDate field. For time-sensitive use cases, consider refreshing older profiles with live scraping.

Hybrid Approach: Search + Live Enrichment

Maximize efficiency and accuracy with this workflow:
  1. Search - Use this endpoint to find relevant profiles
  2. Filter - Review the updateDate to identify which profiles need refreshing
  3. Enrich - Use Person Profile Data to get the freshest data for the profiles you need

Credit Consumption

Per Page

0.10 credits per page (maximum 20 results per page)
Cost-effective for finding multiple profiles. Each page costs 0.10 credits regardless of the number of results (up to 20). Use pagination wisely to manage your credit consumption.

Request Tracking & Reporting

Found incorrect or missing data? Visit your API Logs to view all requests and report issues directly from the web interface.
How to report an issue:
  1. Go to app.scrapin.io/api-logs
  2. Find the request you want to report in the logs table
  3. Click the “Report” button in the Actions column
  4. Select the issue type and add a description
The request_id helps our team investigate and resolve issues quickly. All enrichment requests are automatically logged for your convenience.

Authorizations

apikey
string
query
required

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

application/json
firstName
string

First name of the person (starts with matching). Optional but at least one filter must be provided.

lastName
string

Last name of the person (starts with matching). Optional but at least one filter must be provided.

headline
string

Headline (contains matching). Optional but at least one filter must be provided.

companyName
string

Current company name (starts with matching). Optional but at least one filter must be provided.

currentPositionTitle
string

Current job title (contains matching). Optional but at least one filter must be provided.

locationCity
string

City location (starts with matching). Optional but at least one filter must be provided.

locationCountryCode
string

Country code(s), comma-separated (e.g., 'US,GB,FR'). Optional but at least one filter must be provided.

currentCompanyId

Company identifier - can be either the company slug (string) or ID (number or string). Filter profiles by their current company. Optional but at least one filter must be provided.

Example:

"google, google-cloud"

companyIndustries
string

Filter by company industry/industries. Use comma-separated values for multiple industries (e.g., 'Accommodation and Food Services,Administration of Justice,Accounting'). The complete list of available industries can be found in the Scrapin application. Optional but at least one filter must be provided.

Example:

"Accommodation and Food Services,Administration of Justice,Accounting"

page
integer
default:1

Page number for pagination (default: 1). Results are limited to 20 per page.

Response

The endpoint returns a list of persons matching the search criteria.

success
boolean

Indicates if the request was successful.

credits_consumed
number

Represents the number of credits consumed by this query.

credits_left
number

Represents the usable credits available for the user account after this query.

rate_limit_left
number

Represents the usable daily request limit available for the user account after this query.

daily_rate_limit_left
number

Represents the usable daily request limit available for the user account after this query.

minute_rate_limit_left
number

Represents the usable minute request limit available for the user account after this query.

next_minute_rate_limit_reset
string

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).

metadata
object
pagination
object
persons
object[]

Array of person results.