Maricopa County Property Records Scraper avatar

Maricopa County Property Records Scraper

Pricing

Pay per event

Go to Apify Store
Maricopa County Property Records Scraper

Maricopa County Property Records Scraper

Search Maricopa County assessor records by APN, owner, or address. Export owner, mailing, deed, valuation, lot, district, and residential facts to JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract Maricopa County property records from the public Assessor website by APN, owner name, or street address.

Get parcel identity, ownership, situs and mailing addresses, deeds, lot facts, districts, valuation history, tax classification, and residential characteristics without an assessor account or API key.

Use the results in JSON, CSV, Excel, XML, an API integration, a scheduled workflow, or an AI agent.

What does Maricopa County Property Records Scraper do?

Maricopa County Property Records Scraper searches the public Maricopa County Assessor and turns parcel pages into structured records.

It supports three common lookup jobs:

  • πŸ”Ž Find parcels from a property address.
  • πŸ‘€ Find parcels associated with an owner name.
  • 🧾 Look up a precise assessor parcel number (APN).

Each result can include six years of valuation data and detailed residential attributes.

The Actor uses the Assessor site's anonymous page-issued request tokens.

No browser, login, private credential, or paid third-party property API is required.

Who is it for?

Real-estate investors and wholesalers

  • Build parcel-owner lead lists for Phoenix and surrounding Maricopa County markets.
  • Add mailing addresses and deed facts to property research.
  • Schedule recurring owner or address searches to refresh lists.

Appraisers and tax-appeal analysts

  • Compare full cash value, limited property value, and assessed LPV by year.
  • Review classification, use code, tax area, lot, and building characteristics.
  • Export source-linked evidence for analysis in spreadsheets or databases.

Title, lending, and proptech teams

  • Resolve APNs into normalized owner and property facts.
  • Sync parcel records through the Apify API.
  • Route completed datasets to data warehouses, CRMs, or review queues.

Home buyers and researchers

  • Inspect public assessor facts for a known property.
  • Compare situs and mailing addresses.
  • Review construction year, livable area, pool, roof, HVAC, and parking data when available.

Why use this Maricopa County assessor scraper?

  • βœ… No login or assessor API key β€” the useful public scope is anonymous.
  • βœ… Three search intents β€” APN, owner, and address searches use one stable input contract.
  • βœ… Rich parcel enrichment β€” one row combines search, detail, valuation, and building facts.
  • βœ… Typed exports β€” monetary values, years, areas, booleans, and counts are normalized.
  • βœ… Source traceability β€” every row includes the parcel detail URL and original query.
  • βœ… Low-overhead HTTP extraction β€” no browser runtime is needed.
  • βœ… Apify automation β€” schedule runs, call an API, use webhooks, and integrate with other tools.
  • βœ… Global item limit β€” control output volume and cost across multiple searches.

What Maricopa County property data can you extract?

CategoryExample fields
Parcel identityapn, mcr, subdivisionName, sectionTownshipRange
OwnershipownerName, mailingAddress, isRental
Property locationsitusAddress, situsCity, situsZip, fullSitusAddress
Property typepropertyType, currentPropertyUse, currentLegalClassification
Deed and saledeedNumber, deedDate, saleDate, salePrice
Land and jurisdictionlotSizeSqFt, lotNumber, school districts, jurisdiction, neighborhood
Current valuationtax year, full cash value, limited property value, assessed LPV, tax area
Valuation historyall available years with classification, ratio, use code, and source
Residential buildingconstruction year, livable area, pool, quality, walls, roof, HVAC
Parkinggarage spaces, carport spaces, and parking type
ProvenancesourceUrl, searchQuery, searchType, scrapedAt

Some fields are naturally absent for vacant land, commercial parcels, or records where the Assessor does not publish that fact.

Missing optional source values are omitted instead of filled with misleading placeholders.

How much does it cost to scrape Maricopa County property records?

This Actor uses pay-per-event pricing.

There is one small run-start charge and one charge per unique property record saved.

Apify planStartPer property
Free$0.005$0.00076486
Starter / Bronze$0.005$0.00066510
Scale / Silver$0.005$0.00051878
Business / Gold$0.005$0.00039906
Platinum$0.005$0.00026604
Diamond$0.005$0.00018623

Example costs with the current prices:

OutputFree planStarter plan
1 propertyabout $0.0058about $0.0057
100 propertiesabout $0.081about $0.072
1,000 propertiesabout $0.77about $0.67

The Apify Free plan includes platform credits, so you can test a small lookup before starting a larger workflow.

A query returning zero matching properties incurs no per-property charge.

How to scrape Maricopa County property records

  1. Open Maricopa County Property Records Scraper on Apify.
  2. Enter one or more APNs, owner names, or addresses.
  3. Choose the matching search type, or keep Auto detect / mixed.
  4. Set a conservative maximum number of properties.
  5. Keep parcel details and valuation history enabled for enriched output.
  6. Click Start.
  7. Preview the property records in the Dataset tab.
  8. Export the dataset as JSON, CSV, Excel, XML, or RSS.
  9. Save the task or schedule it if you need repeat refreshes.

Start with a single known APN such as 10578232 to see the complete residential output shape.

Input parameters

FieldTypeDefaultPurpose
searchQueriesstring array["10578232"]APNs, owner names, or property addresses; one per line
searchTypestringautoauto, apn, owner, or address
maxItemsinteger25Maximum unique parcels across all searches, from 1 to 1,000
includeDetailsbooleantrueLoad owner mailing, deed, lot, school, and jurisdiction facts
includeValuationsbooleantrueAdd valuation history and normalized current value fields
includeResidentialDetailsbooleantrueAdd residential building and parking characteristics
includeImprovementsbooleantrueAdd source-provided improvement records when available
proxyConfigurationobjectdirect connectionOptional Apify Proxy configuration

APN mode accepts compact or hyphenated Maricopa parcel numbers, for example 10578232 or 105-78-232.

A run supports up to 50 search entries.

maxItems is global, so duplicate APNs found by multiple queries appear only once.

Input examples

One exact APN with full details

{
"searchQueries": ["10578232"],
"searchType": "apn",
"maxItems": 1
}

Address search with a small lead sample

{
"searchQueries": ["301 W Jefferson St Phoenix"],
"searchType": "address",
"maxItems": 10,
"includeDetails": true
}

Multiple owner searches for a recurring list

{
"searchQueries": ["MARICOPA COUNTY", "ARIZONA STATE OF"],
"searchType": "owner",
"maxItems": 100,
"includeValuations": true
}

Fast search-only export

{
"searchQueries": ["301 W Jefferson St Phoenix"],
"searchType": "address",
"maxItems": 25,
"includeDetails": false
}

Output example

{
"apn": "10578232",
"ownerName": "QUINTERO MARIA ROSAURA BELTRAN",
"mailingAddress": "1934 W JEFFERSON ST, PHOENIX, AZ 85009",
"fullSitusAddress": "1752 W HIDALGO AVE, PHOENIX, 85041",
"subdivisionName": "VISTA GRANDE",
"propertyType": "RESIDENTIAL",
"isRental": false,
"deedNumber": "20180548275",
"deedDate": "07/19/2018",
"lotSizeSqFt": 6194,
"localJurisdiction": "PHOENIX",
"currentTaxYear": 2027,
"currentFullCashValue": 279300,
"currentLimitedPropertyValue": 56626,
"currentAssessedLimitedPropertyValue": 5663,
"currentPropertyUse": "Single Family Residence",
"constructionYear": 1970,
"livableAreaSqFt": 1296,
"pool": false,
"garageSpaces": 1,
"carportSpaces": 1,
"sourceUrl": "https://mcassessor.maricopa.gov/mcs/?q=10578232&mod=pd",
"searchQuery": "10578232",
"searchType": "apn"
}

The complete record also contains a valuations array with all available years.

Improvement rows are included only when the source returns them.

Understanding valuation fields

currentFullCashValue is the newest full cash value published by the Assessor.

currentLimitedPropertyValue is the newest limited property value.

currentAssessedLimitedPropertyValue is the assessed LPV after the source assessment ratio is applied.

The first valuations entry is also flattened into the current-value fields for easy spreadsheet filtering.

Every valuation entry can contain:

  • Tax year.
  • Full cash value.
  • Limited property value.
  • Assessed full cash and limited values when published.
  • Legal classification code and description.
  • Assessment ratio.
  • Property use code and description.
  • Tax area code.
  • Valuation source.

Assessor values are public assessment facts, not an appraisal or a guaranteed market price.

Tips for best results

  • 🎯 Use APN mode when you know the parcel number; it is the most precise lookup.
  • 🏠 Include city names in address searches to reduce broad matches.
  • πŸ‘€ Enter owner names in the order shown by public records when possible.
  • πŸ“¦ Start with maxItems between 1 and 10 while testing a new query.
  • ⚑ Disable includeDetails when you need only APN, owner, situs, subdivision, and property type.
  • πŸ“Š Keep valuation enrichment enabled for tax, appraisal, and portfolio workflows.
  • πŸ” Schedule repeat owner searches rather than downloading the same broad result manually.
  • πŸ”— Retain sourceUrl when analysts need to review the current public parcel page.
  • 🧹 Deduplicate downstream records by apn, not by owner or address.

Integrations and recurring workflows

Maricopa property records β†’ Google Sheets

Schedule an owner search and append new APNs to a lead-review sheet.

Maricopa property records β†’ Airtable or a CRM

Use apn as the external key, then update owner, mailing, deed, and valuation columns on each run.

Maricopa property records β†’ Slack or Microsoft Teams

Send a webhook when a watched parcel's newest valuation or deed fact changes.

Maricopa property records β†’ Make or Zapier

Start a task from a new address row, wait for the run, and send the normalized property result to another system.

Maricopa property records β†’ a data warehouse

Pull the dataset through the API and store valuation arrays for longitudinal analysis.

Scheduled portfolio refresh

Save a task containing known APNs and run it weekly or monthly to refresh public assessor facts.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/maricopa-county-property-records-scraper').call({
searchQueries: ['10578232'],
searchType: 'apn',
maxItems: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Install the client with npm install apify-client.

Using the Apify API with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/maricopa-county-property-records-scraper').call(run_input={
'searchQueries': ['301 W Jefferson St Phoenix'],
'searchType': 'address',
'maxItems': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Install the client with pip install apify-client.

Using the Apify API with cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~maricopa-county-property-records-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["10578232"],
"searchType": "apn",
"maxItems": 1
}'

After the run succeeds, read items from its defaultDatasetId through the Apify Dataset API.

Do not place an Apify token in client-side code or a public repository.

Use Maricopa County property data with AI agents via MCP

This Actor is available to assistants that support the Model Context Protocol.

For Claude Code, run:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/maricopa-county-property-records-scraper"

For Claude Desktop, Cursor, or VS Code, add:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/maricopa-county-property-records-scraper"
}
}
}

Your client will ask you to authenticate with Apify.

Example prompts:

  • β€œUse automation-lab/maricopa-county-property-records-scraper to look up APN 10578232 and summarize its newest valuation.”
  • β€œFind up to 10 parcels matching 301 W Jefferson St Phoenix and save their owners and mailing addresses.”
  • β€œRefresh these Maricopa County APNs and compare current full cash values with the previous tax year.”

The Actor extracts publicly accessible government property records without bypassing a login.

Public availability does not remove every responsibility.

Use the data for a lawful purpose, follow applicable website terms and access rules, and avoid excessive requests.

Property records can contain owner and mailing information.

If personal data is involved, comply with privacy, marketing, fair-housing, consumer-protection, and data-retention laws that apply to your jurisdiction and use case.

Do not use the output for harassment, discrimination, identity theft, or decisions that require a regulated data source.

This Actor is a technical extraction tool and does not provide legal, tax, title, or appraisal advice.

Limitations and source behavior

  • The Actor covers the public Maricopa County Assessor website, not every Arizona county.
  • Search matching and record availability are controlled by the Assessor.
  • Broad owner names can return many matches; maxItems stops output after the selected limit.
  • Some commercial, vacant-land, and personal-property records do not have residential characteristics.
  • Sale price and sale date can be unavailable even when deed information exists.
  • Valuation years change as the Assessor publishes a new cycle.
  • Source maintenance, rate limits, or token changes can temporarily affect extraction.
  • An address search can return nearby or textually related records; review APN and situs fields.
  • The Actor reports public assessor data and does not verify ownership or title status independently.

Troubleshooting

Why did my search return no properties?

Check spelling and search intent. Try a compact APN, a shorter owner name, or an address with the city. A valid no-match search completes successfully with an empty dataset.

Why are residential fields missing?

The parcel may be commercial, vacant land, or another type without a residential-detail response. The core parcel record remains useful.

Why is the Assessor request failing?

Retry after a short interval. If your network is blocked, enable Apify Proxy and keep one stable US session. The Actor automatically obtains fresh anonymous page tokens.

Why did I receive fewer rows than the source total?

maxItems is a global cap. Increase it carefully, and remember duplicate APNs across searches are emitted only once.

How do I inspect a questionable value?

Open the row's sourceUrl and compare the current public parcel page. Keep scrapedAt when data freshness matters.

FAQ

How fast is the Maricopa County property scraper?

A single enriched APN usually completes in seconds. Broad searches take longer because each selected parcel can require detail and valuation requests.

Does it require an official assessor API key?

No. It uses anonymous public pages and the same page-issued request tokens used by the Assessor website.

Can I search owners and addresses in one run?

Yes. Use searchType: "auto" and place mixed values in searchQueries.

Can I export CSV or Excel?

Yes. Apify datasets support JSON, CSV, Excel, XML, HTML, and RSS exports.

How are duplicate properties handled?

The Actor normalizes APNs and emits each parcel once per run, even when multiple queries find it.

Does it include tax bills or delinquency status?

No. It focuses on Assessor parcel, valuation, classification, deed, lot, and building data. Tax-collector balances are a different source and workflow.

Can I monitor changes over time?

Yes. Save a task, schedule it, and compare records by APN and tax year in your destination system.

Is this an appraisal or title report?

No. It is a structured export of public assessor facts and should not replace professional appraisal or title work.

Choose the county assessor Actor when you need government parcel and valuation facts.

Choose listing Actors when you need current marketed homes, asking prices, photos, or listing-agent information.

Data quality and responsible automation

The Actor preserves source-native text where normalization could change legal meaning, while converting unambiguous amounts, years, areas, counts, and booleans into typed values.

Use apn as the stable parcel key.

Store historical snapshots if your workflow needs change detection because the public page shows the current state.

Keep runs bounded and scheduled at a reasonable frequency.

Review high-impact decisions against authoritative county records and qualified professionals.

For technical questions, include the run ID, a redacted input example, and the affected APN when opening an issue on Apify.