Using OPRAmachine to file public records requests without the hassle

Streamline your public records requests with New Jersey’s public records request & research platform.

Gavin Rozzi

Presented by the Montclair University Center for Cooperative Media

August 21st, 2018

Transparency matters

but getting results from NJ government can be be difficult


is a tool that is simplifying public records requests in New Jersey


allows users to send & track public records requests

It then publishes all documents & correspondence online


is built on the premise that everything should be public.

Everything from the initial request, to the final documents / disposition


helps individual users get an answer to their request.

And its database of public records gets bigger everytime the site is used.

The Open Public Records Act

Gives you several important rights:

  • You can access any record “made, maintained or kept on file”*
  • Custodian must approve or deny request in 7 business days
  • Challenge denied requests in superior court or at the GRC

*exemptions apply

The OPRA request process

Generally, no matter how the request is submitted, the following steps take place:

  • Citzen submits their request
  • Public agency responds, requests an extension, or denies request
  • Citizen obtains records, or challenges denial in court or at the GRC

Introducing OPRAmachine

OPRAmachine launched in October, 2017. Within its first month, its database expanded to cover all 565 municipalities in New Jersey.

The OPRAmachine website

Modernizing public records

OPRAmachine eliminates many of the past pains of the public records request process:

  • No wasteful paper forms or in-person visits
  • No fees per page for paper copies / paying for postage
  • No dealing with ancient fax machines

Modernizing public records

The platform also introduces several new features:

  • Request updates by town and keyword
  • Advanced search of requests / responses
  • A searchable database of governnment agencies and public records

By the numbers

Since our launch in October, 2017:

927 government agencies

2341 OPRA requests

10 GB of public documents & data archived

How the site works

To enable advanced features, each request is assigned a unique tracking ID

Here’s one of them: 8f40bc9f

How the site works

The tracking ID is used to generate a unique email addres for each OPRA request.

Sample: opra+request-1966-8f40bc9f @requests.opramachine.com

How responses are handled

When government agencies reply to the request, the site detects the tracking ID. This allows responses to OPRA requests to be automatically published online and with the correct request.

Advantages of our approach

Since the OPRA requests are created on our site and ultimately sent via email, no proprietary softare is needed by government agencies. And paper waste is eliminated.

  • For clerks, responding is as simple as hitting “reply”
  • Can easily be integrated with existing email systems

Filing requests

All you need is a valid email address to get started filing requests.

  1. Select the government agency to send your request
  2. File up to 7 requests per day (contact us if you need more)
  3. Wait for a response and follow up with the agency as necessary
  4. Classify your OPRA request when you get a response

Note on anonymous requests

  • The OPRA law allows citizens to request records anonymously if they choose.

  • We believe OPRAmachine is the best way to file anonymous requests because user email addresses are never published or revealed to government agencies.

  • Only each OPRA request’s unique email is ever visible to the public or government.

Filing requests

OPRAmachine will notify you when your request gets a response. You’ll get an email with a link to view the response online.

A sample response notification

Classifying requests

An important part of the request process on OPRAmachine is classifying the status of requests. Users receive a survey when they get a response to describe the state of their OPRA request.

The survey

Why classify requests?

We ask users to classify requests so we can track outcome and trigger site functionality based on the request’s status.

Since users initially request the records, it’s easiest for them to classify their own requests

Request states on OPRAmachine

There are several states that requests can be classified into, including:

Partially Successful

Partially Successful

Gone Postal
Gone Postal

More request states

Delivery Error
Delivery Error

Not Held
Info Not Held


Long Overdue

Tracking OPRA requests

OPRAmachine lets you track requests & responses on multiple levels:

  • Your own OPRA requests
  • Other people’s requests
  • All requests sent to a particular agency
  • All requests containing a keyword

Tracking updates are sent daily via email.

Tracking OPRA requests

A good source of leads for stories!

  • See what topics others are researching and view documents!

  • Monitor topics and geographic areas from a unified interface

  • Tracking alerts help keep public bodies compliant with OPRA’s time limits and reporters on deadline.

Use case: tracking OPRA requests and searches

One use case we have identified is that some users will register for an account only to receive tracking updates and not to file their own requests, showing how the public records are being used by 3rd parties.

Using OPRAmachine for research

OPRAmachine has several features that make it attractive a research platform.

  • Advanced search features
  • Batch OPRA requests
  • Data and API access

Advanced search functionality

OPRAmachine’s advanced search tool can help you narrow down requests and documents and requests even further.

Filter content by the following criteria:

  • File type (CSV, XLS, PDF, DOC etc.)
  • Requester
  • Public body
  • Date range
  • Type of public body

Advanced search functionality


Advanced Search

Here are some sample queries:

Batch requests

  • We are enabling comparative research using OPRA with the batch request feature.

  • This allows the same request to simultatenously be delivered to multiple government agencies & tracked.

Currently access to this feature is restricted to prevent abuse

Batch requests in action

Here are some succcesful batch OPRA requests:

The impact

  • More people are learning about public records and OPRA
  • Seeing OPRA requests and documents helps individuals make sense of what can be a complex process
  • Users can build off of the work of other requesters
  • The public knows more about the inner workings of government

Teaching users how to OPRA

  • The site has exposed more people to OPRA and public records, helping them to be better informed

  • By viewing requests and responses, requesters can draft better OPRA requests and know what to expect

  • Case study: Jeff Epstein taught citizens how to use it while researching issues in an NJ school district

A word from OPRAmachine Administrator Jeff Epstein

  • Before & after OPRAmachine
  • Benefits to journalists
  • Limitations of the underlying Alaveteli platform
  • User support requests re: sensitive information

Who is using OPRAmachine?

The following groups of users are some examples of who is on our platform:

  • Journalists
  • Nonprofits
  • Concerned citizens
  • Attorneys and paralegals
  • Private investigators
  • Consultants and private investigators
  • Public policy researchers
  • Government employees

The challenges

Running a project like this is not without its difficulties. Challenges that we have faced could be categorized as either technical or legal / moderation.

The technical challenges

  • Ensuring servers don’t go down during business hours
  • Rerouting responses that went to the wrong request or didn’t come through
  • Educating clerks about the unique addresses our system uses and resolving user issues
  • Certain jurisdictions are outright refusing requests sent via OPRAmachine.
  • Some records custodians have failed to redact social security numbers and other private information
  • As a site primarily based on user-generated content, we deal with concerns about potential misuse of the platform and spam

The Social Security Number problem

  • There have been multiple incidents where municipal government and police departments have inadvertently disclosed social security numbers and other confidential personal identifiers

  • In each instance of one of these types of disclosures, we immediately took down the material to prevent harm to individuals

Our solution: automatic redaction

Our software can automatically redact certain patterns of text.

  • This is currently deployed for email addresses on the site. Email addresses are automatically replaced with X’s to prevent automated spam bots from harvesting addresses from the site.

  • Later in 2018, we will deploy this technology for social security numbers. We hope that this will alleviate most instances of unintentional disclosures & further protect user privacy.

The big picture

The more than the sum of individual OPRA requests

  • Users submit public records requests using the site
  • Each public records request contributes to our archive
  • More people can be informed without needing to file a request

As an archive of public knowledge

  • Requests and documents are indexed by Google, a driver of new traffic to the site
  • Users can easily share requests via social media, showing the platform’s potential to distribute public records
  • Journalists can link to primary source documents and use them in their stories

The future: OPRAmachine Pro

A fully featured OPRA toolkit for professional journalists & investigators, OPRAmachine Pro will be launching soon to sustain our development

OPRAmachine Pro Logo

Our core service will always remain free

OPRAmachine Pro

Pro features:

  • Keep requests private
  • Unlimited batch requests
  • Advanced features & custom request management tools for power users

OPRAmachine Pro

Affordable for individuals and organizations

Just $10 per user per month

We are currently accepting pre-registrations from anyone interested in signing up for an OPRAmachine Pro account, with the launch of Pro services to be announced at a later date.

API for developers

OPRAmachine data is open and accesible from multiple endpoints :

API data accesss

Data can be requested on several levels, including by:

  • Town / county / public agency
  • Individual users and requests
  • OPRA request classification (succesful, unsuccessful etc.)

API Example: Using OPRA RSS data to automate social media posts

  • You can use a service like IFTTT to automatically post new content whenever an OPRA RSS feed is updated.
  • We use this approach to update the OPRAmachine Twitter feed everytime a new OPRA is answered.

API Example: Using OPRA RSS data to automate social media posts

One other potential application of this is to automatically post all OPRA requests for a given town on a town website or Facebook page.

API Example: Using OPRA JSON data to show a user’s OPRA requests

This example can be seen live with current data on my personal website gavinrozzi.com

The code for this is open-source on Github

Populating a website with OPRA request data is easy

These slides are online!



Thank you for attending our webinar!

Contact the OPRAmachine team:

Email: info@opramachine.com

Phone: (732)-504-3636