Maricopa County Property Records Scraper
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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?
| Category | Example fields |
|---|---|
| Parcel identity | apn, mcr, subdivisionName, sectionTownshipRange |
| Ownership | ownerName, mailingAddress, isRental |
| Property location | situsAddress, situsCity, situsZip, fullSitusAddress |
| Property type | propertyType, currentPropertyUse, currentLegalClassification |
| Deed and sale | deedNumber, deedDate, saleDate, salePrice |
| Land and jurisdiction | lotSizeSqFt, lotNumber, school districts, jurisdiction, neighborhood |
| Current valuation | tax year, full cash value, limited property value, assessed LPV, tax area |
| Valuation history | all available years with classification, ratio, use code, and source |
| Residential building | construction year, livable area, pool, quality, walls, roof, HVAC |
| Parking | garage spaces, carport spaces, and parking type |
| Provenance | sourceUrl, 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 plan | Start | Per 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:
| Output | Free plan | Starter plan |
|---|---|---|
| 1 property | about $0.0058 | about $0.0057 |
| 100 properties | about $0.081 | about $0.072 |
| 1,000 properties | about $0.77 | about $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
- Open Maricopa County Property Records Scraper on Apify.
- Enter one or more APNs, owner names, or addresses.
- Choose the matching search type, or keep Auto detect / mixed.
- Set a conservative maximum number of properties.
- Keep parcel details and valuation history enabled for enriched output.
- Click Start.
- Preview the property records in the Dataset tab.
- Export the dataset as JSON, CSV, Excel, XML, or RSS.
- 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
| Field | Type | Default | Purpose |
|---|---|---|---|
searchQueries | string array | ["10578232"] | APNs, owner names, or property addresses; one per line |
searchType | string | auto | auto, apn, owner, or address |
maxItems | integer | 25 | Maximum unique parcels across all searches, from 1 to 1,000 |
includeDetails | boolean | true | Load owner mailing, deed, lot, school, and jurisdiction facts |
includeValuations | boolean | true | Add valuation history and normalized current value fields |
includeResidentialDetails | boolean | true | Add residential building and parking characteristics |
includeImprovements | boolean | true | Add source-provided improvement records when available |
proxyConfiguration | object | direct connection | Optional 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
maxItemsbetween 1 and 10 while testing a new query. - β‘ Disable
includeDetailswhen 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
sourceUrlwhen 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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-scraperto 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.β
Legality: is it legal to scrape Maricopa County property records?
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;
maxItemsstops 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.
Related real-estate and public-record actors
- Clark County Property Records Scraper β assessor parcel and owner records for Clark County, Nevada.
- Zillow Scraper β current US real-estate listing and property data.
- Redfin Scraper β Redfin listing and market records.
- Realtor Agents Scraper β agent profiles for real-estate research.
- California DRE Licensee Search Scraper β California real-estate license lookup.
- Georgia Real Estate License Lookup Scraper β Georgia licensee records.
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.