# Court Records Scraper CHEAP 💰 | Evictions (`ahmed_jasarevic/court-scraper`) Actor

Extract court records and eviction data from public sources — case numbers, filing dates, parties, dispositions and addresses. Screen tenants and research legal cases.

- **URL**: https://apify.com/ahmed\_jasarevic/court-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 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.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Court & Eviction Records Scraper — Public Records & Case Data

Extract **court records and eviction data** from public sources — case numbers, filing dates, parties, dispositions and addresses. Search by **keyword, case number, date range** or location for legal research and tenant screening.

### Main Use Cases

- **Tenant screening** — check eviction history before renting
- **Legal research** — find court cases by keyword or case number
- **Background checks** — include court records in due diligence
- **Skip tracing** — find addresses from court filings
- **Investment due diligence** — research property-related litigation
- **Compliance screening** — check for legal issues

### Output Fields

| Field | Type | Description |
|---|---|---|
| `caseNumber` | string | Case identifier |
| `court` | string | Court name |
| `caseType` | string | Civil, criminal, eviction, etc. |
| `filingDate` | string | Date filed |
| `disposition` | string | Case outcome |
| `partyName` | string | Party name |
| `partyType` | string | Plaintiff, defendant |
| `address` | string | Address from filing |
| `city` | string | City |
| `state` | string | State |
| `source` | string | Data source |
| `rawData` | object | Raw record data |
| `scrapedAt` | string | Extraction timestamp |

### Input

| Field | Type | Default | Notes |
|---|---|---|---|
| `sources` | array | — | Data sources to query |
| `caseNumber` | string | — | Specific case number |
| `keyword` | string | — | Search keyword |
| `filedAfter` | string | — | Date filter (after) |
| `filedBefore` | string | — | Date filter (before) |
| `locationFilter` | string | — | Location filter |
| `maxItems` | integer | `50` | Max records |
| `includeRaw` | boolean | `false` | Include raw data |
| `sodaAppToken` | string | — | Socrata app token |

### Example Input

```json
{
  "keyword": "eviction",
  "locationFilter": "Cook County, IL",
  "filedAfter": "2024-01-01",
  "maxItems": 100
}
```

### FAQ

#### What data sources are supported?

The actor queries public court record databases and Socrata-powered open data portals.

#### Is this legal?

This actor only accesses publicly available court records. Users must comply with FCRA and applicable law when using this data for screening.

#### Can I search by case number?

Yes. Provide the case number directly for targeted lookups.

### For AI Agents & LLM Apps

**Purpose:** Extract court records and eviction data from public sources — case numbers, parties, dispositions and addresses.

**Minimal working input:**

```json
{
  "keyword": "eviction",
  "locationFilter": "Cook County, IL",
  "maxItems": 20
}
```

**Output fields:** `caseNumber`, `court`, `caseType`, `filingDate`, `disposition`, `partyName`, `partyType`, `address`, `city`, `state`, `source`, `scrapedAt`.

**Behaviors an agent should know:**

- `sources` determines which databases to query.
- `includeRaw: true` adds full raw record data.
- `sodaAppToken` may be required for some Socrata sources.

**Billing:** Free.

### Legal & Compliance Disclaimer

This actor extracts publicly available court records. Users must comply with the Fair Credit Reporting Act (FCRA) and applicable law when using this data for tenant screening, background checks or employment decisions. This data should not be used as the sole basis for adverse actions.

### SEO Keywords

court records scraper, eviction records data, public court data, case search tool, eviction history check, tenant screening data, court case database, legal records extraction, eviction filing data, court records api, public records search, background check data, skip tracing data, court filing data, tenant background check, legal research tool, court case lookup, eviction data api, public records scraper, court records database

### Related Actors

Verified related actors on Apify that pair well with this one. All links point to real, publicly available actors.

- [Google Search Scraper](https://apify.com/apify/google-search-scraper)
- [Google Maps Places](https://apify.com/compass/crawler-google-places)
- [Apify Web Scraper](https://apify.com/apify/web-scraper)

# Actor input Schema

## `sources` (type: `array`):

Official public datasets to query: "maryland-evictions" = District Court of Maryland Eviction Case Data (statewide eviction cases); "nyc-civil-litigation" = NYC Law Department civil litigation cases (parties, attorneys, amounts). Unknown ids are skipped.

## `customSoda` (type: `object`):

Query ANY other Socrata-published court dataset. Example: {"domain":"opendata.maryland.gov","resourceId":"mvqb-b4hf","caseType":"eviction","dateField":"eventdate","fieldMap":{"caseNumber":"casenumber","courtLocation":"county","caseStatus":"eventtype","filingDate":"eventdate"}}. fieldMap maps normalized fields to the dataset's column names; caseNumber is required.

## `caseNumber` (type: `string`):

Only return records whose case/docket number contains this text (e.g. "22-313632"). Leave empty for all.

## `keyword` (type: `string`):

Full-text search across all columns of the source dataset (Socrata $q).

## `filedAfter` (type: `string`):

Only records dated on/after this date (YYYY-MM-DD, based on the source's date column).

## `filedBefore` (type: `string`):

Only records dated on/before this date (YYYY-MM-DD).

## `locationFilter` (type: `string`):

Contains-match on the location column (e.g. "Baltimore" for Maryland counties, "Supreme Court" for NYC).

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

Maximum number of court records to extract per run (free users are capped at 10).

## `pageSize` (type: `integer`):

Records fetched per API request (pagination page size). Keep modest to stay gentle on public portals.

## `includeRaw` (type: `boolean`):

Attach the original source row as `rawRow` on each record for full transparency.

## `sodaAppToken` (type: `string`):

Optional Socrata app token for higher rate limits on heavy runs. Get one free at dev.socrata.com.

## `proxyConfiguration` (type: `object`):

Requests are routed through Apify Proxy by default so your IP is never exposed.

## Actor input object example

```json
{
  "sources": [
    "maryland-evictions",
    "nyc-civil-litigation"
  ],
  "customSoda": {},
  "maxItems": 100,
  "pageSize": 50,
  "includeRaw": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "sources": [
        "maryland-evictions",
        "nyc-civil-litigation"
    ],
    "customSoda": {},
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/court-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 = {
    "sources": [
        "maryland-evictions",
        "nyc-civil-litigation",
    ],
    "customSoda": {},
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/court-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "sources": [
    "maryland-evictions",
    "nyc-civil-litigation"
  ],
  "customSoda": {},
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call ahmed_jasarevic/court-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/court-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/NLwjFHMrrrzDYqDnR/builds/Nh8X3DIHe2tT8heUS/openapi.json
