Research API Documentation

Access civil rights data for research and journalism

Getting Started

Our Research API provides programmatic access to civil rights incident data for researchers, journalists, and advocacy organizations.

Rate Limits

  • 100 requests per hour per IP address
  • Maximum 100 results per request
  • CSV exports count as 1 request

Base URL

https://justicewatch.app/api/research
GET

/api/research

Query incidents with filtering, pagination, and field selection

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
limitintegerResults per page (max: 100, default: 50)
statestringTwo-letter state code (e.g., CA, TX)
citystringCity name (partial match)
typestringIncident type: police_killing, excessive_force, wrongful_arrest, etc.
fromdateStart date (YYYY-MM-DD)
todateEnd date (YYYY-MM-DD)
verificationstringunverified, single_source, multi_source, officially_confirmed
fatalitiesbooleanFilter by fatal/non-fatal (true/false)
qstringSearch in summary and description
fieldsstringComma-separated list of fields to return
sortstringSort by: incident_date, created_at, fatalities, city, state
orderstringSort order: asc or desc (default: desc)
formatstringResponse format: json (default) or csv

Available Fields

id
incident_date
incident_time
incident_type
sub_types
city
county
state
latitude
longitude
summary
detailed_description
fatalities
injuries
victim_status
victim_race
victim_gender
victim_age_range
agency_name
verification_status
source_name
source_url

Example Request

curl "https://justicewatch.app/api/research?state=CA&type=police_killing&from=2025-01-01&limit=10"

Example Response

{
  "meta": {
    "total": 127,
    "page": 1,
    "limit": 10,
    "total_pages": 13,
    "fields": ["id", "incident_date", "incident_type", ...],
    "filters": {
      "state": "CA",
      "type": "police_killing",
      "from": "2025-01-01"
    }
  },
  "data": [
    {
      "id": "abc123...",
      "incident_date": "2025-03-15",
      "incident_type": "police_killing",
      "city": "Los Angeles",
      "state": "CA",
      "summary": "...",
      ...
    }
  ],
  "links": {
    "self": "/api/research?page=1&limit=10",
    "next": "/api/research?page=2&limit=10",
    ...
  }
}
GET

/api/research/stats

Get aggregated statistics and trends

Query Parameters

ParameterTypeDescription
statestringFilter by state
fromdateStart date
todateEnd date

Response Includes

  • Total incidents and fatalities
  • Breakdown by incident type
  • Top 10 states by incident count
  • Verification status distribution
  • Monthly trend (last 12 months)
GET

/api/research/cases

Query legal cases and settlement data

Query Parameters

ParameterTypeDescription
page, limitintegerPagination
statestringCourt state
statusstringpending, active, settled, verdict, dismissed, appealed, closed
jurisdictionstringfederal, state, county, municipal
min_amountnumberMinimum settlement/verdict amount
from, todateFiling date range
qstringSearch in case name and summary
GET

Widget APIs

Lightweight endpoints for embeddable widgets

/api/widgets/count

Get incident count for a time period

?state=CA&type=police_killing&from=2025-01-01&to=2025-12-31

/api/widgets/feed

Get recent incidents for a feed

?state=CA&type=police_killing&limit=10
Want embeddable widgets? Check out our widget builder

Usage Guidelines

Attribution

When using our data in publications or applications, please include attribution:

Data from JusticeWatch (https://justicewatch.app)

Terms of Use

  • Data is provided for research, journalism, and advocacy purposes
  • Do not use data to identify or target individuals
  • Respect rate limits to ensure fair access for all users
  • Contact us for bulk data access or commercial use

Contact

For API support, bulk data requests, or questions about data methodology, please reach out through our GitHub repository