# FBI Crime Data Scraper - Crime Statistics and Incidents (`parseforge/fbi-crime-data-scraper`) Actor

Scrape FBI crime statistics, incident reports, and law enforcement data. Extract offense counts, arrest data, and agency information by location and year.

- **URL**: https://apify.com/parseforge/fbi-crime-data-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Other, News, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🔍 FBI Crime Data Scraper - US State Crime Statistics

> 🚀 **Export annual US crime statistics by state in seconds.** Pull **violent crime, murder, rape, robbery, aggravated assault, property crime, burglary, larceny, and motor vehicle theft** counts for all 50 states and territories across any year range from 1985 to 2022. No API key, no registration.

> 🕒 **Last updated:** 2026-05-21 · **📊 13 fields** per record · **🗺️ 58 states and territories** · **📅 1985-2022** · **🔓 100% public data**

The **FBI Crime Data Scraper** pulls structured crime statistics from the FBI Crime Data Explorer (CDE), the official public portal for Uniform Crime Reporting (UCR) data. It returns **13 fields per record** including violent crime totals, nine individual offense categories, and metadata timestamps. The underlying data is published by the FBI's UCR Program and compiled from law enforcement agencies across the United States.

The dataset covers **all 50 states plus DC and US territories** across 38 years of reporting, giving analysts, researchers, policy teams, and journalists a clean, queryable alternative to raw FBI tables. This Actor makes that data downloadable as CSV, Excel, JSON, or XML in under a minute.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Policy analysts, criminologists, journalists, data scientists, civic tech teams, law enforcement researchers, urban planners | Crime trend analysis, state comparisons, policy evaluation, academic research, dashboard building, journalism |

---

### 📋 What the FBI Crime Data Scraper does

Five data collection workflows in a single run:

- 🗺️ **All-states export.** Every state and territory across your selected year range.
- 🏛️ **State filter.** Restrict to one state using its two-letter abbreviation (CA, TX, NY, etc.).
- 📅 **Year range.** Collect any span from 1985 to 2022.
- 📊 **Nine offense types.** Violent crime total, murder, rape, robbery, aggravated assault, property crime total, burglary, larceny-theft, and motor vehicle theft.
- 💾 **Annual aggregates.** Monthly FBI data summed to clean annual counts per state.

> 💡 **Why it matters:** the FBI publishes crime data as multi-tab Excel files and interactive charts. Turning those into a structured dataset requires parsing dozens of pages, writing state-by-state scrapers, and handling the FBI's format changes across decades. This Actor delivers the same data in clean JSON in under a minute.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td><code>fromYear</code></td><td>integer</td><td><code>2015</code></td><td>Start year for crime data. Range: 1985-2024.</td></tr>
<tr><td><code>toYear</code></td><td>integer</td><td><code>2022</code></td><td>End year for crime data. Range: 1985-2024.</td></tr>
<tr><td><code>stateAbbr</code></td><td>string</td><td><code>""</code></td><td>Two-letter state abbreviation (e.g. CA). Leave blank for all states.</td></tr>
</tbody>
</table>

**Example: All crime data for California from 2015 to 2022.**

```json
{
    "maxItems": 100,
    "fromYear": 2015,
    "toYear": 2022,
    "stateAbbr": "CA"
}
````

**Example: National crime data across all states, 2020 only.**

```json
{
    "maxItems": 1000,
    "fromYear": 2020,
    "toYear": 2020
}
```

> ⚠️ **Good to Know:** the FBI transitioned from Summary Reporting System (SRS) to NIBRS between 2015 and 2022. Some state totals for 2021 may appear lower than adjacent years because agencies were mid-transition and submitted partial data. This is expected behavior - it reflects the actual submitted counts, not a scraper error.

***

### 📊 Output

Each record contains **13 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🏛️ `state` | string | `"CA"` |
| 📍 `stateName` | string | `"California"` |
| 📅 `year` | integer | `2022` |
| ⚔️ `violentCrime` | integer | `173941` |
| 🔫 `murder` | integer | `2235` |
| 🔴 `rape` | integer | `13441` |
| 💰 `robbery` | integer | `44693` |
| 👊 `aggravatedAssault` | integer | `113572` |
| 🏠 `propertyCrime` | integer | `853161` |
| 🚪 `burglary` | integer | `145418` |
| 👜 `larcenyTheft` | integer | `527896` |
| 🚗 `motorVehicleTheft` | integer | `168086` |
| 👥 `population` | integer|null | `null` |
| 🕒 `scrapedAt` | string | `"2026-05-21T23:52:33.743Z"` |
| ❌ `error` | string|null | `null` |

> **Note on population:** the FBI Crime Data Explorer API does not expose per-state annual population counts. The `population` field is included in the schema for forward compatibility but is always `null`.

#### 📋 Sample Records

```json
[
  {
    "state": "CA",
    "stateName": "California",
    "year": 2022,
    "violentCrime": 193099,
    "murder": 2361,
    "rape": 15055,
    "robbery": 48649,
    "aggravatedAssault": 127034,
    "propertyCrime": 945750,
    "burglary": 149568,
    "larcenyTheft": 601213,
    "motorVehicleTheft": 185052,
    "population": null,
    "scrapedAt": "2026-05-21T23:52:33.743Z",
    "error": null
  },
  {
    "state": "TX",
    "stateName": "Texas",
    "year": 2022,
    "violentCrime": 121454,
    "murder": 1956,
    "rape": 14982,
    "robbery": 23045,
    "aggravatedAssault": 81471,
    "propertyCrime": 569481,
    "burglary": 87219,
    "larcenyTheft": 431874,
    "motorVehicleTheft": 49488,
    "population": null,
    "scrapedAt": "2026-05-21T23:52:33.743Z",
    "error": null
  },
  {
    "state": "AK",
    "stateName": "Alaska",
    "year": 2019,
    "violentCrime": 6347,
    "murder": 73,
    "rape": 1099,
    "robbery": 826,
    "aggravatedAssault": 4349,
    "propertyCrime": 21473,
    "burglary": 3558,
    "larcenyTheft": 15095,
    "motorVehicleTheft": 2612,
    "population": null,
    "scrapedAt": "2026-05-21T23:52:33.743Z",
    "error": null
  }
]
```

***

### ✨ Why choose this Actor

| Feature | This Actor |
|---|---|
| 🔓 No API key required | Public CDE endpoint, no registration |
| 📅 38 years of history | 1985 through 2022 |
| 🗺️ All 58 states and territories | 50 states + DC + US territories |
| 📊 9 offense types | Violent, property, plus 7 individual categories |
| 💾 Clean annual aggregates | Monthly FBI data summed per year |
| ⚡ Fast execution | All states in under 2 minutes |
| 📥 Multiple export formats | JSON, CSV, Excel, XML via Apify datasets |

***

### 📈 How it compares to alternatives

| Option | Effort | Freshness | Structured Output |
|---|---|---|---|
| This Actor | Zero - click Start | Runs on demand | JSON, CSV, Excel, XML |
| FBI UCR tables (Excel) | High - parse 30+ files per year | Manual download | Raw Excel only |
| FBI CDE website | Medium - interactive charts only | Real-time | No direct export |
| Kaggle datasets | Zero - pre-built | Stale (2019-2021) | CSV only |
| Custom scraper | Very high - reverse-engineer CDE API | On demand | Custom |

***

### 🚀 How to use

1. **[Create a free Apify account](https://console.apify.com/sign-up?fpr=vmoqkp)** with $5 in free credits.
2. Open the **FBI Crime Data Scraper** in the Apify Store.
3. Set your year range (`fromYear`, `toYear`) and optionally a `stateAbbr` filter.
4. Click **Start** and wait for the run to finish (under 2 minutes for all states).
5. Click **Export Dataset** and choose your format: JSON, CSV, Excel, or XML.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 📊 Policy Analysis and Research

- State-by-state crime trend comparisons over 10+ years
- Before/after analysis of criminal justice policy changes
- Correlate crime rates with economic indicators or demographics
- Generate evidence-based policy briefs from clean structured data

</td>
<td width="50%" valign="top">

#### 📰 Investigative Journalism

- Local crime stories contextualized against state averages
- Decade-long trend narratives with exportable chart data
- Year-over-year comparisons for breaking news context
- Automated data refreshes for living news dashboards

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 🏢 Real Estate and Urban Planning

- Crime trend data enrichment for property risk scores
- Neighborhood safety comparisons at the state level
- Market analysis inputs for investment decisions
- Urban planning reports grounded in FBI data

</td>
<td width="50%" valign="top">

#### 🤖 AI and Data Science

- Training datasets for crime prediction models
- Feature engineering for public-safety ML pipelines
- Time-series benchmarks across 38 years of consistent data
- Clean labeled data for regression and classification experiments

</td>
</tr>
</table>

***

### 🔌 Automating FBI Crime Data Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Schedule annual refreshes to keep your crime database up to date as the FBI releases new reporting periods.

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Criminology studies with reproducible data pulls
- Public policy papers citing FBI UCR data
- Longitudinal studies across 38 years of crime reporting
- Cross-state comparison datasets for graduate research

</td>
<td width="50%">

#### 🎨 Personal and creative

- Crime data visualizations and interactive maps
- Portfolio projects for data science and journalism
- Side projects exploring regional safety trends
- Content research for true crime podcasts and creators

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Community safety advocacy backed by official FBI data
- Civic journalism exposing crime trends in underserved regions
- Grant proposal data for public safety non-profits
- Transparency reporting for local government accountability

</td>
<td width="50%">

#### 🧪 Experimentation

- Train crime forecasting or anomaly detection models
- Validate public-safety product hypotheses with 38 years of history
- Prototype dashboards with full US coverage
- Benchmark regional crime baselines for research proposals

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20FBI%20Crime%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20FBI%20Crime%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20FBI%20Crime%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20FBI%20Crime%20Data%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

The Actor calls the FBI Crime Data Explorer's internal API, which powers the official CDE website at cde.ucr.cjis.gov. For each state, it fetches monthly crime counts for nine offense categories and aggregates them to annual totals. No browser automation is used.

#### 📅 What years are available?

Data is available from 1985 through 2022, following the FBI's UCR Program reporting timeline. Set `fromYear` and `toYear` to any range within those bounds.

#### 🔁 Why are some 2021 values lower than expected?

The FBI was mid-transition from SRS to NIBRS reporting in 2021. Many agencies submitted partial-year data or switched systems mid-year, resulting in lower-than-expected reported counts. This is a known characteristic of the raw FBI data, not a scraper issue.

#### 🗺️ Which states and territories are included?

All 50 US states plus Washington DC, Puerto Rico, American Samoa, Guam, the Northern Mariana Islands, and the US Virgin Islands, for a total of 58 jurisdictions.

#### 👥 Why is the population field null?

The FBI Crime Data Explorer API does not return per-state annual population figures in its crime summary endpoint. The field is present in the schema for forward compatibility. To calculate crime rates, combine this dataset with a Census population dataset.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor automatically when the FBI releases new annual data.

#### ⚖️ Is this data legal to use?

Yes. The FBI publishes UCR data as public government information without restrictions. This Actor only reads publicly accessible endpoints.

#### 💳 Do I need a paid Apify plan?

The free Apify plan gives you 10 records per run (enough to preview the data). A paid plan lifts the limit and enables up to 1,000,000 records per run.

#### 🔁 What happens if a run fails?

Apify automatically retries transient errors. If a run still fails, inspect the log in the Runs tab. Partial results collected before the failure are preserved.

#### 📊 What is the difference between violent crime total and the individual offense counts?

The violent crime total (`violentCrime`) is the sum of homicide, rape, robbery, and aggravated assault as reported by the FBI. The individual fields break that total into its four components. Property crime (`propertyCrime`) is similarly the sum of burglary, larceny-theft, motor vehicle theft, and arson.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

FBI Crime Data Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step crime data workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe crime data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes and push fresh FBI data into your product backend automatically.

***

### 🔗 Recommended Actors

| Actor | Description |
|---|---|
| [**🏥 CDC WONDER Mortality Scraper**](https://apify.com/parseforge/cdc-wonder-mortality-scraper) | US mortality statistics by cause, year, and state |
| [**🌬️ EPA AQS Air Quality Scraper**](https://apify.com/parseforge/epa-aqs-air-quality-scraper) | Air quality measurements from the EPA monitoring network |
| [**📡 FCC Broadband Map Scraper**](https://apify.com/parseforge/fcc-broadband-map-scraper) | US internet availability by location from FCC data |
| [**🏠 HUD User Data Scraper**](https://apify.com/parseforge/hud-user-data-scraper) | US housing and urban development statistics |
| [**🏛️ USGS Earthquake Scraper**](https://apify.com/parseforge/usgs-earthquake-scraper) | Real-time and historical US earthquake data from USGS |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more public-data scrapers covering government, finance, and research datasets.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Federal Bureau of Investigation (FBI) or the US Department of Justice. All data is collected from publicly accessible government endpoints. All trademarks mentioned are the property of their respective owners.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `fromYear` (type: `integer`):

Start year for crime data (data available from 1985).

## `toYear` (type: `integer`):

End year for crime data (data available through 2022).

## `stateAbbr` (type: `string`):

Two-letter state abbreviation to filter results (e.g. CA for California). Leave blank for all states.

## Actor input object example

```json
{
  "maxItems": 10,
  "fromYear": 2015,
  "toYear": 2022
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "fromYear": 2015,
    "toYear": 2022
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/fbi-crime-data-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "fromYear": 2015,
    "toYear": 2022,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/fbi-crime-data-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "fromYear": 2015,
  "toYear": 2022
}' |
apify call parseforge/fbi-crime-data-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/fbi-crime-data-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FBI Crime Data Scraper - Crime Statistics and Incidents",
        "description": "Scrape FBI crime statistics, incident reports, and law enforcement data. Extract offense counts, arrest data, and agency information by location and year.",
        "version": "0.1",
        "x-build-id": "cHzZ2LdFWlbyqcgE1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~fbi-crime-data-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-fbi-crime-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~fbi-crime-data-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-fbi-crime-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~fbi-crime-data-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-fbi-crime-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "fromYear": {
                        "title": "From Year",
                        "minimum": 1985,
                        "maximum": 2024,
                        "type": "integer",
                        "description": "Start year for crime data (data available from 1985)."
                    },
                    "toYear": {
                        "title": "To Year",
                        "minimum": 1985,
                        "maximum": 2024,
                        "type": "integer",
                        "description": "End year for crime data (data available through 2022)."
                    },
                    "stateAbbr": {
                        "title": "State (optional)",
                        "type": "string",
                        "description": "Two-letter state abbreviation to filter results (e.g. CA for California). Leave blank for all states."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
