MuckRock helps anyone file, track and share public records requests, using a mix of software and hands-on help to make the process as easy and transparent as possible.
The easiest way to get started is to simply file a request: Click “Create a FOIA Request” at the top right of any page. There a short form will walk you through the required steps. MuckRock has a database of tens of thousands of government agencies and almost every single city, town and county, so when asked where you’d like to submit your request, you can generally just type in the name and location of the agency and it will appear.

Occasionally, we won’t have an agency saved in our database: You can just enter the agency’s name followed by its location (eg. “Mayor’s Office, Berkeley, California”) and we’ll take care of the rest.
Our searchable database of past requests includes thousands of requests and the resulting materials. So if you’re looking for information on a particular topic, you can see what past users have already requested and how it went.
Our collection of guides covers all kinds of tips. But the best advice is to be clear and concise in describing the records you want.
MuckRock directly sends and receives all requests and responses, including scanning in any final paperwork. With a contact database of over twenty three thousand agencies from across the nation – from your local police to the CIA – getting your request to the right place is as simple as typing a name.
Our database includes contact information for more than 23,000 agencies at the local, state and federal level across the United States, but from time to time a user will need to contact an agency we haven’t worked with before. In that case, you can just tell us where to find the agency and we’ll get to work. If you want to speed things up, feel free to check the “Task” tab on your request, where you can track our progress connecting with the agency and share any details about where they are located.

We’ll submit your request, whether by fax, postal mail or through a portal, and post any responsive materials to your request. Emails are posted automatically, but it can take up to a day to process some incoming materials. So if you see a notification that there’s new correspondence in the portal, just sit tight: we’ll get it for you within one working day.
When we receive a response from an agency, we analyze the language in the response and update the status of your request accordingly.
Automatic classification is reliable enough for the large majority of incoming responses, but it is possible for a status to be mistakenly applied. When an agency’s response includes the communication chain, the entire communication chain is provided to our language analysis.
We use the GPT-5 and GPT-5-mini models through the OpenAI API to power automatic classification. Data sent to the OpenAI API is not used to train or improve OpenAI models.