# Congress.gov Members Scraper | US House & Senate Directory (`parseforge/congress-gov-members-scraper`) Actor

Export US House and Senate members from congress.gov: name, party, state, district, chamber, term years, bioguide ID and official portrait. Filter by Congress, state, district and current-serving status. CSV, Excel, JSON or XML for government affairs and outreach.

- **URL**: https://apify.com/parseforge/congress-gov-members-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏛 Congress.gov Members Scraper

> 🚀 **Export US House and Senate members in seconds. Names, parties, states, districts, terms, bioguide IDs.**

> 🕒 **Last updated:** 2026-05-26 · **📊 13 fields** per record · **Federal scale** · **All US Congress members past and present**

Congress.gov is the official source for US legislative biographies. This actor queries the api.congress.gov member endpoint and returns one row per member.

Coverage spans current and historical members from both chambers, every state, every district.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Government affairs teams | Build outreach lists |
| Journalists | Cover Congress |
| Civic tech | Power dashboards |
| Researchers | Study legislative careers |

### 📋 What the Congress.gov Members Scraper does

- Pulls members from the official congress.gov API
- Filters by Congress, state, district, current-serving
- Returns name, party, state, district, term, bioguide ID, photo URL
- Includes direct API link per member

> 💡 **Why it matters:** Knowing who represents whom is the foundation of any government affairs workflow.

### 🎬 Full Demo (_🚧 Coming soon_)

### ⚙️ Input

<table>
<thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead>
<tbody>
<tr><td>maxItems</td><td>integer</td><td>Cap on rows</td></tr>
<tr><td>congress</td><td>integer</td><td>Congress number</td></tr>
<tr><td>stateCode</td><td>enum</td><td>50 US states</td></tr>
<tr><td>district</td><td>integer</td><td>House district</td></tr>
<tr><td>currentMember</td><td>boolean</td><td>Currently serving only</td></tr>
<tr><td>apiKey</td><td>string</td><td>Optional congress.gov key</td></tr>
</tbody>
</table>

```json
{ "maxItems": 50, "stateCode": "CA" }
````

```json
{ "maxItems": 100, "currentMember": true, "stateCode": "TX" }
```

> ⚠️ **Good to Know:** DEMO\_KEY is rate-limited. For high volume, get a free key at api.congress.gov.

### 📊 Output

| Field | Type | Description |
|---|---|---|
| 🖼 imageUrl | string | Official portrait |
| 📌 bioguideId | string | Bioguide identifier |
| 👤 name | string | Member name |
| partyName | string | Political party |
| 🌎 state | string | State name |
| district | integer | House district number |
| 🏛 chamber | string | House or Senate |
| termStartYear | integer | Latest term start |
| termEndYear | integer | Latest term end |
| updateDate | string | Last update |
| 🔗 url | string | API URL |
| 🕒 scrapedAt | string | ISO timestamp |

### ✨ Why choose this Actor

- Direct congress.gov API
- Real-time data, no cached responses
- Works with standard Apify integrations

### 📈 How it compares to alternatives

| Approach | Cost | Maintenance | Coverage |
|---|---|---|---|
| This actor | Pay per result | None | Full |
| Manual scrape | Free | High | Limited UI |
| Commercial directories | $$$ | None | Curated |

### 🚀 How to use

1. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. Open the actor page
3. Set inputs
4. Run
5. Download dataset as CSV, Excel, JSON, or XML

### 💼 Business use cases

#### Competitor and market monitoring

Build outreach lists by state, party, or chamber.

#### Pipeline expansion

Identify representatives in districts where you operate.

#### Compliance and due diligence

Verify member tenure and party affiliation.

#### Market sizing and research

Quantify membership turnover per Congress.

### 🔌 Automating Congress.gov Members Scraper

Connects with Make, Zapier, Slack, Airbyte, GitHub Actions, and Google Drive via Apify's standard integrations.

### 🌟 Beyond business use cases

#### Research

Academic studies on legislator careers.

#### Personal

Civic engagement and constituent education.

#### Non-profit

Non-profit advocacy targeting.

#### Experimentation

Train models on legislator metadata.

### 🤖 Ask an AI assistant about this scraper

ChatGPT, Claude, Perplexity, or Copilot can explain inputs, sample outputs, and integration patterns.

### ❓ Frequently Asked Questions

**Q: Do I need an API key?** A: DEMO\_KEY works for light use; get a free key for high volume.
**Q: Are former members included?** A: Yes, unless you set currentMember=true.
**Q: How is district handled for Senate?** A: Senators have no district. Use stateCode only.
**Q: Are committees included?** A: No, this actor returns headline biography.
**Q: How accurate is the data?** A: As accurate as congress.gov.
**Q: Are images included?** A: Yes, official portraits in imageUrl.
**Q: How current is the data?** A: Within hours of official updates.
**Q: Are leadership roles surfaced?** A: Not in this version.
**Q: Are at-large districts handled?** A: Yes, as district 0 or 1 depending on state.
**Q: Can I get contact info?** A: Use the linked member page on congress.gov.

### 🔌 Integrate with any app

Make, Zapier, Slack, Airbyte, GitHub Actions, Google Sheets, Webhooks.

### 🔗 Recommended Actors

| Actor | Description |
|---|---|
| [USAspending Contracts Scraper](https://apify.com/parseforge/usaspending-contracts-scraper) | Federal contract awards |
| [FDIC Bank Scraper](https://apify.com/parseforge/fdic-bank-scraper) | FDIC institution data |
| [SEC EDGAR Scraper](https://apify.com/parseforge/sec-edgar-scraper) | SEC company filings |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with the source organization. Only publicly available data collected.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: 10. Paid: up to 1,000,000

## `congress` (type: `integer`):

e.g. 118, 119. Leave empty for all.

## `stateCode` (type: `string`):

Two-letter state code (e.g. CA, NY)

## `district` (type: `integer`):

Specific district number

## `currentMember` (type: `boolean`):

Only members currently serving

## `apiKey` (type: `string`):

Get a free key at https://api.congress.gov.

## Actor input object example

```json
{
  "maxItems": 10,
  "currentMember": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/congress-gov-members-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/congress-gov-members-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call parseforge/congress-gov-members-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/congress-gov-members-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Congress.gov Members Scraper | US House & Senate Directory",
        "description": "Export US House and Senate members from congress.gov: name, party, state, district, chamber, term years, bioguide ID and official portrait. Filter by Congress, state, district and current-serving status. CSV, Excel, JSON or XML for government affairs and outreach.",
        "version": "0.1",
        "x-build-id": "jAECedpyFDbEreJfM"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~congress-gov-members-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-congress-gov-members-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~congress-gov-members-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-congress-gov-members-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~congress-gov-members-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-congress-gov-members-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: 10. Paid: up to 1,000,000"
                    },
                    "congress": {
                        "title": "Congress Number",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "e.g. 118, 119. Leave empty for all."
                    },
                    "stateCode": {
                        "title": "State Code",
                        "enum": [
                            "AL",
                            "AK",
                            "AZ",
                            "AR",
                            "CA",
                            "CO",
                            "CT",
                            "DE",
                            "FL",
                            "GA",
                            "HI",
                            "ID",
                            "IL",
                            "IN",
                            "IA",
                            "KS",
                            "KY",
                            "LA",
                            "ME",
                            "MD",
                            "MA",
                            "MI",
                            "MN",
                            "MS",
                            "MO",
                            "MT",
                            "NE",
                            "NV",
                            "NH",
                            "NJ",
                            "NM",
                            "NY",
                            "NC",
                            "ND",
                            "OH",
                            "OK",
                            "OR",
                            "PA",
                            "RI",
                            "SC",
                            "SD",
                            "TN",
                            "TX",
                            "UT",
                            "VT",
                            "VA",
                            "WA",
                            "WV",
                            "WI",
                            "WY"
                        ],
                        "type": "string",
                        "description": "Two-letter state code (e.g. CA, NY)"
                    },
                    "district": {
                        "title": "District Number (House only)",
                        "minimum": 0,
                        "maximum": 99,
                        "type": "integer",
                        "description": "Specific district number"
                    },
                    "currentMember": {
                        "title": "Currently Serving Only",
                        "type": "boolean",
                        "description": "Only members currently serving",
                        "default": false
                    },
                    "apiKey": {
                        "title": "congress.gov API Key (optional)",
                        "type": "string",
                        "description": "Get a free key at https://api.congress.gov."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
