curl --request GET \
--url https://api.baselayer.com/person_searches \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.baselayer.com/person_searches"
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://api.baselayer.com/person_searches', 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.baselayer.com/person_searches",
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://api.baselayer.com/person_searches"
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://api.baselayer.com/person_searches")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.baselayer.com/person_searches")
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[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "PENDING",
"created_at": "2026-08-31T10:31:07.839963",
"person": {
"id": "3605eec5-940f-4d54-9d48-da1cffe940ac",
"first_name": "John",
"last_name": "Doe",
"ssn": "XXXXX1234",
"created_at": "2025-01-15T12:00:00Z",
"middle_name": "Michael",
"phone_number": "+17075489914",
"email": "johndoe@example.com",
"date_of_birth": "1990-01-15",
"gender": "M",
"marital_status": "married",
"suffix": "Jr.",
"title": "Mr.",
"updated_at": "2025-01-15T12:00:00Z",
"dockets": [],
"liens": [],
"watchlist_hits": []
},
"updated_at": "2026-08-31T10:31:07.839973",
"reference_id": "Search1234",
"tin_matched": true,
"error": "RuntimeError The Search could not be completed.",
"warnings": "IRS Validation is unavailable."
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get Person Searches
curl --request GET \
--url https://api.baselayer.com/person_searches \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.baselayer.com/person_searches"
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://api.baselayer.com/person_searches', 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.baselayer.com/person_searches",
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://api.baselayer.com/person_searches"
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://api.baselayer.com/person_searches")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.baselayer.com/person_searches")
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[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "PENDING",
"created_at": "2026-08-31T10:31:07.839963",
"person": {
"id": "3605eec5-940f-4d54-9d48-da1cffe940ac",
"first_name": "John",
"last_name": "Doe",
"ssn": "XXXXX1234",
"created_at": "2025-01-15T12:00:00Z",
"middle_name": "Michael",
"phone_number": "+17075489914",
"email": "johndoe@example.com",
"date_of_birth": "1990-01-15",
"gender": "M",
"marital_status": "married",
"suffix": "Jr.",
"title": "Mr.",
"updated_at": "2025-01-15T12:00:00Z",
"dockets": [],
"liens": [],
"watchlist_hits": []
},
"updated_at": "2026-08-31T10:31:07.839973",
"reference_id": "Search1234",
"tin_matched": true,
"error": "RuntimeError The Search could not be completed.",
"warnings": "IRS Validation is unavailable."
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Query Parameters
The query param, can either be a search name or a search id. If it is a search id, it will be used to search by id. If it is a search name, it will be used to search by name. If it is not provided, it will be ignored.
Maximum number of records to return in a single page. Must be between 1 and 1000.
1 <= x <= 1000Number of records to skip from the beginning. Use 0 for the first page. Cannot be used with cursor.
x >= 0Opaque pagination cursor token that identifies the position in the result set. Use the cursor from the previous response to get the next page. Cannot be used with offset.
Filter records created on or after this date (format: YYYY-MM-DD).
Filter records created on or before this date (format: YYYY-MM-DD).
IANA timezone identifier used to interpret start_date and end_date (defaults to UTC).
"UTC"
"America/Los_Angeles"
"Europe/London"
Response
List of person searches.
The unique identifier of the search.
The current state of the search.
PENDING, EXECUTING, COMPLETED, FAILED, CANCELLED The datetime the search was created.
"2026-08-31T10:31:07.839963"
The person to search for.
Show child attributes
Show child attributes
The datetime the search was updated at (generally when the search completed).
"2026-08-31T10:31:07.839973"
The reference ID associated with the search.
"Search1234"
Whether the SSN for this person search matches with the name provided
true
Any errors that occurred.
"RuntimeError The Search could not be completed."
Any warnings that occurred.
"IRS Validation is unavailable."