> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.wealthatlas.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.wealthatlas.com/_mcp/server.

# Get a single person

GET https://api.wealthatlas.com/v1/partners/people/{person_id}

Retrieve the full profile for a single person by their WealthAtlas ID. Returns biographical info, giving history, education, employment, board affiliations, and more. Contact information is not included. See the [Profile Schema](/guides/profile) guide for details on confidence scores, data sources, and financial fields.

**Cost: 1 credit.**

Reference: https://developer.wealthatlas.com/api-reference/people/get-person

## Authentication

- `x-api-key` header (required) — Your WealthAtlas API key. Contact support@wealthatlas.com to get started.

## Request

### Path parameters

- `person_id` (string, required) — WealthAtlas person ID to retrieve

## Response

### 200

Successful Response

- `person` (APIPerson, required) — Full profile

## Errors

### 402 Payment Required Error

Out of credits in the bucket this endpoint charges (buckets are strictly isolated)

- `error` (string, required)
- `message` (string, required)
- `bucket` (string, required) — The credit bucket that was exhausted
- `available_credits` (integer, required)

### 404 Not Found Error

Person not found

- `any`

### 422 Unprocessable Entity Error

Validation error

- `any`

## Types

### APIPerson

Full profile returned by the Partners API

- `date_last_updated` (date, required) — The date this profile was last updated
- `donoratlas_url` (string, required) — The URL of the person on WealthAtlas
- `id` (string, required) — The WealthAtlas unique identifier for this person
- `name` (PersonName, required) — The full name of the person
- `sex` (string, optional, nullable) — The sex of the person
- `mailing_address` (Address, optional, nullable) — The mailing address of the person
- `city` (string, optional, nullable) — The city of the person
- `state` (string, optional, nullable) — The state of the person
- `age` (integer, optional, nullable) — The age of the person
- `is_deceased` (boolean, optional, nullable) — Whether the person is deceased
- `religion` (string, optional, nullable) — The religion of the person
- `primary_photo_url` (string, optional, nullable) — A signed URL for the person's primary photo, valid for at least an hour. Fetch the image when you need it rather than storing the URL
- `source_urls` (list of string, optional) — Sources where the information on this profile was found
- `bio` (list of string, optional) — Biographical bullet points about the person
- `top_issues` (list of DescribedIssueTag, optional) — Top issues (and their explanations) the person likely supports
- `net_worth_min` (integer, optional, nullable) — Minimum estimated net worth in dollars
- `net_worth_max` (integer, optional, nullable) — Maximum estimated net worth in dollars
- `net_worth_estimate` (integer, optional, nullable) — Best-guess point estimate of net worth in dollars, within the min/max bounds. Present only when the underlying model produced one
- `liquidity_min` (integer, optional, nullable) — Minimum estimated liquid assets (accessible within roughly 12 months) in dollars
- `liquidity_max` (integer, optional, nullable) — Maximum estimated liquid assets (accessible within roughly 12 months) in dollars
- `liquidity_explanation` (string, optional, nullable) — A short natural-language explanation of the liquidity estimate
- `salary` (Salary, optional, nullable) — Estimated annual employment compensation, with a graphable per-year career series
- `income_sources` (list of IncomeSource, optional) — The person's identified income sources
- `assets` (list of Asset, optional) — The person's identified non-cash assets
- `political_stats` (PoliticalStats, optional, nullable) — Political donation statistics
- `nonprofit_stats` (NonprofitStats, optional, nullable) — Nonprofit donation statistics
- `education` (list of Education, optional) — Educational institutions
- `work` (list of Work, optional) — Work history
- `board_affiliations` (list of BoardAffiliation, optional) — Nonprofit board affiliations
- `donations` (list of Donation, optional) — Nonprofit donations
- `private_foundations` (list of PrivateFoundation, optional) — Private foundations

### PersonName

- `first` (string, required)
- `last` (string, required)
- `title` (string, optional, nullable)
- `middle` (string, optional, nullable)
- `suffix` (string, optional, nullable)

### Address

- `street_address` (string, optional, nullable)
- `street_address_line_2` (string, optional, nullable)
- `city` (string, optional, nullable)
- `state` (string, optional, nullable)
- `zip` (string, optional, nullable)

### DescribedIssueTag

- `issue_tag` (enum, required)
  - Allowed values: `AIDS`, `Alzheimers`, `Autism`, `Blind and Visually Impaired`, `Cancer`, `Breast Cancer`, `Deaf/Hearing Impaired`, `Down Syndrome`, `Eating Disorders`, `Healthcare`, `Disabilities`, `Mental Health`, `Public Health`, `Fitness`, `Nutrition`, `Substance Abuse`, `Pro-Abortion`, `Anti-Abortion`, `Bipartisanship`, `Pro Campaign Finance Reform`, `Anti Campaign Finance Reform`, `Civil Rights`, `LGBT Rights`, `Racial Justice`, `Women's Rights`, `Voting Rights`, `Criminal Justice`, `Pro Cryptocurrency`, `Anti Cryptocurrency`, `Pro Death Penalty`, `Anti Death Penalty`, `Democracy Reform`, `Pro Limited Government`, `Pro Gun Control`, `Anti Gun Control`, `Pro Immigration`, `Anti Immigration`, `International Affairs`, `International Development`, `International Relief`, `Pro-Israel`, `Pro-Palestine`, `Pro Marijuana Legalization`, `Anti Marijuana Legalization`, `Law`, `National Security`, `Public Policy`, `Pro Public Transportation`, `Anti Public Transportation`, `Pro Vaccination`, `Anti Vaccination`, `Adoption`, `Child Abuse`, `Childcare`, `Community Development`, `Community Service`, `Disaster Relief`, `Domestic Violence`, `Family Services`, `Foster Care`, `Food`, `Homelessness`, `Housing`, `Low-Income Housing`, `Human Rights`, `Human Services`, `Senior Citizens`, `Sexual Abuse`, `Veterans`, `Youth`, `Agriculture`, `Animals`, `Environment`, `Climate`, `Conservation`, `Fishing`, `Gardening`, `Oceans`, `Parks`, `Wildlife`, `Economic Development`, `Pro Labor`, `Anti Labor`, `Pro Tariffs`, `Anti Tariffs`, `Pro Taxes`, `Anti Taxes`, `Pro Union`, `Anti Union`, `Science`, `Biology`, `Chemistry`, `Earth Science`, `Geology`, `Astronomy`, `Physics`, `Mathematics`, `Technology`, `Computer Science`, `Engineering`, `Humanities`, `Ethnic Studies`, `Sociology`, `Political Science`, `Population Studies`, `Education`, `Arts Education`, `Science Education`, `Special Education`, `Scholarships & Student Financial Aid`, `Research`, `Medical Research`, `Arts`, `Dance`, `Music`, `Performing Arts`, `Opera`, `Theater`, `Visual Arts`, `Equestrian`, `Media`, `Printing & Publishing`, `Sports`, `Olympics`, `Special Olympics`, `Professional Sports`, `Youth Sports`, `Soccer`, `Basketball`, `Football`, `Racquet Sports`, `Baseball/Softball`, `Golf`, `Swimming & Water Sports`, `Religion`, `Buddhism`, `Catholicism`, `Christianity`, `Hinduism`, `Islam`, `Judaism`, `Protestantism`, `Gun Control`, `Gun Rights`, `Animal Shelters`, `Zoos & Aquariums`, `Wildlife Preservation & Protection`, `Art Museums`, `Folk Arts`, `Ballet`, `Symphony Orchestras`, `Singing & Choral Groups`, `Bands & Ensembles`, `Performing Arts Schools`, `Environmental Education`, `Libraries`, `Charter Schools`, `Food Banks`, `Meals on Wheels`, `Nursing Homes`, `Hospice`, `Hospitals`, `Retirement Homes`, `Tenants' Associations`, `Neighborhood Centers`, `Senior Centers`, `Disability Centers`, `Women's Centers`, `Immigrant Centers`, `Homeless Centers`, `Blind & Visually Impaired Centers`, `Deaf & Hearing Impaired Centers`, `LGBT+ Centers`, `Economics`, `Psychology`, `Law & Jurisprudence`, `Interdisciplinary Research`, `Womens Studies`, `International Studies`, `Gerontology`, `Labor Studies`, `Film & Video`, `Television`, `Radio`, `Childrens Museums`, `History Museums`, `Natural History & Natural Science Museums`, `Science & Technology Museums`, `Historical Organizations`, `Museums`, `Earth Sciences`, `Community Recreation`, `Amateur Sports`, `Raquet Sports`, `Swimming & Other Water Recreation`, `Winter Sports`, `Boys & Girls Clubs`, `Mentorship`, `Farm Bureaus`, `Law Enforcement`, `Fire Prevention`, `Employment Assistance`, `Free Trade`, `Gun Rights`, `Lower Taxes`, `Deregulation`, `Pro Choice`, `Protestant`, `Camps`, `Fairs`, `Low Income Housing`, `Baseball & Softball`, `Public Transportation`, `Cryptocurrency`, `Democracy`, `Campaign Finance Reform`, `Immigration`, `LGBT+ Rights`, `Limited Government`, `Marijuana`, `Tariffs`, `Union`, `Pro Israel`, `Pro Palestine`
- `description` (string, required)

### Salary

Estimated annual employment compensation, aggregated across salaried roles

- `min` (integer, required) — Low end of the current (or most recent) estimated annual compensation in dollars
- `max` (integer, required) — High end of the current (or most recent) estimated annual compensation in dollars
- `by_year` (map from string to list of any, required) — Estimated annual compensation by calendar year, as [min, max] dollar ranges keyed by year. Covers the person's priced career up to the current year, so it can be graphed as an earnings trajectory. When the person holds several salaried roles at once, each year sums the roles active that year

### IncomeSource

One identified source of the person's income

- `type` (string, required) — The kind of income: 'salary', 'profit_share', 'fund_salary', 'fund_carry', 'fund_mgmt_fee', 'performance_earnings', 'inheritance', 'realized_proceeds', 'other'
- `frequency` (enum, required) — 'annual' for an ongoing flow (amounts are a yearly rate) or 'one_time' for a single event (amounts are the total from the event)
  - Allowed values: `annual`, `one_time`
- `amount_min` (integer, required) — Low end of the estimated amount in dollars
- `amount_max` (integer, required) — High end of the estimated amount in dollars
- `name` (string, optional, nullable) — The company, fund, estate, or other entity the income comes from
- `role` (string, optional, nullable) — The person's role at that entity, when applicable
- `year_range` (list of any, optional, nullable) — The [start, end] years the income covers. Both ends equal the event year for one-time income
- `description` (string, optional, nullable) — A short natural-language summary of this income source

### Asset

One identified non-cash asset of the person

- `type` (string, required) — The kind of asset: 'public_equity', 'private_equity', 'real_estate', 'investment_vehicle', 'other'
- `value_min` (integer, required) — Low end of the estimated value in dollars
- `value_max` (integer, required) — High end of the estimated value in dollars
- `name` (string, optional, nullable) — The company, vehicle, or holding the asset represents
- `description` (string, optional, nullable) — A short natural-language summary of this asset

### PoliticalStats

- `capacity` (integer, required) — Predicted total dollar amount of political donations for this 2-year political cycle
- `avg_amt` (double, required) — Average political donation amount
- `total_donation_count` (integer, required) — Total number of political donations
- `total_amt` (integer, required) — Total dollar amount of political donations
- `per_year` (PerYear, required) — Political donation amounts by year
- `amt_to_democrats` (integer, required) — Total dollar amount of political donations to Democratic candidates
- `amt_to_republicans` (integer, required) — Total dollar amount of political donations to Republican candidates
- `amt_to_libertarians` (integer, required) — Total dollar amount of political donations to Libertarian candidates
- `amt_to_green_party` (integer, required) — Total dollar amount of political donations to Green Party candidates
- `amt_to_independents` (integer, required) — Total dollar amount of political donations to Independent candidates
- `amt_to_no_party` (integer, required) — Total dollar amount of political donations to No Party candidates
- `amt_to_presidential` (integer, required) — Total dollar amount of political donations to Presidential candidates
- `amt_to_congressional` (integer, required) — Total dollar amount of political donations to Congressional candidates
- `amt_to_state_local` (integer, required) — Total dollar amount of political donations to state and local candidates

### NonprofitStats

- `total_donation_count` (integer, required) — Total number of nonprofit donations
- `capacity` (NonprofitGivingCapacity, optional, nullable) — Predicted nonprofit giving capacity with explanations. See the Profile Schema guide for details
- `avg_amt` (double, optional, nullable) — Average nonprofit donation amount in dollars
- `total_amt_range` (list of any, optional, nullable) — Estimated range of total dollar amount donated to nonprofits [min, max]. This is a range rather than a precise number because nonprofit donations are most often reported in bands (e.g., '$1,000–$4,999') rather than exact amounts

### Education

- `institution_name` (string, required) — The name of the educational institution
- `institution_url` (string, optional, nullable) — The URL of the educational institution on WealthAtlas
- `degree` (string, optional, nullable) — The degree earned at this institution
- `graduation_year` (integer, optional, nullable) — The year of graduation from this institution
- `start_date` (date, optional, nullable) — The start date of attendance
- `end_date` (date, optional, nullable) — The end date of attendance
- `source_urls` (list of string, optional) — Public source URLs where this information was found

### Work

- `company_name` (string, required) — The name of the company
- `company_url` (string, optional, nullable) — The URL of the company on WealthAtlas
- `job_title` (string, optional, nullable) — The job title at this company
- `start_date` (date, optional, nullable) — The start date of employment
- `end_date` (date, optional, nullable) — The end date of employment
- `source_urls` (list of string, optional) — Public source URLs where this information was found

### BoardAffiliation

- `name` (string, required) — The name of the nonprofit
- `title` (string, required) — The title of the board affiliation
- `source_urls` (list of string, required) — Public source URLs where this information was found
- `probability` (double, required) — Confidence score (0-1) that this board record belongs to this person. See the Profile Schema guide for details
- `nonprofit_url` (string, optional, nullable) — The URL of the nonprofit on WealthAtlas
- `year_range` (list of any, optional, nullable) — The range of years this person served on the board

### Donation

- `name` (string, required) — The name of the nonprofit
- `source_urls` (list of string, required) — Public source URLs where this information was found
- `probability` (double, required) — Confidence score (0-1) that this donation record belongs to this person. See the Profile Schema guide for details
- `nonprofit_url` (string, optional, nullable) — The URL of the nonprofit on WealthAtlas
- `amount_range` (list of any, optional, nullable) — Estimated total donation amount range [min, max] in dollars, aggregated across all matching records
- `year_range` (list of any, optional, nullable) — The range of years this person donated to this nonprofit

### PrivateFoundation

- `name` (string, required) — The name of the private foundation
- `relationship` (string, required) — The person's relationship to the private foundation
- `nonprofit_url` (string, optional, nullable) — The URL of the nonprofit on WealthAtlas
- `revenue` (double, optional, nullable) — The most recent end-of-year revenue of the private foundation
- `assets` (double, optional, nullable) — The most recent end-of-year assets of the private foundation
- `source_urls` (list of string, optional) — Public source URLs where this information was found

### PerYear

- `2012` (integer, required)
- `2014` (integer, required)
- `2016` (integer, required)
- `2018` (integer, required)
- `2020` (integer, required)
- `2022` (integer, required)
- `2024` (integer, required)

### NonprofitGivingCapacity

Predicted nonprofit giving capacity with explanations of the contributing factors

- `predicted_annual_giving` (integer, required) — Predicted annual nonprofit giving capacity in dollars
- `explanations` (list of GivingCapacityExplanation, optional) — Factors that contributed to this giving capacity prediction

### GivingCapacityExplanation

Explanation for a predicted giving capacity estimate

- `title` (string, required) — Short label for the factor
- `reason` (string, required) — Explanation of how this factor contributes to the estimate

## Examples

**Response**

```json
{
  "person": {
    "date_last_updated": "2025-12-01",
    "donoratlas_url": "https://app.wealthatlas.com/donor/abc123",
    "id": "abc123",
    "name": {
      "first": "string",
      "last": "string",
      "title": "string",
      "middle": "string",
      "suffix": "string"
    },
    "sex": "Male",
    "mailing_address": {
      "street_address": "string",
      "street_address_line_2": "string",
      "city": "string",
      "state": "string",
      "zip": "string"
    },
    "city": "string",
    "state": "string",
    "age": 45,
    "is_deceased": true,
    "religion": "Christian",
    "primary_photo_url": "string",
    "source_urls": [
      "https://example.com"
    ],
    "bio": [
      "string"
    ],
    "top_issues": [
      {
        "issue_tag": "AIDS",
        "description": "string"
      }
    ],
    "net_worth_min": 1000000,
    "net_worth_max": 5000000,
    "net_worth_estimate": 12000000,
    "liquidity_min": 1000000,
    "liquidity_max": 4000000,
    "liquidity_explanation": "string",
    "salary": {
      "min": 180000,
      "max": 260000,
      "by_year": {
        "2019": [
          90000,
          130000
        ],
        "2025": [
          180000,
          260000
        ]
      }
    },
    "income_sources": [
      {
        "type": "salary",
        "frequency": "annual",
        "amount_min": 400000,
        "amount_max": 700000,
        "name": "Acme Corp",
        "role": "Chief Executive Officer",
        "year_range": [
          "2018",
          "2025"
        ],
        "description": "string"
      }
    ],
    "assets": [
      {
        "type": "public_equity",
        "value_min": 1000000,
        "value_max": 4000000,
        "name": "Acme Corp",
        "description": "string"
      }
    ],
    "political_stats": {
      "capacity": 85000,
      "avg_amt": 250,
      "total_donation_count": 87,
      "total_amt": 100000,
      "per_year": {
        "2012": 1,
        "2014": 1,
        "2016": 1,
        "2018": 1,
        "2020": 1,
        "2022": 1,
        "2024": 1
      },
      "amt_to_democrats": 20000,
      "amt_to_republicans": 20000,
      "amt_to_libertarians": 20000,
      "amt_to_green_party": 20000,
      "amt_to_independents": 20000,
      "amt_to_no_party": 0,
      "amt_to_presidential": 20000,
      "amt_to_congressional": 10000,
      "amt_to_state_local": 50000
    },
    "nonprofit_stats": {
      "total_donation_count": 45,
      "capacity": {
        "predicted_annual_giving": 125000,
        "explanations": [
          {
            "title": "Real Estate Holdings",
            "reason": "Owns $2.5M property in Manhattan"
          }
        ]
      },
      "avg_amt": 5000,
      "total_amt_range": [
        "50000",
        "100000"
      ]
    },
    "education": [
      {
        "institution_name": "Harvard University",
        "institution_url": "string",
        "degree": "Bachelor of Arts",
        "graduation_year": 2015,
        "start_date": "2023-01-15",
        "end_date": "2023-01-15",
        "source_urls": [
          "www.example.com"
        ]
      }
    ],
    "work": [
      {
        "company_name": "Apple Inc.",
        "company_url": "string",
        "job_title": "Chief Executive Officer",
        "start_date": "2023-01-15",
        "end_date": "2023-01-15",
        "source_urls": [
          "www.example.com"
        ]
      }
    ],
    "board_affiliations": [
      {
        "name": "string",
        "title": "Treasurer",
        "source_urls": [
          "www.example.com"
        ],
        "probability": 0.95,
        "nonprofit_url": "string",
        "year_range": [
          "2020",
          "2025"
        ]
      }
    ],
    "donations": [
      {
        "name": "string",
        "source_urls": [
          "www.example.com"
        ],
        "probability": 0.95,
        "nonprofit_url": "string",
        "amount_range": [
          "250",
          "499"
        ],
        "year_range": [
          "2023",
          "2025"
        ]
      }
    ],
    "private_foundations": [
      {
        "name": "Smith Family Foundation",
        "relationship": "Trustee",
        "nonprofit_url": "string",
        "revenue": 250000,
        "assets": 5000000,
        "source_urls": [
          "www.example.com"
        ]
      }
    ]
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.wealthatlas.com/v1/partners/people/person_id"

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.wealthatlas.com/v1/partners/people/person_id';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.wealthatlas.com/v1/partners/people/person_id"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.wealthatlas.com/v1/partners/people/person_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.wealthatlas.com/v1/partners/people/person_id")
  .header("x-api-key", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.wealthatlas.com/v1/partners/people/person_id', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.wealthatlas.com/v1/partners/people/person_id");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.wealthatlas.com/v1/partners/people/person_id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```