KeyVex
Congress & government officials

Member Profiles

Returns Congressional member profiles from the unitedstates/ congress-legislators catalog. Each record is one current House Representative or Senator, keyed by bioguide_id (the permanent member identifier — e.g., 'C001035' for Susan Collins).

EndpointGET /v1/member-profile
SourceCongress member roster
Authx-api-key — a free key works

What it returns

One record per result. Fields (from a live response):

Filters

bioguide_idPermanent member identifier — letter + 6 digits (e.g., 'C001035' for Susan Collins, 'P000197' for Nancy Pelosi). Direct doc lookup, fastest path.
member_nameCase-insensitive substring against full_name. Example: 'Pelosi' returns Nancy Pelosi.
state2-letter state abbreviation (e.g., 'ME', 'CA'). Filters to members from that state — useful with chamber=senate to get the 2 senators from a state.
chamberFilter to House Representatives or Senators.
party'Democrat' | 'Republican' | 'Independent' | etc. Exact match — uses the YAML's spelling.
committee_idThomas committee code (full committee like 'HSAS' or subcommittee like 'HSAG15'). Returns all members of that committee.
limitMaximum records to return. Default 50, max 600 (~current Congress size).

Example request

curl "https://api.keyvex.com/v1/member-profile?limit=1" \
  -H "x-api-key: YOUR_KEY"

Response

{
  "results": [
    {
      "birthday": "1967-01-25",
      "bioguide_id": "B001314",
      "gender": "M",
      "current_term_start": "2025-01-03",
      "current_term_end": "2027-01-03",
      "last_name": "Bean",
      "senate_class": null,
      "middle_name": "Paul",
      "full_name": "Aaron Bean",
      "terms_count": 2,
      "chamber": "house",
      "committee_assignments": [
        {
          "committee_id": "HSWM",
          "committee_name": "House Committee on Ways and Means",
          "committee_type": "house",
          "is_subcommittee": false,
          "parent_committee_id": null,
          "party_role": "majority",
          "rank": 25,
          "leadership_title": ""
        },
        {
          "committee_id": "HSWM01",
          "committee_name": "Social Security",
          "committee_type": "house",
          "is_subcommittee": true,
          "parent_committee_id": "HSWM",
          "party_role": "majority",
          "rank": 4,
          "leadership_title": ""
        },
        {
          "committee_id": "HSWM06",
          "committee_name": "Oversight",
          "committee_type": "house",
          "is_subcommittee": true,
          "parent_committee_id": "HSWM",
          "party_role": "majority",
          "rank": 7,
          "leadership_title": ""
        },
        {
          "committee_id": "HSWM03",
          "committee_name": "Work and Welfare",
          "committee_type": "house",
          "is_subcommittee": true
      …
    }
  ],
  "count": 1,
  "has_more": true
}

Example questions you can answer

Related datasets

Query Member Profiles from your AI

Hand any AI your key + the OpenAPI spec and it can pull this dataset directly. Free key = full data, 60 requests/day.

Get a free key OpenAPI spec → REST docs →
← All 60+ datasets