---
title: "GET /v1/legal/search/"
method: GET
path: "/v1/legal/search/"
tags: ["legal"]
---

# GET /v1/legal/search/

`GET /v1/legal/search/`

## Request

- Base URL: `https://api.open.fec.gov` (the document declares no server; this is the origin it was published from)
- URL: `https://api.open.fec.gov/v1/legal/search/`
- Auth: API key in header `X-Api-Key` and API key in query parameter `api_key` and API key in query parameter `api_key`
- TypeScript: <https://skmtc.dev/fec/apis/openfec/docs/v1/legal/search/get.ts> (a function with typed inputs; its response is checked against the schema)

Search legal documents by document type, or across all document types using keywords, parameter values and ranges.
This endpoint uses opensearch-dsl pagination.For pagination, use both `from_hit` and `hits_returned` parameters. `from_hit` defines the offset from the first result you want to fetch. `hits_returned` allows you to configure the maximum results to be returned.
By default `from_hit` = 0 and `hits_returned` = 20, endpoint will return the first 20 documents (i.e. 0 to 19).
if set `from_hit` = 20 and `hits_returned` = 20, endpoint will return documents range from 21 to 40 (i.e. 20 to 39).
The maximum value of `hits_returned` is 200.

## Query parameters

- `q` string
- `from_hit` integer
- `hits_returned` integer
- `type` '' | 'admin_fines' | 'adrs' | 'advisory_opinions' | 'murs' | 'statutes'
- `ao_no` string[]
- `ao_year` integer
- `ao_name` string[]
- `ao_min_issue_date` string
- `ao_max_issue_date` string
- `ao_min_request_date` string
- `ao_max_request_date` string
- `ao_min_document_date` string
- `ao_max_document_date` string
- `ao_doc_category_id` string[]
- `ao_is_pending` boolean
- `ao_status` string
- `ao_requestor` string
- `ao_requestor_type` string[]
- `ao_regulatory_citation` string[]
- `ao_statutory_citation` string[]
- `ao_citation_require_all` boolean
- `ao_commenter` string
- `ao_representative` string
- `case_no` string[]
- `case_respondents` string
- `case_election_cycles` integer
- `case_min_open_date` string
- `primary_subject_id` string[]
- `secondary_subject_id` string[]
- `case_max_open_date` string
- `case_min_close_date` string
- `case_max_close_date` string
- `case_min_document_date` string
- `case_max_document_date` string
- `case_regulatory_citation` string[]
- `case_statutory_citation` string[]
- `case_citation_require_all` boolean
- `q_exclude` string
- `case_doc_category_id` string[]
- `mur_type` '' | 'archived' | 'current'
- `mur_disposition_category_id` string[]
- `af_name` string[]
- `af_committee_id` string
- `af_report_year` string
- `af_min_rtb_date` string
- `af_max_rtb_date` string
- `af_rtb_fine_amount` integer
- `af_min_fd_date` string
- `af_max_fd_date` string
- `af_fd_fine_amount` integer
- `sort` string
- `case_min_penalty_amount` string
- `case_max_penalty_amount` string
- `q_proximity` string[]
- `max_gaps` integer
- `proximity_preserve_order` boolean
- `proximity_filter` 'after' | 'before'
- `proximity_filter_term` string
- `filename` string
- `api_key` string

## Response `default`

Legal search results

- object
  - `admin_fines` object[]
    - `challenge_outcome` string
    - `challenge_receipt_date` string, date
    - `check_amount` number
    - `commission_votes` object[]
      - `action` string
      - `vote_date` string, date
    - `committee_id` string
    - `doc_id` string
    - `document_highlights` object
    - `documents` object[]
      - `category` string
      - `description` string
      - `document_date` string, date
      - `document_id` integer
      - `length` integer
      - `url` string
    - `final_determination_amount` number
    - `final_determination_date` string, date
    - `highlights` string[]
    - `name` string
    - `no` string
    - `petition_court_decision_date` string, date
    - `petition_court_filing_date` string, date
    - `reason_to_believe_action_date` string, date
    - `reason_to_believe_fine_amount` number
    - `report_type` string
    - `report_year` string
    - `treasury_referral_amount` number
    - `treasury_referral_date` string, date
    - `url` string
  - `adrs` object[]
    - `close_date` string, date
    - `commission_votes` object[]
      - `action` string
      - `vote_date` string, date
    - `dispositions` object[]
      - `citations` object[]
        - `text` string
        - `title` string
        - `type` string
        - `url` string
      - `disposition` string
      - `penalty` number
      - `respondent` string
    - `doc_id` string
    - `document_highlights` object
    - `documents` object[]
      - `category` string
      - `description` string
      - `document_date` string, date
      - `document_id` integer
      - `length` integer
      - `url` string
    - `election_cycles` integer
    - `highlights` string[]
    - `name` string
    - `no` string
    - `open_date` string, date
    - `participants` object[]
      - `citations` object
      - `name` string
      - `role` string
    - `respondents` string[]
    - `subjects` string[]
    - `url` string
  - `advisory_opinions` object[]
    - `ao_citations` object[]
      - `name` string
      - `no` string
    - `aos_cited_by` object[]
      - `name` string
      - `no` string
    - `commenter_names` string[]
    - `document_highlights` object
    - `documents` object[]
      - `category` string
      - `date` string, date
      - `description` string
      - `document_id` integer
      - `url` string
    - `entities` object[]
      - `name` string
      - `role` string
      - `type` string
    - `highlights` string[]
    - `is_pending` boolean
    - `issue_date` string, date
    - `name` string
    - `no` string
    - `regulatory_citations` object[]
      - `part` integer
      - `section` integer
      - `title` integer
    - `representative_names` string[]
    - `request_date` string, date
    - `requestor_names` string[]
    - `requestor_types` string[]
    - `status` string
    - `statutory_citations` object[]
      - `section` string
      - `title` integer
    - `summary` string
  - `murs` object[]
    - `close_date` string, date
    - `commission_votes` object[]
      - `action` string
      - `vote_date` string, date
    - `dispositions` object[]
      - `citations` object[]
        - `text` string
        - `title` string
        - `type` string
        - `url` string
      - `disposition` string
      - `penalty` number
      - `respondent` string
    - `doc_id` string
    - `document_highlights` object
    - `documents` object[]
      - `category` string
      - `description` string
      - `document_date` string, date
      - `document_id` integer
      - `length` integer
      - `url` string
    - `election_cycles` integer
    - `highlights` string[]
    - `mur_type` 'current' | 'archived'
    - `name` string
    - `no` string
    - `open_date` string, date
    - `participants` object[]
      - `citations` object
      - `name` string
      - `role` string
    - `respondents` string[]
    - `subjects` string[]
    - `url` string
  - `statutes` object[]
    - `chapter` string
    - `doc_id` string
    - `document_highlights` object
    - `highlights` string[]
    - `name` string
    - `no` string
    - `title` string
    - `url` string
  - `total_admin_fines` integer: Total number of Admin Fines matching the search criteria
  - `total_adrs` integer: Total number of ADRs matching the search criteria
  - `total_advisory_opinions` integer: Total number of Advisory Opinions matching the search criteria
  - `total_all` integer: Total number of legal documents matching the search criteria
  - `total_murs` integer: Total number of MURs matching the search criteria
  - `total_statutes` integer: Total number of Statutes matching the search criteria

## Changes

- **2025-05-23** `c32831f74792`: 1 info
  - added the new optional `query` request parameter `ao_year`
- **2025-05-05** `eee97c843ebf`: 2 info
  - added the new optional `query` request parameter `filename`
  - added the new optional `query` request parameter `proximity_preserve_order`
- **2025-02-01** `df3908fa3c7e`: 1 warning, 2 info
  - deleted the `query` request parameter `ao_entity_name`
  - added the new optional `query` request parameter `ao_commenter`
  - added the new optional `query` request parameter `ao_representative`
- **2025-01-20** `2f06588dad8b`: 1 warning, 4 info
  - deleted the `query` request parameter `ao_category`
  - added the new optional `query` request parameter `max_gaps`
  - added the new optional `query` request parameter `proximity_filter`
  - added the new optional `query` request parameter `proximity_filter_term`
  - …1 more

[Operation history](https://skmtc.dev/fec/apis/openfec/changes/v1/legal/search/get.md)

---

[API](https://skmtc.dev/fec/apis/openfec.md) - [All operations](https://skmtc.dev/fec/apis/openfec/llms.txt) - [OpenAPI document](https://skmtc.dev/fec/apis/openfec/revisions/d2eb3171e225?raw)
