# Doxpop.com Scraper (`lexis-solutions/doxpop-com-scraper`) Actor

Scrape Indiana & Michigan court case records from Doxpop.com. Extract case numbers, party names, filing dates, case type, status & disposition data. Perfect for US legal research, compliance monitoring & law firm analytics. Export to JSON, CSV or Excel via API.

- **URL**: https://apify.com/lexis-solutions/doxpop-com-scraper.md
- **Developed by:** [Lexis Solutions](https://apify.com/lexis-solutions) (community)
- **Categories:** AI, Lead generation, Real estate
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.90 / 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/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

![Doxpop Scraper](https://i.postimg.cc/D0wXGCgm/doxpop.png)

### What does Doxpop Scraper do?

Doxpop Scraper helps you extract public court case search results from **doxpop.com**, a records platform that provides searchable access to court case records, recorded property documents, tax warrants, and judgments across Indiana and Michigan counties.

This actor is focused on Doxpop court case search pages. It accepts supported `CaseSearch` URLs, loads the public result data, and outputs normalized case records that you can download or consume through the Apify API.

### Doxpop Scraper

Doxpop Scraper is designed for structured extraction of court case search results from Doxpop. The actor supports public result pages and returns a consistent dataset format, which makes it useful for monitoring filings, legal research workflows, analytics, and downstream integrations.

### What does Doxpop Scraper do?

Doxpop Scraper helps you work with Doxpop court case search results without manually copying records from the website. It is intended for public result extraction only, and it normalizes the returned data into a stable output shape.

Basic result data appears publicly on Doxpop, while full record details, images, or document access may require a login or paid subscription depending on the county and record type.

### Doxpop Scraper

Doxpop Scraper allows you to collect public court case result data from Doxpop search pages that include party name, case type, and regional filters. The actor is suitable for repeated monitoring runs because the output is standardized and limited to selected fields only.

### What data can I extract from Doxpop with this web scraper?

With this web scraping tool, you can extract the following data from Doxpop:

<table>
<tr>
<td>Case ID</td>
<td>Case number</td>
</tr>
<tr>
<td>Caption</td>
<td>Case type</td>
</tr>
<tr>
<td>Status</td>
<td>File date</td>
</tr>
<tr>
<td>Disposition date</td>
<td>Name</td>
</tr>
<tr>
<td>Actor ID</td>
<td>Birth date</td>
</tr>
<tr>
<td>Role</td>
<td>Case details URL</td>
</tr>
</table>

### Why scrape Doxpop?

Doxpop offers public search interfaces for court cases, judgments, recorded documents, and tax warrants across multiple Indiana and Michigan jurisdictions. For court case searches, it exposes useful summary-level records such as case number, filing dates, party names, case type, and status.

- Monitor case search results for specific names or patterns
- Build internal datasets for legal or compliance research
- Track filing and disposition activity over time
- Export public court search results into structured formats
- Reuse result data in reporting, dashboards, or pipelines
- Reduce manual lookup work across repeated searches

### How to use Doxpop Scraper?

Doxpop Scraper is designed for a fast start, even if you have never worked with Apify actors before. Here is how to extract court case search data from Doxpop:

1. Create a free Apify account using your email.
2. Open Doxpop Scraper on the Apify platform.
3. Click on the Try for free button.
4. Enter one or more supported Doxpop court `CaseSearch` URLs.
5. Set `maxItems` to control how many case records should be extracted per start URL.
6. Click on the Start button and wait for the data to be extracted.
7. Download your data in JSON, CSV, Excel, HTML, or other supported formats.

### Input

The actor accepts the following input parameters:

- startUrls (array of objects) - Required. Doxpop court `CaseSearch` URLs to start with.
- maxItems (integer) - Maximum number of case records to extract per start URL. Default: 5.
- proxyConfiguration (object) - Optional proxy settings. By default, the actor is configured to run without Apify Proxy.

#### Supported URL Types (examples)

This actor currently supports Doxpop court case search result URLs:

**Search URL example:**

- https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH\&partyRole=CASE\_PARTY\&fullName=te\&regionId=1\&isFullTextNameBasedSearch=true

**Additional search URL example:**

- https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH\&fullName=fe\&isFullTextNameBasedSearch=true\&partyRole=CASE\_PARTY\&regionId=1

**Unsupported pages:**

- Other Doxpop search forms such as judgments, recorded documents, and tax warrants are not handled by this actor unless explicitly added later.

Example:

```json
{
    "startUrls": [
        {
            "url": "https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH&partyRole=CASE_PARTY&fullName=te&regionId=1&isFullTextNameBasedSearch=true"
        },
        {
            "url": "https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH&fullName=fe&isFullTextNameBasedSearch=true&partyRole=CASE_PARTY&regionId=1"
        }
    ],
    "maxItems": 5,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
}
```

#### Note: The startUrls field is required

### Output

The scraped data is saved as a dataset. Each item represents one normalized Doxpop court case search result. You can download the dataset in JSON, JSONL, CSV, Excel, HTML table, or NDJSON format.

Example output structure:

```json
{
    "id": "1819022431659",
    "caseNumber": "48C03-1601-MC-000166",
    "caption": null,
    "type": "Criminal",
    "status": "Closed",
    "fileDate": "01/27/2016",
    "dispositionDate": "01/27/2016",
    "name": "2002 Maroon Hyundai Santa Fe",
    "actorId": "1819062986190EA50571C",
    "birthDate": null,
    "role": "Defendant",
    "caseDetailsUrl": "https://www.doxpop.com/prod/in/court/ViewCaseDetails?caseId=1819022431659"
}
```

#### Notes and Limitations

- This actor currently supports only Doxpop court `CaseSearch` URLs.
- The actor outputs only a fixed set of approved fields to keep the dataset stable even if Doxpop adds extra attributes.
- Public search results are available without full account access, but deeper details or associated documents may require login or subscription.
- Search coverage and visible result details may vary by jurisdiction, county, and record type.
- If Doxpop changes its search flow or response format, the actor may need to be updated.

#### Looking to Scrape more Government Websites?

In addition to this actor, you can explore our broader set of website scrapers published by Lexis Solutions. These actors are tailored for specific websites and use cases so the output stays structured and reliable.

| Scraper                                                                                      | Country        | Description                                                                                                                                                                                                                                                    |
| -------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Praca.gov.pl Scraper](https://apify.com/lexis-solutions/praca-gov-pl-scraper)               | Poland         | Extract up-to-date job postings from praca.gov.pl—the Polish government job portal. Gather detailed info on jobs, employers, salaries, and requirements. Ideal for market analysis, recruitment, and labor studies in Poland. Fast, flexible, and easy to use. |
| [UK Business Licence Scraper](https://apify.com/lexis-solutions/uk-business-licence-scraper) | United Kingdom | Scrape UK business licence data from GOV.UK for compliance and regulatory insights. Automate permit research, extract requirements, and monitor updates—ideal for consultants, legal teams, and business planning. Fast, structured and comprehensive results. |

Explore these solutions to expand your data collection capabilities across different websites and industries.

***

Got feedback or need an extension?

Lexis Solutions is a [certified Apify Partner](https://apify.com/partners). We can help you with custom solutions or data extraction projects.

Contact us over [Email](mailto:info@lexis.solutions) or [LinkedIn](https://www.linkedin.com/company/lexis-solutions)

Image Credit: https://www.doxpop.com/

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with.

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

Maximum number of cases that will be extracted.

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

Select proxies to be used by your crawler.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH&fullName=te&isFullTextNameBasedSearch=true&partyRole=CASE_PARTY&regionId=1&_login=1"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH&fullName=te&isFullTextNameBasedSearch=true&partyRole=CASE_PARTY&regionId=1&_login=1"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lexis-solutions/doxpop-com-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 = { "startUrls": [{ "url": "https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH&fullName=te&isFullTextNameBasedSearch=true&partyRole=CASE_PARTY&regionId=1&_login=1" }] }

# Run the Actor and wait for it to finish
run = client.actor("lexis-solutions/doxpop-com-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 '{
  "startUrls": [
    {
      "url": "https://www.doxpop.com/prod/in/court/CaseSearch?action=PERFORM-SEARCH&fullName=te&isFullTextNameBasedSearch=true&partyRole=CASE_PARTY&regionId=1&_login=1"
    }
  ]
}' |
apify call lexis-solutions/doxpop-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lexis-solutions/doxpop-com-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/vq10zePa0VsSMsNWu/builds/dBOWXFyPmnDzJx8Bw/openapi.json
