Skip to main content

Developer resources


The FOIA request Portal is powered by an API. This API is available to the public. In order to use the API, you must signup for an API key.

Agency components

Agencies of the federal government submit information about their FOIA process in a machine-readable format to the Portal. This information is available through the Agency component API. This API follows the JSON API standard and leverages the Drupal JSON API module. The documentation for the JSON API module is a great resource.

The endpoint for the Agency component API.

An agency component payload might look like this.


Request a list of agency components names.

curl -g -v -H 'X-API-Key: <your-api-key>' '[agency_component]=title'

Fetch a list of agency components with their parent agency.

curl -g -v -H 'X-API-Key: <your-api-key>' '[agency]=name,abbreviation&fields[agency_component]=title,abbreviation,agency'

Fetch the Office of Information Policy.

curl -g -v -H 'X-API-Key: <your-api-key>' ''

Fetch the Office of Information Policy’s FOIA request form.

curl -g -v -H 'X-API-Key: <your-api-key>'


You can submit a FOIA request using our API. The endpoint for the submission API:

You’ll need to identify the request form you are submitting to using the Agency component API and provide any relevant data to Agency.

Get the Office of Information Policy’s form id.

$ curl -H 'X-API-Key: <your-api-key>' | jq ''

Note that each agency may require different information based on their regulations. You can see what information is being requested by looking at their webform elements. Check the element’s properties to determine which fields are required.

$ curl -H 'X-API-Key: <your-api-key>' | jq '.data.attributes.elements | keys'

Submit a request to the Office of Information Policy.

curl -v -H 'X-Api-Key: <your-api-key>' -H 'Content-Type: application/json' --data-binary @- <<EOF
    "id": "test_form",
    "email": "",
    "name_first": "George",
    "name_last": "Washington",
    "request_description": "A very specific description of records."

The FOIA XML Schema

Federal agencies publish FOIA information in accordance with guidelines prepared by the U. S. Department of Justice Office of Information Policy. These guidelines, available here, describe the format and meaning of FOIA annual report information. In addition, a FOIA Annual Report XML schema has been developed allowing agency FOIA annual report information to be represented and exchanged in a standardized format. This XML schema closely follows the structure and terminology of the guidance document, and conforms to the NIEM standard ( 

All agency data available through reports and graphs on the website is also available for public download as XML documents conforming to the FOIA Annual Report XML schema at the link below. This enables any kind of offline processing, storage, comparison, or mashup which may be desired.  

The entire IEPD package may also be downloaded directly by clicking on the following link [Download IEPD].

Within this IEPD package you can find the XML schema defined in exchange_files/schema/extension/FoiaAnnualReportExtensions.xsd. Note that this definition inherits from others, which can be found in the package as well, under exchange_files/schema/Subset/niem/.

FOIA Data Set Downloads

The following compressed files are complete archives of the FOIA Data sets for the years 2008 through 2019.

Agency resources

If your agency is interested in receiving requests from the Portal via an API, please check out our API spec and get in touch with us.

FOIA Contacts Download

The following file is the complete listing of all FOIA contacts across federal departments and agencies.

Return to Top