curl --request GET \
--url https://app.tryspecter.com/api/v1/searches/people/{searchId}/results \
--header 'X-API-Key: <api-key>'import requests
url = "https://app.tryspecter.com/api/v1/searches/people/{searchId}/results"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://app.tryspecter.com/api/v1/searches/people/{searchId}/results', 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.tryspecter.com/api/v1/searches/people/{searchId}/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://app.tryspecter.com/api/v1/searches/people/{searchId}/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.tryspecter.com/api/v1/searches/people/{searchId}/results")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.tryspecter.com/api/v1/searches/people/{searchId}/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"person_id": "per_34f8a8ad1f7497b83e821345",
"last_updated": "2026-07-13 17:37:30",
"talent_signal_ids": [
"58323b85-153b-4d3d-8c0c-62dbf41198dc"
],
"investor_signal_ids": [
"0340bac8-bcee-46a2-94bf-cf77e0c34253"
],
"profile_picture_url": "https://peopledb-public.s3.eu-west-2.amazonaws.com/assets/profile-pictures/per_34f8a8ad1f7497b83e821345.jpg",
"first_name": "Cosmin",
"last_name": "Urdea",
"full_name": "Cosmin Urdea",
"linkedin_url": "https://www.linkedin.com/in/cosmin-urdea-0848973",
"linkedin_num_id": 11147428,
"linkedin_urn": "ACoAAEULqT0BasKeraebkQhLfmIwxpxTlNThQjE",
"twitter_url": "https://x.com/moissinac",
"github_url": "https://github.com/sarahchen9776",
"about": "IT Software Consultant / Contractor 20+ years of experience in software development - Systems and Applications Architecture - Product Design / Management - Coach and mentorship.",
"tagline": "Software Consultant / Contractor",
"location": "Bucharest, București, Romania, Europe",
"region": "Europe",
"highlights": [
"major_tech_experience",
"prior_vc_backed_experience",
"strong_technical_background",
"vc_backed_experience"
],
"level_of_seniority": "Senior Level",
"years_of_experience": 21,
"education_level": "",
"experience": [
{
"company_name": "valantic (vormals mm1)",
"company_id": "6744b47c776432406530a72b",
"domain": "mm1.com",
"linkedin_url": "https://www.linkedin.com/company/mm1",
"description": "As an Implementation Engineer at valantic, I play a pivotal role in the technical execution of Stripe integration projects, ensuring precision, efficiency, and robust infrastructure in every implementation.",
"company_size": "51-200",
"industry": [
"Financial Services",
"Financial Technology"
],
"tech_verticals": [
[
"Blockchain, Crypto & Web3",
"Crypto Exchanges and Trading Infrastructure"
]
],
"title": "Senior Consultant Fintech & Digital Payment",
"departments": [
"Finance"
],
"start_date": "2025-04-01",
"end_date": "2025-03-01",
"location": "Stuttgart, Baden-Wurttemberg, Germany, Europe",
"is_current": true,
"founded_year": 1997,
"job_order": 13
}
],
"current_position_title": "Senior Consultant Fintech & Digital Payment",
"current_position_company_name": "valantic (vormals mm1)",
"current_position_company_website": "mm1.com",
"past_position_title": "Product Owner (Contracted)",
"past_position_company_name": "Riverty",
"past_position_company_website": "riverty.com",
"current_tenure": 15,
"average_tenure": 22,
"education": [
{
"name": "Stanford University",
"linkedin_url": "https://www.linkedin.com/school/stanford-university",
"field_of_study": "Computer Science (AI track) and Statistics",
"degree_title": "Bachelor of Science - BS",
"description": "Krieger School of Arts and Sciences",
"start_date": "2024-01-01",
"end_date": "2028-01-01",
"location": "Stanford, California, United States, North America"
}
],
"languages": [
{
"name": "English",
"proficiency_level": "Native Or Bilingual Proficiency"
},
{
"name": "Mandarin Chinese",
"proficiency_level": "Limited Working Proficiency"
}
],
"skills": [
"API Development",
"Agentic AI",
"Algorithms",
"Apache Spark"
],
"linkedin_followers": 904,
"linkedin_connections": 500
}
]{
"errorCode": "BAD_SEARCH_ID_TYPE",
"message": "The search id needs to be a number."
}{
"errorCode": "API_KEY_MISSING",
"message": "No API Key was presented on the header X-API-KEY"
}{
"errorCode": "OUT_OF_CREDITS",
"message": "There are no more credits available to complete the request"
}{
"errorCode": "NOT_PERMITTED",
"message": "API key present, but you are not permitted"
}{
"errorCode": "NOT_FOUND",
"message": "Not Found"
}{
"errorCode": "VALIDATION_ERROR",
"message": "Field required (body.name)"
}{
"errorCode": "RATE_LIMITED",
"message": "You have been rate-limited"
}Get people saved search results
Returns the people matching a saved people search.
Costs 1 credit per result returned.
What you need
A people saved-search ID shared with the API; get one from Get all saved searches, or check counts first with Get people saved search.
Behaviour
- Set
new_results_afterto a timestamp to return only the people added to the search since then — pass back the timestamp of your last read to poll for what is new. It must be within the last 60 days. - Page through with
pageandlimit. - Must be a people search, otherwise
400withNOT_SUPPORTED_PRODUCT. - Returns
404if the search doesn’t exist or isn’t accessible.
What you do next
- Open the profile. Pass a
person_idto Get person by ID. - Get an email. Fetch a verified address with Get person email.
curl --request GET \
--url https://app.tryspecter.com/api/v1/searches/people/{searchId}/results \
--header 'X-API-Key: <api-key>'import requests
url = "https://app.tryspecter.com/api/v1/searches/people/{searchId}/results"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://app.tryspecter.com/api/v1/searches/people/{searchId}/results', 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.tryspecter.com/api/v1/searches/people/{searchId}/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://app.tryspecter.com/api/v1/searches/people/{searchId}/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.tryspecter.com/api/v1/searches/people/{searchId}/results")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.tryspecter.com/api/v1/searches/people/{searchId}/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"person_id": "per_34f8a8ad1f7497b83e821345",
"last_updated": "2026-07-13 17:37:30",
"talent_signal_ids": [
"58323b85-153b-4d3d-8c0c-62dbf41198dc"
],
"investor_signal_ids": [
"0340bac8-bcee-46a2-94bf-cf77e0c34253"
],
"profile_picture_url": "https://peopledb-public.s3.eu-west-2.amazonaws.com/assets/profile-pictures/per_34f8a8ad1f7497b83e821345.jpg",
"first_name": "Cosmin",
"last_name": "Urdea",
"full_name": "Cosmin Urdea",
"linkedin_url": "https://www.linkedin.com/in/cosmin-urdea-0848973",
"linkedin_num_id": 11147428,
"linkedin_urn": "ACoAAEULqT0BasKeraebkQhLfmIwxpxTlNThQjE",
"twitter_url": "https://x.com/moissinac",
"github_url": "https://github.com/sarahchen9776",
"about": "IT Software Consultant / Contractor 20+ years of experience in software development - Systems and Applications Architecture - Product Design / Management - Coach and mentorship.",
"tagline": "Software Consultant / Contractor",
"location": "Bucharest, București, Romania, Europe",
"region": "Europe",
"highlights": [
"major_tech_experience",
"prior_vc_backed_experience",
"strong_technical_background",
"vc_backed_experience"
],
"level_of_seniority": "Senior Level",
"years_of_experience": 21,
"education_level": "",
"experience": [
{
"company_name": "valantic (vormals mm1)",
"company_id": "6744b47c776432406530a72b",
"domain": "mm1.com",
"linkedin_url": "https://www.linkedin.com/company/mm1",
"description": "As an Implementation Engineer at valantic, I play a pivotal role in the technical execution of Stripe integration projects, ensuring precision, efficiency, and robust infrastructure in every implementation.",
"company_size": "51-200",
"industry": [
"Financial Services",
"Financial Technology"
],
"tech_verticals": [
[
"Blockchain, Crypto & Web3",
"Crypto Exchanges and Trading Infrastructure"
]
],
"title": "Senior Consultant Fintech & Digital Payment",
"departments": [
"Finance"
],
"start_date": "2025-04-01",
"end_date": "2025-03-01",
"location": "Stuttgart, Baden-Wurttemberg, Germany, Europe",
"is_current": true,
"founded_year": 1997,
"job_order": 13
}
],
"current_position_title": "Senior Consultant Fintech & Digital Payment",
"current_position_company_name": "valantic (vormals mm1)",
"current_position_company_website": "mm1.com",
"past_position_title": "Product Owner (Contracted)",
"past_position_company_name": "Riverty",
"past_position_company_website": "riverty.com",
"current_tenure": 15,
"average_tenure": 22,
"education": [
{
"name": "Stanford University",
"linkedin_url": "https://www.linkedin.com/school/stanford-university",
"field_of_study": "Computer Science (AI track) and Statistics",
"degree_title": "Bachelor of Science - BS",
"description": "Krieger School of Arts and Sciences",
"start_date": "2024-01-01",
"end_date": "2028-01-01",
"location": "Stanford, California, United States, North America"
}
],
"languages": [
{
"name": "English",
"proficiency_level": "Native Or Bilingual Proficiency"
},
{
"name": "Mandarin Chinese",
"proficiency_level": "Limited Working Proficiency"
}
],
"skills": [
"API Development",
"Agentic AI",
"Algorithms",
"Apache Spark"
],
"linkedin_followers": 904,
"linkedin_connections": 500
}
]{
"errorCode": "BAD_SEARCH_ID_TYPE",
"message": "The search id needs to be a number."
}{
"errorCode": "API_KEY_MISSING",
"message": "No API Key was presented on the header X-API-KEY"
}{
"errorCode": "OUT_OF_CREDITS",
"message": "There are no more credits available to complete the request"
}{
"errorCode": "NOT_PERMITTED",
"message": "API key present, but you are not permitted"
}{
"errorCode": "NOT_FOUND",
"message": "Not Found"
}{
"errorCode": "VALIDATION_ERROR",
"message": "Field required (body.name)"
}{
"errorCode": "RATE_LIMITED",
"message": "You have been rate-limited"
}Authorizations
Path Parameters
The ID of the saved search being requested.
Query Parameters
The number of results to return per page (minimum 1, maximum 5000, default 50).
1 <= x <= 5000The page number of results to return, base 0, default is 0.
x >= 0Only return records added to the search on or after this moment, e.g. 2026-07-10T00:00:00Z. Must be within the last 60 days.
Response
The list of people that were found for the query
The Specter person ID for this person, can be used in people endpoints.
"per_34f8a8ad1f7497b83e821345"
A date for when the person was last updated in Specter. Uses the format YYYY-MM-DD HH:MM:SS.
"2026-07-13 17:37:30"
Talent signal IDs for this person. To read the signals themselves, call Get person talent signals rather than resolving these IDs individually.
["58323b85-153b-4d3d-8c0c-62dbf41198dc"]
Investor-interest signal IDs for this person. There is no per-person investor-interest endpoint; read these signals from the by-date feed.
["0340bac8-bcee-46a2-94bf-cf77e0c34253"]
A url for a profile picture if there is one.
"https://peopledb-public.s3.eu-west-2.amazonaws.com/assets/profile-pictures/per_34f8a8ad1f7497b83e821345.jpg"
First name
"Cosmin"
Last Name
"Urdea"
Full name
"Cosmin Urdea"
URL for LinkedIn account.
"https://www.linkedin.com/in/cosmin-urdea-0848973"
The numeric ID for the LinkedIn account.
11147428
The URN from LinkedIn for the account.
"ACoAAEULqT0BasKeraebkQhLfmIwxpxTlNThQjE"
URL for Twitter account.
"https://x.com/moissinac"
URL for Github account.
"https://github.com/sarahchen9776"
A description of the person.
"IT Software Consultant / Contractor 20+ years of experience in software development - Systems and Applications Architecture - Product Design / Management - Coach and mentorship."
A shorter tagline for the person.
"Software Consultant / Contractor"
Where the person is located.
"Bucharest, București, Romania, Europe"
Main region where the person is located.
"Europe"
Type of highlight, the full list will be added shortly.
[
"major_tech_experience",
"prior_vc_backed_experience",
"strong_technical_background",
"vc_backed_experience"
]
Top level of seniority the person has achieved.
"Senior Level"
Years of experience the person has worked for.
21
Top level of education that the person has.
""
Companies that the person has worked for.
Show child attributes
Show child attributes
Title of the person's current position
"Senior Consultant Fintech & Digital Payment"
Name of the company where the person currently works.
"valantic (vormals mm1)"
Website for the company where the person currently works.
"mm1.com"
Title of the person's last position
"Product Owner (Contracted)"
Name of the company where the person last left.
"Riverty"
Website for the company where the person last left.
"riverty.com"
Length of time the person has been in their current job.
15
Average length of time in a position.
22
Educational background for the person
Show child attributes
Show child attributes
Languages that the person speaks
Show child attributes
Show child attributes
[
{
"name": "English",
"proficiency_level": "Native Or Bilingual Proficiency"
},
{
"name": "Mandarin Chinese",
"proficiency_level": "Limited Working Proficiency"
}
]
List of skills that the person has.
[
"API Development",
"Agentic AI",
"Algorithms",
"Apache Spark"
]
Number of followers the person has on LinkedIn.
904
Number of connections the person has on LinkedIn.
500
Was this page helpful?