# US Foreclosure Auction Calendar — Ohio Sheriff Sales (`dwelldata/us-foreclosure-auction-calendar`) Actor

Upcoming sheriff-sale foreclosure auctions in Summit and Mahoning County, Ohio, from the official court-journal publications. Every row has the sale date, property address, appraised value, opening-bid floor with its legal basis, case number, parties and a source URL. Empty results are not billed.

- **URL**: https://apify.com/dwelldata/us-foreclosure-auction-calendar.md
- **Developed by:** [Sean](https://apify.com/dwelldata) (community)
- **Categories:** Real estate, Lead generation, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 auction records

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

## US Foreclosure Auction Calendar: Ohio Sheriff Sales

**A query that matches nothing costs you nothing.** Billing is one charge per record
delivered. Ask for sales in a county we do not cover, or a week with nothing on the
docket, and you get a typed reason back and no record charge. You should not have to
pay to find out a calendar is empty.

This Actor returns the forward calendar of sheriff-sale foreclosure auctions, parsed
from the official court-journal publications that counties are legally required to
print. It is the same notice a lawyer reads, turned into rows.

### What each record contains

| Field | What it is |
|---|---|
| `sale_date` | The scheduled sale date, as `YYYY-MM-DD`. |
| `property_address` | The property as the notice prints it. |
| `appraised_value` | Court-ordered appraisal. Null on tax foreclosures, which print a minimum bid instead. |
| `opening_bid` | Where bidding starts. |
| `opening_bid_basis` | How that number was arrived at: `published_minimum` when the notice prints one, `statutory_two_thirds_appraisal` when it is Ohio's legal floor under ORC 2329.20, or `not_determinable`. |
| `case_number` | The docket number, so you can pull the file yourself. |
| `plaintiff` / `defendant` / `attorney` | The parties and counsel of record. |
| `parcel_id`, `city`, `zip` | Present when the journal publishes them separately, null with a reason when it does not. |
| `source_url` | The court-journal publication this row was parsed from. |

That `opening_bid_basis` field matters more than it looks. A two-thirds statutory
floor applies to the first sale only. If a case is remanded and re-sold, the second
sale can have no floor at all, and treating the two the same way is how people
misprice a bid.

### Coverage

Summit County (Akron) and Mahoning County (Youngstown), Ohio. At the time of writing
that is roughly 60 upcoming sales on the books, running about eight weeks out, with
around 120 records total once past sales are included.

The calendar refreshes daily. Sales get postponed and cancelled right up to the day,
which is a fact of foreclosure rather than a data problem. A postponed case
reappears under its new date.

### Filters

| Field | Effect |
|---|---|
| `county` | Substring match. `Summit` or `Mahoning`. |
| `from_date` / `to_date` | `YYYY-MM-DD` window. Leave `from_date` blank and you get today forward. |
| `min_appraised` | Floor on appraised value. Drops the small tax parcels, and also drops rows with no published appraisal. |
| `include_past` | Off by default. Turn it on to see what already sold. |
| `maxItems` | Caps records delivered and therefore caps the bill. |

### Output

One dataset item per scheduled sale, ordered soonest first.

### Why buy a calendar

Because the window is short. A notice publishes, the sale happens a few weeks later,
and in between there is a defendant who would rather sell than lose the property on
the courthouse steps. The appraisal and the opening-bid floor tell you what the
court thinks it is worth. What you do with the gap is your business.

***

*Data from the DwellData real-estate engine. Sibling Actors cover per-address
property lookup, the scored multifamily deals feed, county tax-delinquency distress
signals, and scored off-market seller leads.*

# Actor input Schema

## `county` (type: `string`):

Substring match on the county name. Covered counties are Summit (Akron) and Mahoning (Youngstown), both in Ohio.

## `from_date` (type: `string`):

YYYY-MM-DD. Defaults to today, so you get the forward calendar and not history.

## `to_date` (type: `string`):

YYYY-MM-DD. Use it with the field above to pull one specific sale week.

## `min_appraised` (type: `integer`):

Drops the small tax-foreclosure parcels. Note that rows with no published appraisal are dropped too, since there is nothing to compare against.

## `include_past` (type: `boolean`):

Off by default. Tick it to include sales whose date has already passed, which is how you check what a property was appraised at before it sold.

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

Hard cap on records delivered, and therefore on what the run can cost. The upcoming calendar is usually well under a hundred sales, so this rarely binds unless you turn on past sales.

## Actor input object example

```json
{
  "county": "Summit",
  "from_date": "2026-09-01",
  "to_date": "2026-09-30",
  "min_appraised": 50000,
  "include_past": false,
  "maxItems": 500
}
```

# Actor output Schema

## `records` (type: `string`):

Every delivered sheriff-sale record for this run, ordered by sale date.

## `summary` (type: `string`):

Record count, the filters as applied, upstream generation time and the data guarantee.

# 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 = {
    "county": "Summit",
    "maxItems": 500
};

// Run the Actor and wait for it to finish
const run = await client.actor("dwelldata/us-foreclosure-auction-calendar").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 = {
    "county": "Summit",
    "maxItems": 500,
}

# Run the Actor and wait for it to finish
run = client.actor("dwelldata/us-foreclosure-auction-calendar").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 '{
  "county": "Summit",
  "maxItems": 500
}' |
apify call dwelldata/us-foreclosure-auction-calendar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dwelldata/us-foreclosure-auction-calendar"
        }
    }
}

```

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/pK1YafEVdxBwJzUPX/builds/j2blfq5iHNvNUlCyc/openapi.json
