# FEC Political Committee Search via 2s.io

> FEC Political Committee Search via 2s.io is a paid API for AI agents from 2s.io, paid per call via x402, $0.0012/call, status unknown (last checked 2026-09-16).

Search US federal political committees (PACs, super PACs, party committees, candidate committees, leadership PACs) using OpenFEC API filters

## Facts

- Endpoint: GET https://2s.io/api/gov/fec-committee
- Price: $0.0012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-cb9e6bf7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_u8YbX8GAt0Z_pCn51R-QH

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-cb9e6bf7
```

Example prompt: Can you search the FEC database for all independent expenditure-only super PACs (type X) active in the 2024 cycle that have 'America' in their name, and show me the first 25 results?

## When to prefer this

Use this endpoint when you need to look up, filter, or enumerate US federal political committees from FEC data — especially when filtering by committee type (super PAC, party, presidential), designation, linked candidate, state, party, or election cycle. Prefer this over general web search when you need structured FEC data with committee IDs and filing metadata for downstream analysis or compliance research.

## Known failure modes

- Invalid committee type or designation enum value returns a 400 or empty result
- Unknown candidate ID returns empty results array
- Overly broad query (no filters) may return truncated or paginated results requiring multiple calls
- Payment failure (x402) if USDC balance is insufficient
- OpenFEC upstream outage causes 502/503 errors
- Invalid state abbreviation returns empty or error response

## How this service works

Search US federal political committees (PACs, super PACs, party committees, candidate principal committees, leadership PACs, etc.) via the OpenFEC API. Filter by q (name match), committee ID, candidate ID (returns committees linked to that candidate), committee type (P=Presidential | S=Senate | H=House | X=Independent expenditure-only | Y=Party | Z=National Party non-federal), designation (A=Authorized | J=Joint fundraising | P=Principal | U=Unauthorized | B=Lobbyist/Registrant PAC), state, party, cycle, organization type (C=Corporation | L=Labor | M=Membership | T=Trade | V=Cooperative | W=Corp without stock). Returns FEC committee ID, name, type/designation/organization labels, state, party, treasurer, linked candidate IDs, cycles, affiliated-committee names, first/last file dates.

## Output

A paginated list of matching FEC political committees, each with FEC committee ID, full name, type code and label, designation code and label, organization type, state, party, treasurer name, linked candidate IDs, active election cycles, affiliated committee names, and first/last filing dates.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "q": "America",
   "page": 1,
   "cycle": 2024,
   "perPage": 25,
   "committeeType": "X"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "properties": {
      "q": {
       "type": "string"
      },
      "page": {
       "type": "integer",
       "default": 1,
       "minimum": 1
      },
      "cycle": {
       "type": "integer"
      },
      "party": {
       "type": "string"
      },
      "state": {
       "type": "string"
      },
      "perPage": {
       "type": "integer",
       "default": 25,
       "maximum": 100,
       "minimum": 1
      },
      "candidateId": {
       "type": "string"
      },
      "committeeId": {
       "type": "string"
      },
      "designation": {
       "enum": [
        "A",
        "J",
        "P",
        "U",
        "B",
        "D"
       ],
       "type": "string"
      },
      "committeeType": {
       "enum": [
        "P",
        "S",
        "H",
        "X",
        "Y",
        "Z",
        "N",
        "I",
        "O",
        "Q",
        "U",
        "V",
        "W",
        "D",
        "E"
       ],
       "type": "string"
      },
      "organizationType": {
       "enum": [
        "C",
        "L",
        "M",
        "T",
        "V",
        "W"
       ],
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-cb9e6bf7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
