# Clark County Property Records (`maximedupre/clark-county-property-records`) Actor

Look up public Clark County property records by street address, parcel identifier, or owner name. Get available parcel, owner, address, value, sale, deed, tax, and qualification facts in a structured dataset. Owner searches can include a portfolio summary when the source provides it.

- **URL**: https://apify.com/maximedupre/clark-county-property-records.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Real estate, Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.40 / 1,000 property records

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🏠 Clark County property records for property research

Real estate researchers, investors, appraisers, and data teams can look up Clark County property records by street address, parcel identifier, or owner name. Get available parcel, owner, address, value, sale, deed, tax, and qualification facts in structured rows for review and analysis.

**Use cases**

- Use **[Clark County Property Tax Lookup](https://apify.com/maximedupre/clark-county-property-records/examples/clark-county-property-tax-lookup)** to review tax status and tax-year facts returned for a matched property.
- Use **[Clark County Recorder Property Search](https://apify.com/maximedupre/clark-county-property-records/examples/clark-county-recorder-property-search)** to review recorded deed history and source record links.
- Use **[Clark County Property Records Search](https://apify.com/maximedupre/clark-county-property-records/examples/clark-county-property-records-search)** to look up parcel, owner, address, value, sale, and deed facts.
- Use **[Clark County GIS Property Information](https://apify.com/maximedupre/clark-county-property-records/examples/clark-county-gis-property-information)** to inspect parcel and property-address facts from the public source.
- Use **[Clark County Property Search by Name](https://apify.com/maximedupre/clark-county-property-records/examples/clark-county-property-search-by-name)** to find properties linked to an owner name and see the portfolio summary when available.

#### 📋 Clark County records in each saved row

Each saved row is a public Clark County property record. A row can include parcel and address data, owner names or classification, property classification, assessed value and period, sale history, ownership duration, recorded deed history, public tax fields, qualification and distress signals, and a source name and record URL. Owner portfolio runs can also include a reported property count and total assessed value. Optional fields appear when the public source provides them.

#### ▶️ Choose a lookup and run it

Choose Property record to look up one or more street addresses or parcel identifiers. Choose Owner portfolio to search one or more owner names. Turn on Absentee owner only when you want matches where the property and mailing addresses suggest an out-of-area owner. Values in the other option section are ignored for that run.

The first eligible match for a source property is saved. Later matches of that same source property are ignored. Each saved row includes a source name and record URL when the source returns a record.

#### ⚙️ Input

Use Property record for address or parcel lookups, or Owner portfolio for owner-name searches. The form starts with a parcel-identifier lookup for `163-10-313-003`.

| Field | Type | What it does |
| --- | --- | --- |
| `resultType` | string | Selects `propertyRecord` for a property lookup or `ownerPortfolio` for an owner-name search. |
| `propertyLookup` | object | Holds the lookup method and values for Property record runs. It is ignored for Owner portfolio runs. |
| `propertyLookup.propertyLookupMethod` | string | Sets each property value as a `streetAddress` or `parcelIdentifier`. |
| `propertyLookup.propertyValues` | array of strings | One or more street addresses or parcel identifiers to look up. |
| `ownerNames` | array of strings | One or more owner names for Owner portfolio runs. It is ignored for Property record runs. |
| `absenteeOwnerOnly` | boolean | Keeps matches where the property and mailing addresses suggest an out-of-area owner when set to `true`. |

Input values for the other option are ignored for that run. Use a full street address for a street-address lookup, or a parcel identifier for a parcel lookup.

**Default input example**

This is the public input from a successful current-beta default-input run:

```json
{
  "resultType": "propertyRecord",
  "propertyLookup": {
    "propertyLookupMethod": "parcelIdentifier",
    "propertyValues": [
      "163-10-313-003"
    ]
  },
  "absenteeOwnerOnly": false
}
```

#### 🧾 Output

The public run output has a `dataset` URL string that opens the default dataset. Each row includes a `source` object and has either `parcelIdentifier` or `propertyAddress`. Fields are omitted when the public source does not provide them.

**Property record rows**

This shape is used for a street-address or parcel-identifier lookup. The table covers every field in the public dataset schema for this shape.

| Field | Type | What it does |
| --- | --- | --- |
| `parcelIdentifier` | string | Parcel identifier published by the public source. |
| `propertyAddress` | object | Published address of the property. |
| `propertyAddress.street` | string | Street line of the property address. |
| `propertyAddress.city` | string | City in the property address. |
| `propertyAddress.state` | string | State in the property address. |
| `propertyAddress.postalCode` | string | Postal code in the property address, when available. |
| `propertyAddress.county` | string | County published with the property address, when available. |
| `mailingAddress` | object | Mailing address published for the property owner. |
| `mailingAddress.street` | string | Street line of the mailing address, when available. |
| `mailingAddress.city` | string | City in the mailing address, when available. |
| `mailingAddress.state` | string | State in the mailing address, when available. |
| `mailingAddress.postalCode` | string | Postal code in the mailing address, when available. |
| `mailingAddress.county` | string | County published with the mailing address, when available. |
| `owner` | object | Owner identity or classification published for the property. |
| `owner.names` | array of strings | Owner names published by the source. |
| `owner.names[]` | string | One owner name published by the source. |
| `owner.classification` | string | Owner classification, when available. |
| `classification` | string | Property classification, when available. |
| `value` | object | Property value facts published by the source. |
| `value.assessed` | number | Assessed value published by the source. |
| `value.asOfDate` | string | Fiscal year or source period for the value facts. |
| `saleHistory` | array of objects | Sale events published for the property. |
| `saleHistory[]` | object | One sale event. |
| `saleHistory[].saleDate` | string | Year and month of the sale. |
| `saleHistory[].recordedDate` | date string | Date when the sale was recorded, when published. |
| `saleHistory[].price` | number | Sale price published by the source. |
| `ownership` | object | Ownership-duration facts published by the source. |
| `ownership.durationYears` | number | Ownership duration in years. |
| `deedHistory` | array of objects | Recorded deed events published for the property. |
| `deedHistory[]` | object | One recorded deed event. |
| `deedHistory[].recordedDate` | date string | Date when the deed was recorded. |
| `deedHistory[].documentType` | string | Deed document type. |
| `deedHistory[].documentNumber` | string | Source document number for the deed. |
| `deedHistory[].grantorNames` | array of strings | Grantor names published for the deed. |
| `deedHistory[].grantorNames[]` | string | One grantor name. |
| `deedHistory[].granteeNames` | array of strings | Grantee names published for the deed. |
| `deedHistory[].granteeNames[]` | string | One grantee name. |
| `tax` | object | Public tax facts published for the property. |
| `tax.status` | string | Public tax status. |
| `tax.taxYear` | string | Fiscal-year range for the tax status. |
| `tax.delinquentAmount` | number | Delinquent tax amount, when published. |
| `qualificationSignals` | object | Optional public-record signals for property qualification. |
| `qualificationSignals.absenteeOwnership` | boolean | Whether the property and mailing addresses indicate an out-of-area owner. |
| `qualificationSignals.entityOwnership` | boolean | Whether the public record indicates entity ownership. |
| `qualificationSignals.longTenure` | boolean | Whether the public record indicates a long ownership period. |
| `qualificationSignals.highValue` | boolean | Whether the public record indicates a high-value property. |
| `distressSignals` | object | Optional public-record distress indicators. |
| `distressSignals.foreclosure` | boolean | Whether the public record indicates a foreclosure matter. |
| `source` | object | Public record source used for the row. |
| `source.name` | string | Name of the public record source. |
| `source.recordUrl` | URL string | URL of the source record used for verification. |

Here is a complete row from a successful current-beta property-record run:

```json
{
  "parcelIdentifier": "059-08-701-003",
  "propertyAddress": {
    "street": "780 W GRETTA LN",
    "city": "INDIAN SPRINGS",
    "state": "NV",
    "postalCode": "89018",
    "county": "Clark County"
  },
  "mailingAddress": {
    "street": "1351 W CHINA ST",
    "city": "PAHRUMP",
    "state": "NV",
    "postalCode": "89048",
    "county": "Clark County"
  },
  "owner": {
    "names": [
      "HOLDEN BRUCE C"
    ],
    "classification": "individual"
  },
  "classification": "23.188 - Manufactured Home. Non-Estates",
  "value": {
    "assessed": 56540,
    "asOfDate": "2026-27"
  },
  "saleHistory": [
    {
      "saleDate": "2000-10",
      "recordedDate": "2001-07-12",
      "price": 40000
    }
  ],
  "ownership": {
    "durationYears": 47.46
  },
  "deedHistory": [
    {
      "recordedDate": "2014-12-19",
      "documentType": "SUBSTITUTION/RECONVEYANCE",
      "documentNumber": "201412190002712",
      "grantorNames": [
        "JPMORGAN CHASE BANK NATIONAL ASSOCIATION"
      ],
      "granteeNames": [
        "HOLDEN, BRUCE C"
      ]
    }
  ],
  "tax": {
    "status": "PAID",
    "taxYear": "2026-2027",
    "delinquentAmount": 0
  },
  "qualificationSignals": {
    "absenteeOwnership": true,
    "entityOwnership": false,
    "highValue": false,
    "longTenure": true
  },
  "distressSignals": {
    "foreclosure": false
  },
  "source": {
    "name": "Clark County public property records",
    "recordUrl": "https://maps.clarkcountynv.gov/assessor/AssessorParcelDetail/parceldetail.aspx?hdnParcel=05908701003"
  }
}
```

**Owner portfolio rows**

This shape is used for an owner-name search. It can include the same property fields as a property record and adds `ownerPortfolioSummary` when the source reports owner-level totals.

| Field | Type | What it does |
| --- | --- | --- |
| `parcelIdentifier` | string | Parcel identifier published by the public source. |
| `propertyAddress` | object | Published address of the property. |
| `propertyAddress.street` | string | Street line of the property address. |
| `propertyAddress.city` | string | City in the property address. |
| `propertyAddress.state` | string | State in the property address. |
| `propertyAddress.postalCode` | string | Postal code in the property address, when available. |
| `propertyAddress.county` | string | County published with the property address, when available. |
| `mailingAddress` | object | Mailing address published for the property owner. |
| `mailingAddress.street` | string | Street line of the mailing address, when available. |
| `mailingAddress.city` | string | City in the mailing address, when available. |
| `mailingAddress.state` | string | State in the mailing address, when available. |
| `mailingAddress.postalCode` | string | Postal code in the mailing address, when available. |
| `mailingAddress.county` | string | County published with the mailing address, when available. |
| `owner` | object | Owner identity or classification published for the property. |
| `owner.names` | array of strings | Owner names published by the source. |
| `owner.names[]` | string | One owner name published by the source. |
| `owner.classification` | string | Owner classification, when available. |
| `classification` | string | Property classification, when available. |
| `value` | object | Property value facts published by the source. |
| `value.assessed` | number | Assessed value published by the source. |
| `value.asOfDate` | string | Fiscal year or source period for the value facts. |
| `saleHistory` | array of objects | Sale events published for the property. |
| `saleHistory[]` | object | One sale event. |
| `saleHistory[].saleDate` | string | Year and month of the sale. |
| `saleHistory[].recordedDate` | date string | Date when the sale was recorded, when published. |
| `saleHistory[].price` | number | Sale price published by the source. |
| `ownership` | object | Ownership-duration facts published by the source, when available. |
| `ownership.durationYears` | number | Ownership duration in years. |
| `deedHistory` | array of objects | Recorded deed events published for the property. |
| `deedHistory[]` | object | One recorded deed event. |
| `deedHistory[].recordedDate` | date string | Date when the deed was recorded. |
| `deedHistory[].documentType` | string | Deed document type. |
| `deedHistory[].documentNumber` | string | Source document number for the deed. |
| `deedHistory[].grantorNames` | array of strings | Grantor names published for the deed. |
| `deedHistory[].grantorNames[]` | string | One grantor name. |
| `deedHistory[].granteeNames` | array of strings | Grantee names published for the deed. |
| `deedHistory[].granteeNames[]` | string | One grantee name. |
| `tax` | object | Public tax facts published for the property. |
| `tax.status` | string | Public tax status. |
| `tax.taxYear` | string | Fiscal-year range for the tax status. |
| `tax.delinquentAmount` | number | Delinquent tax amount, when published. |
| `qualificationSignals` | object | Optional public-record signals for property qualification. |
| `qualificationSignals.absenteeOwnership` | boolean | Whether the property and mailing addresses indicate an out-of-area owner. |
| `qualificationSignals.entityOwnership` | boolean | Whether the public record indicates entity ownership. |
| `qualificationSignals.longTenure` | boolean | Whether the public record indicates a long ownership period. |
| `qualificationSignals.highValue` | boolean | Whether the public record indicates a high-value property. |
| `distressSignals` | object | Optional public-record distress indicators. |
| `distressSignals.foreclosure` | boolean | Whether the public record indicates a foreclosure matter. |
| `ownerPortfolioSummary` | object | Owner-level facts reported by the public record search. |
| `ownerPortfolioSummary.reportedPropertyCount` | integer | Property count reported by the source search. |
| `ownerPortfolioSummary.reportedTotalAssessedValue` | number | Total assessed value reported by the source search. |
| `source` | object | Public record source used for the row. |
| `source.name` | string | Name of the public record source. |
| `source.recordUrl` | URL string | URL of the source record used for verification. |

Here is a complete row from a successful current-beta owner-portfolio run:

```json
{
  "parcelIdentifier": "177-09-802-012",
  "propertyAddress": {
    "street": "7987 PLACID ST",
    "city": "ENTERPRISE",
    "state": "NV",
    "county": "Clark County"
  },
  "mailingAddress": {
    "street": "7987 PLACID ST",
    "city": "LAS VEGAS",
    "state": "NV",
    "postalCode": "89123",
    "county": "Clark County"
  },
  "owner": {
    "names": [
      "KUCK MICHAEL E & GRACE V"
    ],
    "classification": "individual"
  },
  "classification": "20.110 - Single Family Residential",
  "value": {
    "assessed": 231731,
    "asOfDate": "2026-27"
  },
  "saleHistory": [
    {
      "saleDate": "2017-11",
      "recordedDate": "2017-11-30",
      "price": 395000
    }
  ],
  "deedHistory": [
    {
      "recordedDate": "2024-10-28",
      "documentType": "SUBSTITUTION/RECONVEYANCE",
      "documentNumber": "202410280000009",
      "grantorNames": [
        "FIRST AMERICAN TITLE INSURANCE COMPANY"
      ],
      "granteeNames": [
        "KUCK, MICHAEL E"
      ]
    }
  ],
  "tax": {
    "status": "CURRENT",
    "taxYear": "2026-2027",
    "delinquentAmount": 0
  },
  "qualificationSignals": {
    "absenteeOwnership": true,
    "entityOwnership": false,
    "highValue": true
  },
  "distressSignals": {
    "foreclosure": false
  },
  "ownerPortfolioSummary": {
    "reportedPropertyCount": 1,
    "reportedTotalAssessedValue": 231731
  },
  "source": {
    "name": "Clark County public property records",
    "recordUrl": "https://maps.clarkcountynv.gov/assessor/AssessorParcelDetail/parceldetail.aspx?hdnParcel=17709802012"
  }
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. Each saved property record uses one `Property record` event. The event price depends on your Apify plan. Check the current event price in the Store before you run.

#### 🔌 Integrations

Open the default dataset in Apify Console or read it through the Apify API. Use each row's `source.recordUrl` to open the public source record.

**Walkthrough**

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### What happens when a property appears in more than one submitted value?

The first eligible match for that source property is saved. Later matches of the same source property are ignored in the run.

##### Can I search by owner name?

Yes. Set `resultType` to `ownerPortfolio` and add one or more values to `ownerNames`. The dataset can include associated property rows and an owner portfolio summary when the source reports it.

##### What does `absenteeOwnerOnly` do?

When it is `true`, the Actor keeps matches where the property and mailing addresses suggest an out-of-area owner. This is a public-record signal, not an independent ownership finding.

##### Does an owner search list every property that person controls?

No. It returns properties discovered by the public search. It does not promise an exhaustive list of every parcel an owner controls.

##### Are tax, sale, and deed fields always present?

No. These fields are optional and appear when the public source provides them.

##### Does this provide a title or lien search?

No. It returns available public property, tax, sale, and deed facts. It does not establish title, lien status, or a legal conclusion.

##### What happens if the search finds no match?

The run can finish with no rows. Check the spelling, use a full street address when you have one, or try the parcel identifier from the source.

### 📝 Changelog

**v0.0** (26-09-2026)

- Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~clark-county-property-records/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [PropertyShark Scraper](https://apify.com/maximedupre/propertyshark): Compare Clark County records with broader public property, sale, and building data.
- [Zillow Foreclosure & Pre-Foreclosure Scraper](https://apify.com/maximedupre/zillow-foreclosure-pre-foreclosure-scraper): Find public foreclosure and pre-foreclosure listings when you need distress-specific property data.
- [Realtor Scraper](https://apify.com/maximedupre/realtor-scraper): Compare public listing prices, listing status, and market details with county records.
- [Maricopa County Property Records Scraper](https://apify.com/automation-lab/maricopa-county-property-records-scraper): Look up public assessor records in Maricopa County with APNs, owners, or addresses.
- [Property Owner, Tax & Deed Records Intel](https://apify.com/seibs.co/property-records-intel): Combine property, tax, sale, and deed context across supported counties.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `resultType` (type: `string`):

Choose Property record for a street-address or parcel-identifier lookup, or Owner portfolio for an owner-name search.

## `propertyLookup` (type: `object`):

For Property record runs, use Find property by to enter street addresses or parcel identifiers. These values are ignored for Owner portfolio runs.

## `ownerNames` (type: `array`):

Enter one or more owner names for Owner portfolio runs. These values are ignored for Property record runs.

## `absenteeOwnerOnly` (type: `boolean`):

Turn this on to keep Property record and Owner portfolio matches where property and mailing addresses suggest an out-of-area owner. Leave it off to keep all matches.

## Actor input object example

```json
{
  "resultType": "propertyRecord",
  "propertyLookup": {
    "propertyLookupMethod": "parcelIdentifier",
    "propertyValues": [
      "163-10-313-003"
    ]
  },
  "absenteeOwnerOnly": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

Open the successful property records and owner portfolios from this run.

# 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 = {
    "resultType": "propertyRecord",
    "propertyLookup": {
        "propertyLookupMethod": "parcelIdentifier",
        "propertyValues": [
            "163-10-313-003"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/clark-county-property-records").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 = {
    "resultType": "propertyRecord",
    "propertyLookup": {
        "propertyLookupMethod": "parcelIdentifier",
        "propertyValues": ["163-10-313-003"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/clark-county-property-records").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 '{
  "resultType": "propertyRecord",
  "propertyLookup": {
    "propertyLookupMethod": "parcelIdentifier",
    "propertyValues": [
      "163-10-313-003"
    ]
  }
}' |
apify call maximedupre/clark-county-property-records --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/clark-county-property-records"
        }
    }
}
```

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/8S8wBHDla6x4gvsJE/builds/tIDbom7Bd4lawSO6G/openapi.json
