Skip to main content
GET
/
api
/
npd
US NPD Search
curl --request GET \
  --url https://www.osintcat.net/api/npd \
  --header 'X-API-KEY: <x-api-key>'
[
    {
        "identity": {
            "firstname": "JOHN",
            "lastname": "DOE",
            "ssn": "xxx-xx-xxxx"
        },
        "location": {
            "address": "123 MAIN ST APT 4B",
            "city": "LOS ANGELES",
            "state": "CA",
            "zip": "90001"
        },
        "contact": {
            "phone": "555-019-2831"
        },
        "personal": {
            "dob": "1980-05-14"
        },
        "raw_data": {
            "address": "123 MAIN ST APT 4B",
            "city": "LOS ANGELES",
            "county": "LOS ANGELES",
            "dob": "1980-05-14",
            "firstname": "JOHN",
            "lastname": "DOE",
            "mobile": "555-019-2831",
            "state": "CA",
            "zip": "90001"
        },
        "source": "NPD_2024"
    }
]
The National Public Data (NPD) endpoint allows you to query a massive leak of US personal records. Due to the size of the database, you are required to provide either a highly unique identifier (like an SSN) OR a combination of a First and Last name. To improve the accuracy of your results and reduce “noise” (false positives), it is highly recommended to combine name queries with a location (state, city, or zip).

Best Practices for Querying

  • Exact Matches (Direct Hit): If you have a Social Security Number (ssn), only pass the ssn parameter. This will yield the most accurate and unique direct hit.
  • Name Targeting: When querying by name (first_name and last_name), there will often be too many matches for common names. If possible, add state or dob to narrow down the results specifically.
  • Wildcards: The first_name and last_name parameters automatically act as partial matching queries (e.g. “John” will match “Johnny”). Keep this in mind when typing short names.

Parameters

You must provide either an ssn OR both first_name and last_name.
first_name
string
First name of the person (required if SSN is not provided).
last_name
string
Last name of the person (required if SSN is not provided).
ssn
string
Social Security Number (required if First and Last name are not provided). Format can be flexible depending on the raw data, but standard 000-00-0000 or 000000000 is recommended.
phone
string
Optional phone number filter.
city
string
Optional city filter (e.g., Los Angeles).
state
string
Optional state filter (e.g., CA, NY). Use the standard two-letter abbreviation.
zip
string
Optional zip code filter.
dob
string
Optional date of birth filter.

Headers

X-API-KEY
string
required
Your OsintCat API key.

Response Structure

The endpoint responds with a structured JSON containing a meta object with performance metrics and a data array containing the matched identities.
[
    {
        "identity": {
            "firstname": "JOHN",
            "lastname": "DOE",
            "ssn": "xxx-xx-xxxx"
        },
        "location": {
            "address": "123 MAIN ST APT 4B",
            "city": "LOS ANGELES",
            "state": "CA",
            "zip": "90001"
        },
        "contact": {
            "phone": "555-019-2831"
        },
        "personal": {
            "dob": "1980-05-14"
        },
        "raw_data": {
            "address": "123 MAIN ST APT 4B",
            "city": "LOS ANGELES",
            "county": "LOS ANGELES",
            "dob": "1980-05-14",
            "firstname": "JOHN",
            "lastname": "DOE",
            "mobile": "555-019-2831",
            "state": "CA",
            "zip": "90001"
        },
        "source": "NPD_2024"
    }
]

Example Requests

curl "https://www.osintcat.net/api/npd?first_name=John&last_name=Doe&state=CA" \
     -H "X-API-KEY: YOUR_API_KEY"