If you're building a real estate application, property analytics tool, or any product that needs Indiana property data, you have two choices: scrape 92 individual county assessor websites, or use a unified API.
This guide compares the approaches to help you choose.
The Problem with Manual County Searches
Indiana has 92 counties, each with its own assessor's office and its own approach to making data available. Some counties use modern web portals. Others have barely functional websites. A few still require in-person record requests.
Inconsistent Data Formats
Every county structures its data differently:
- Allen County provides data through a self-hosted ArcGIS service
- Counties using Beacon (like Hamilton County) expose data through WFS endpoints
- Counties using Elevate have yet another format
- Some counties have no digital access at all
Building adapters for each format is months of work before you ship anything.
Rate Limiting and Reliability
County websites weren't built for programmatic access. Scraping them means:
- Getting IP-banned for making too many requests
- Handling downtime when county servers go offline
- Dealing with format changes when counties update their websites
- Navigating CAPTCHAs and anti-bot measures
Incomplete Coverage
Even with adapters for every county, you won't get a complete picture. Some counties only expose basic assessment data. Others have building characteristics but no geometry. Combining data from multiple state and county sources into a unified record requires significant data engineering.
The API Approach
A property data API like AribaTax's Developer API solves these problems by providing a single, consistent interface to data from all 92 counties.
Unified Schema
Every parcel record has the same structure regardless of which county it comes from. One schema, one set of types, one integration.
// One interface for all 92 counties
const parcel = await fetchParcelByStateId("180970001234000000");
console.log(parcel.properties.assessed_value);
console.log(parcel.properties.year_built);
console.log(parcel.geometry); // GeoJSON polygon
Complete Coverage
AribaTax combines data from:
- Indiana Geographic Information Office — Parcel boundary geometry for all 3.7M parcels
- DLGF Gateway File — Statewide assessment data
- 39 County CAMA Systems — Detailed building characteristics
- Public Sales Records — Transaction history
This gives you a single API call for data that would otherwise require querying multiple sources per parcel.
Reliable Infrastructure
The API is designed for production use:
- Consistent response times
- Rate limiting that's documented and predictable
- Versioned endpoints that don't change without notice
- 99.9% uptime target
TypeScript and Python SDKs
Strongly-typed client libraries mean you spend less time debugging integration issues:
import { configureApiClient, fetchParcelSearch } from "@property-data/api-client";
configureApiClient({ baseUrl: "https://api.aribatax.com", apiKey: "your-key" });
const results = await fetchParcelSearch({ address: "123 Main St" });
Cost Comparison
Manual Scraping Costs
- Developer time to build and maintain 92 county adapters: significant
- Server infrastructure for scraping, storage, and processing
- Ongoing maintenance as county websites change
- Data quality issues requiring manual intervention
API Costs
The AribaTax API offers tiered pricing:
- Free — 1,000 calls/month for prototyping
- Starter — Higher limits for early-stage products
- Growth — Volume pricing for scaling applications
- Enterprise — Custom limits and SLAs
For most applications, the API cost is a fraction of what you'd spend building and maintaining your own data pipeline.
When Manual Access Makes Sense
In rare cases, direct county access might be appropriate:
- You only need data from a single county
- You need real-time data that's not yet in the API
- You have specific data that the API doesn't cover
Even in these cases, you can use the API for baseline coverage and supplement with direct county access for specific needs.
Beyond Basic Data
The API doesn't just mirror county data — it adds value:
- Parcel geometry not available from most county websites
- Cross-county search by address, owner name, or parcel ID
- Enriched records combining assessment, building, and sales data
- Vector tiles for map applications via Martin tile server
- AI valuations through the AI Valuation product
Getting Started
- Sign up for a free API key
- Explore the interactive API documentation
- Install the TypeScript or Python SDK
- Start building
For applications that need to embed property data under their own brand, check out the White-Label Partnerships product.