Philadelphia Property Assessments - OPA Roll (Values + Sales)
Pricing
from $0.03 / 1,000 philadelphia property records
Philadelphia Property Assessments - OPA Roll (Values + Sales)
Philadelphia OPA property roll (public data, 583k+ properties): assessed values, latest recorded sale with price, owner names, bedrooms/baths/area/year built, zoning and tax exemptions. Search by owner, address, zip, ward, category or value, or look up one PIN for its full record.
Pricing
from $0.03 / 1,000 philadelphia property records
Rating
0.0
(0)
Developer
Wenhao Yang
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
The complete Philadelphia Office of Property Assessment roll: 583,783 properties, refreshed daily from the city's official public data export. Every property carries its assessed market value, latest recorded sale with price, owner names, physical attributes, zoning and tax exemptions.
Low cost
From $0.00005 per record, down to $0.00003 at Gold. Pay only for the records you actually receive - the whole roll stays queryable, you are never billed for the scan behind it.
What is in it
One row per property. The useful depth:
- Values - assessed
marketValue(100% populated),taxableBuilding/taxableLand,exemptBuilding/exemptLand,homesteadExemption. - Sales - the latest recorded
salePriceandsaleDate(99.6%), plusrecordingDate. - Owners -
owner1(100%) andowner2(33.9%), plus the tax-bill mailing address. - Physical -
yearBuilt(92.7%),totalLivableArea(92.7%),numberOfBedrooms(86.1%), baths, stories, garages, central air, condition grades,buildingCodeDescription. - Zoning & category -
zoning(RSA5, RM1, CMX ) and the 15 namedcategoryDescriptionvalues.
Property mix by category:
| category | properties |
|---|---|
| SINGLE FAMILY | 463,015 |
| MULTI FAMILY | 41,445 |
| VACANT LAND | 39,691 |
| MIXED USE | 14,166 |
| COMMERCIAL | 12,504 |
| APARTMENTS > 4 UNITS | 4,094 |
| 9 more codes |
Search it
- Owner -
owner="CRUZATI"(substring over owner 1 + owner 2). - Address -
address="OAKLAND ST". - Where -
zipCode,ward. - Category -
category="SINGLE FAMILY"(exact). - Zoning -
zoning="RM1"(substring). - Value / sale -
minMarketValue,maxMarketValue,minSalePrice,maxSalePrice,soldFrom,soldTo. - Year built -
minYearBuilt,maxYearBuilt. - Exemption -
homesteadOnly=true. - Exact id -
pin,parcelNumber(each unique, 1:1).
Example inputs
Homeowners in one zip - the bread-and-butter lookup.
{ "category": "SINGLE FAMILY", "zipCode": "19124", "maxResults": 25 }
One property, in full - every value, sale, attribute and exemption field.
{ "mode": "profile", "pin": "1001394284" }
Everything assessed over $1M - value filter.
{ "minMarketValue": 1000000, "maxResults": 50 }
Recent sales - a date window on the latest recorded sale.
{ "soldFrom": "2026-01-01", "soldTo": "2026-12-31", "maxResults": 50 }
Counts by category - mode=aggregate.
{ "mode": "aggregate", "groupBy": "category" }
Or roll it up
mode=aggregate returns one count row per group - property category,
zip code, ward, zoning or exempt vs taxable. Every group comes
back; this mode is not cut off by maxResults.
Example output
One property - mode=profile:
{"platform": "pa-philly-opa","pin": "1001394284","parcelNumber": "234229200","location": "4636 OAKLAND ST","zipCode": "19124","owner1": "CRUZATI ROSE MARIE GUAMAN","owner2": "REDROVAN MANUEL EFRAIN HERAS","marketValue": "192700.00","salePrice": "210000.00","saleDate": "2026-08-03","yearBuilt": "1945","totalLivableArea": "1568.000","numberOfBedrooms": "3","numberOfBathrooms": "1","categoryDescription": "SINGLE FAMILY","zoning": "RM1","geographicWard": "23"}
Also: the change feed
mode=changes returns the diff between the last two daily snapshots -
properties added, removed, or with any field changed (a new assessment, a
recorded sale, a re-zoning). Each row carries changeType (added / removed /
updated), and for updated rows the changedFields list and the previous
oldValues. This is the daily-tracking surface.
Notes on the data, from the source
- One row = one property.
pinandparcelNumberare each unique and 1:1. geoX/geoYare projected, not lat/lon. They are in PA South State Plane feet (EPSG 2272) - the source publishes no geographic coordinates, so these are labelled for what they are.- The mailing address is the tax-bill address and is populated on ~10.8% of rows (the rest mail to the property address); it is not an occupancy flag.
saleDatereaches back decades, and a few source entries carry typos that are sanitized to blank.