property-appraiser APIproperty-appraiser.org ↗
Search Osceola County, FL property records by street address. Returns parcel ID, just value, assessed value, year built, and living area via a single API.
What is the property-appraiser API?
The property-appraiser.org API provides access to Osceola County, Florida public property records through a single search_properties endpoint that returns up to 9 fields per parcel — including parcel ID, current just (market) value, assessed value, year built, and total living area. Query by full or partial street address to retrieve matching parcels in one call.
curl -X GET 'https://api.parse.bot/scraper/6daa4336-ce07-43c0-a3d1-dce16dfcadbb/search_properties?address=2606+Grey+Hawk+Dr' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace property-appraiser-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Osceola County Property Appraiser — search parcels by address."""
from parse_apis.property_appraiser_org_api import PropertyAppraiser, InputFormatInvalid
client = PropertyAppraiser()
# Search for properties on a street; limit total results fetched.
for parcel in client.parcels.search(address="Grey Hawk Dr", limit=5):
print(parcel.parcel_id, parcel.site_address, parcel.city)
print(f" Just value: ${parcel.just_value:,} Assessed: ${parcel.assessed_value:,}")
if parcel.year_built is not None:
print(f" Year built: {parcel.year_built}")
if parcel.total_living_area_sqft is not None:
print(f" Living area: {parcel.total_living_area_sqft} sqft")
# Point lookup for a specific address; .first() returns None if no match.
try:
result = client.parcels.search(address="123 Main St, Springfield, IL 62704", limit=1).first()
except InputFormatInvalid as e:
print(f"Invalid address format: {e.message}")
result = None
if result is not None:
print(f"\nFound: {result.site_address}, {result.city} {result.zip}")
print(f" Parcel ID: {result.parcel_id}")
print(f" Just value: ${result.just_value:,}")
print("\nexercised: parcels.search")
Search Osceola County property records by street address. Returns matching parcels with parcel ID, full site address, city, zip, current just value (market value), assessed value, year built, and total living area. Each matching address triggers one detail lookup, so a broad search (e.g. a common street name) may return many results with proportional latency.
| Param | Type | Description |
|---|---|---|
| addressrequired | string | Street address to search (e.g. '2606 Grey Hawk Dr', '5401 Osceola Ave'). Partial addresses are supported. |
{
"type": "object",
"fields": {
"total": "integer count of matching parcels",
"parcels": "array of parcel objects with property details"
},
"sample": {
"data": {
"total": 1,
"parcels": [
{
"zip": "34746",
"city": "KISSIMMEE",
"parcel_id": "13-26-28-3692-0001-2100",
"just_value": 40000,
"year_built": null,
"site_address": "2606 GREY HAWK DR",
"assessed_value": 40000,
"total_living_area_sqft": null
}
]
},
"status": "success"
}
}About the property-appraiser API
What the API Returns
The search_properties endpoint accepts a address string parameter and returns a list of matching Osceola County parcels. Each parcel object includes a unique parcel ID, the full site address, city, ZIP code, current just value (Florida's statutory term for market value), assessed value, year built, and total living area in square feet. The response also includes a total integer indicating how many parcels matched the query.
Querying with Partial Addresses
The address parameter supports partial matches, so inputs like '5401 Osceola' or 'Grey Hawk' will return all parcels whose addresses contain that substring. Because each match triggers an individual detail lookup, broad queries covering many streets can return multiple parcel objects. For precise lookups, supplying a full street address — such as '2606 Grey Hawk Dr' — narrows results to one or a small handful of parcels.
Coverage and Data Source
All data is scoped to Osceola County, Florida. The just value and assessed value fields reflect the county property appraiser's official records, which are updated on the county's own publication schedule — typically following the annual assessment cycle. This makes the API useful for tasks requiring current county-assessed valuations rather than third-party estimates.
The property-appraiser API is a managed, monitored endpoint for property-appraiser.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when property-appraiser.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official property-appraiser.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Look up the assessed value and market value of a specific Osceola County parcel before making an offer.
- Retrieve year built and living area for a property to compare against listing data.
- Batch-query a list of street addresses to collect parcel IDs for further county record lookups.
- Verify a property's legal ZIP code and city designation using the returned site address fields.
- Pull current just values across a neighborhood by querying a common street name fragment.
- Cross-reference county-assessed values against sale prices for real estate investment analysis.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does property-appraiser.org have an official developer API?+
What does the search_properties endpoint return for each parcel?+
total field with the integer count of matched parcels.