Cuyahoga County, OH Parcels & GIS Data

Cuyahoga County, OH parcel data: 522,150 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Cuyahoga County, Ohio parcel data covering 522,150 property records.

This page documents parcel-level coverage for Cuyahoga County, Ohio. Each parcel record carries its boundary polygon (GIS geometry) along with attributes such as the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and most recent sale price and date. Exact fill rates for Cuyahoga County are listed in the attribute-coverage table below. Preview the data in the interactive explorer, or download the complete Cuyahoga County property dataset.

Cuyahoga County is a large urban county in the U.S. state of Ohio. The county seat and most populous city is Cleveland. As of the 2025 census estimates, its population was 1,232,925, making it the second-most populous county in the state and the most populous in Northeast Ohio.

FIPS 39035

Official county website: https://www.cuyahogacounty.us

The FIPS code for Cuyahoga County is 39035.

LorainPortageMedinaSummitGeaugaLakeCuyahoga
Hosted Web API$200/mo

Attribute coverage

Cuyahoga County contains 522,150 parcels in the current dataset. Column coverage is the percentage of those parcels for which the attribute is populated (non-NULL). For the LBCS columns, only real classifications count: the to-be-determined and not-applicable placeholder codes are excluded.

ColumnCoverageRecords populated
lrid100%522,150
parcelid100%521,963
parcelid292.6%483,562
ogparcelid100%521,963
ogparcelid292.6%483,562
parentid7.0%36,751
stackid6.9%36,208
geoid100%522,150
statefp100%522,150
countyfp100%522,150
countyname100%522,150
cousubfp100%522,150
cousubname100%522,150
tractce100%522,150
tractname100%522,150
taxacctnum6.9%36,122
taxyear100%522,150
taxdistrict99.3%518,383
usecode99.6%520,138
usedesc100%522,069
zoningcode86.2%450,057
zoningdesc92.6%483,602
numbldgs100%522,150
numunits99.3%518,313
yearbuilt84.6%441,993
numfloors84.8%442,633
bldgsqft98.2%512,546
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue99.4%518,785
landvalue99.4%518,880
agvalue<0.1%0
totalvalue99.4%518,881
taxacres99.7%520,566
calcarea100%522,150
saleamt99.2%517,808
saledate99.3%518,502
ownertype99.8%521,024
ownername99.8%521,024
owneraddr99.4%518,964
ownercity99.5%519,456
ownerstate99.5%519,449
ownerzip99.5%519,408
parceladdr99.9%521,405
parcelcity99.9%521,743
parcelstate100%522,150
parcelzip100%522,150
legaldesc99.5%519,604
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book99.5%519,390
page<0.1%0
block<0.1%0
lot<0.1%0
parceltype0.3%1,638
accesstype0.9%4,905
iucnclass0.1%728
placename4.1%21,172
placetype4.0%20,847
firmid100%522,129
firmdate100%522,129
fldzone100%522,129
zonesubty99.6%519,806
staticbfe0.1%286
elevmin100%521,967
elevmax100%521,967
elevavg100%521,967
fireplaces<0.1%0
heating<0.1%0
heatfuel<0.1%0
cooling<0.1%0
foundation<0.1%0
roofcover<0.1%0
siding<0.1%0
bldgtype<0.1%259
naicscode3.2%16,835
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated100%522,150
centroidx100%522,150
centroidy100%522,150
surfpointx100%522,150
surfpointy100%522,150
geom100%522,150
extras100%522,150
ownerlist71.2%371,583
placefp98.9%516,225
zoningurl59.9%312,717
lbcsactivity93.4%487,755
lbcsfunction93.3%487,267
lbcstype99.0%516,763
lbcscharacter94.2%491,956
lbcsownership99.8%521,058
sourceurl99.2%518,077

Schema mapping

How source columns from the acquired Cuyahoga County GIS layers map into the harmonized entity schemas and assemble into the published parcel table, alongside supplemented fields (elevation, flood zone) and deterministic columns.

Schema mapping — Cuyahoga County, Ohio (39035) 4 entities · most recent acquisition per entity · generated 2026-10-17 direct column transformed (expression) geometry extras json supplemented determined ALL ENTITIES → FINAL PARCEL SCHEMA Harmonized entity columns assemble into publish.parcel_layer — matched by column name. Supplemented fields show their fill rate in this county. SOURCE COLUMNS HARMONIZED ENTITIES PUBLISH.PARCEL_LAYER ADDRESS placename addrclass addrnum fullname unitid floor zip municipality county stateabbreviation country geom 34 cols ⇢ house category house_number road unit level postcode city state_district state country geom extras PARCEL parcel_id appraisalpin account cur_tax_year tax_luc tax_luc_description zoning_code zoning_use res_bldg_count com_bldg_count com_living_units min_age min_com_age max_age max_com_age total_res_heights max_res_heights min_res_heights total_com_heights max_com_heights min_com_heights total_res_liv_area total_com_use_area tax_assessed_improvement tax_assessed_land tax_assessed_total parcel_acreage last_sales_amount last_transfer_date int8 parcel_owner second_owner mail_addr_street mail_unit_no mail_city mail_state mail_zip parcel_addr parcel_predir parcel_street parcel_suffix E parcel_city parcel_zip legal_description book_page parcel_last_edit_date update_date geom tax_dist_desc parentpin myplaceppn parcel_year grantor grantee parcel_unit par_addr_all mail_name mail_country ext_luc ext_luc_description abt_luc abt_luc_description tif_luc tif_luc_description property_class prop_class_desc tax_district state_school_code school_descr neighborhood_code condo_complex_id tax_abatement road_type water sewer gas electricity parcel_lot_size certified_tax_land certified_tax_building certified_tax_total certified_exempt_land certified_exempt_building certified_exempt_total certified_abated_land certified_abated_building certified_abated_total gross_certified_land gross_certified_building gross_certified_total certified_tif_land certified_tif_building certified_tif_total tax_market_total prev_market_total prev_assessed_total yoy_assess_val_change per_change_assess_total yoy_tax_val_change per_change_tax_total lender total_net_delq_owed total_net_delq_paid total_net_delq_balance grand_total_owed grand_total_paid grand_total_balance net_tax_total prev_net_tax_total prev_tax_year effective_rate homestead_flag homestead_assessed_value homestead_market_value bor_status cert_sold_flag cert_pend_flag payment_plan_flag foreclosure_flag rollback_flag escrow_flag contract_flag tif_amount_total taxbill_update_date res_styles total_res_rooms garage_count garage_type garage_capacity total_legal_front parcelpin parcel_created_date parcel_type parcel_afn parcel_info building_name up_floor_name dn_floor_name upper_elev lower_elev createdbyrecord parcelid parcelid2 taxacctnum taxyear usecode usedesc zoningcode zoningdesc numbldgs numunits yearbuilt numfloors bldgsqft imprvalue landvalue totalvalue taxacres saleamt saledate ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelzip legaldesc book updated geom taxdistrict parentid extras REFTABLE parcel_id tax_year tax_luc tax_luc_description zoning_code res_bldg_count com_bldg_count certified_tax_building certified_tax_land gross_certified_total total_acreage sales_amount transfer_date parcel_owner deeded_owner mail_addr_street mail_city mail_state mail_zip par_addr_all par_city par_zip book_page ext_luc ext_luc_description par_addr par_predir par_street par_suffix par_unit neighborhood_code mail_country total_res_liv_area total_res_rooms garage_capacity certified_tax_total tax_district cama_parent_parcel geom parcel_year grantor grantee mail_name mail_unit zoning_use property_class condo_complex_id tax_abatement road_type water sewer gas electricity certified_tax_luc certified_exempt_luc certified_exempt_land certified_exempt_building certified_exempt_total certified_abated_luc certified_abated_land certified_abated_building certified_abated_total gross_certified_land gross_certified_building total_com_use_area com_living_units total_legal_front total_square_ft no_list_info garage_count garage_type parcelid taxyear usecode usedesc zoningcode numbldgs imprvalue landvalue totalvalue taxacres saleamt saledate ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelzip legaldesc landusecode landusedesc house_number road unit suburb country livingarea totalrooms garagestalls assessedvalue taxdistrict parentid geom extras ZONING zoning_cod geom 1 cols ⇢ zoningcode geom extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname geom · derived from geometry geom dem.us_1m · USGS 1m DEM 100% elevmin 100% elevmax 100% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 100% zonesubty 0.1% staticbfe 100% firmdate 100% firmid supplemented · derived / other pipelines 100% parcelstate 71.2% ownerlist 98.9% placefp 59.9% zoningurl 93.4% lbcsactivity 93.3% lbcsfunction 99.0% lbcstype 94.2% lbcscharacter 100% lbcsownership 99.2% sourceurl lrid parcelid parcelid2 ogparcelid ogparcelid2 parentid geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxacctnum taxyear taxdistrict usecode usedesc zoningcode zoningdesc numbldgs numunits yearbuilt numfloors bldgsqft imprvalue landvalue totalvalue taxacres calcarea saleamt saledate ownertype ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc book firmid firmdate fldzone zonesubty staticbfe elevmin elevmax elevavg updated centroidx centroidy surfpointx surfpointy geom extras ownerlist placefp zoningurl lbcsactivity lbcsfunction lbcstype lbcscharacter lbcsownership sourceurl publish.parcel_layer columns not fed by these sources (32) — empty or below 50% fill in this county stackid, bedrooms, halfbaths, fullbaths, agvalue, township, section, qtrsection, range, plssdesc, page, block, lot, parceltype, accesstype iucnclass, placename, placetype, fireplaces, heating, heatfuel, cooling, foundation, roofcover, siding, bldgtype, naicscode, frsid, dfrurl caapermit, cwapermit, rcrapermit ADDRESS 12 mapped · 34 kept in extras · 9 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ADDRESS placename addrclass addrnum fullname unitid floor zip municipality county stateabbreviation country geom house category house_number road unit level postcode city state_district state country geom extras · 34 source columns preserved as json side, absside, created_date, last_edited_date, siteaddid addressptid, rclnguid, discrpagid, preaddrnum, addrnumsuf addrrange, unittype, altunittype, altunitid secondaltunittype, secondaltunitid, thirdaltunittype thirdaltunitid, fourthaltunittype, fourthaltunitid, fulladdr esn, msag, usngcoord, pointtype, capturemeth, status globalid, validationstatus, structure_type, subname collectiondate, fipscode, centerlineid extras not present in source — filled with NULL (9) near, staircase, entrance, po_box, suburb, city_district, island, country_region, world_region PARCEL 34 mapped · 13 transformed · 21 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parcel_id appraisalpin account cur_tax_year tax_luc tax_luc_description zoning_code zoning_use res_bldg_count com_bldg_count com_living_units min_age min_com_age max_age max_com_age total_res_heights max_res_heights min_res_heights total_com_heights max_com_heights min_com_heights total_res_liv_area total_com_use_area tax_assessed_improvement tax_assessed_land tax_assessed_total parcel_acreage last_sales_amount last_transfer_date int8 parcel_owner second_owner mail_addr_street mail_unit_no mail_city mail_state mail_zip parcel_addr parcel_predir parcel_street parcel_suffix E parcel_city parcel_zip legal_description book_page parcel_last_edit_date update_date geom tax_dist_desc parentpin myplaceppn parcel_year grantor grantee parcel_unit par_addr_all mail_name mail_country ext_luc ext_luc_description abt_luc abt_luc_description tif_luc tif_luc_description property_class prop_class_desc tax_district state_school_code school_descr neighborhood_code condo_complex_id tax_abatement road_type water sewer gas electricity parcel_lot_size certified_tax_land certified_tax_building certified_tax_total certified_exempt_land certified_exempt_building certified_exempt_total certified_abated_land certified_abated_building certified_abated_total gross_certified_land gross_certified_building gross_certified_total certified_tif_land certified_tif_building certified_tif_total tax_market_total prev_market_total prev_assessed_total yoy_assess_val_change per_change_assess_total yoy_tax_val_change per_change_tax_total lender total_net_delq_owed total_net_delq_paid total_net_delq_balance grand_total_owed grand_total_paid grand_total_balance net_tax_total prev_net_tax_total prev_tax_year effective_rate homestead_flag homestead_assessed_value homestead_market_value bor_status cert_sold_flag cert_pend_flag payment_plan_flag foreclosure_flag rollback_flag escrow_flag contract_flag tif_amount_total taxbill_update_date res_styles total_res_rooms garage_count garage_type garage_capacity total_legal_front parcelpin parcel_created_date parcel_type parcel_afn parcel_info building_name up_floor_name dn_floor_name upper_elev lower_elev createdbyrecord parcelid nullif(parcel_id, '')::text parcelid2 nullif(appraisalpin, '')::text taxacctnum taxyear usecode usedesc zoningcode zoningdesc numbldgs (COALESCE(res_bldg_count, 0) + COALESCE(com_bldg_count, 0))::te… numunits yearbuilt COALESCE(NULLIF(min_age, 0)::text, NULLIF(min_com_age, 0)::text… numfloors COALESCE( ROUND(NULLIF(total_res_heights, 0.0)::numeric, 0)::te… bldgsqft COALESCE(NULLIF(total_res_liv_area, 0)::text, NULLIF(total_com_… imprvalue landvalue totalvalue taxacres saleamt saledate to_timestamp(NULLIF(last_transfer_date, 0::int8) / 1000.0)::text ownername case when parcel_owner is null and second_owner is null then NU… owneraddr case when mail_addr_street is null and mail_unit_no is null the… ownercity ownerstate ownerzip parceladdr nullif(regexp_replace(btrim(concat(parcel_addr, ' ', parcel_pre… parcelcity parcelzip legaldesc book nullif(split_part(book_page, ' ', 2), '')::text updated to_timestamp(COALESCE(NULLIF(parcel_last_edit_date, 0::int8), N… geom taxdistrict parentid extras ( json_build_object( 'myplaceppn', myplaceppn::text, 'parcel_ye… not present in source — filled with NULL (21) bedrooms, halfbaths, fullbaths, agvalue, parcelstate, township, section, qtrsection, range, plssdesc, page, block, lot, sourceurl, heatfuel fireplaces, heating, cooling, foundation, roofcover, siding REFTABLE 36 mapped · 5 transformed · 85 unmapped (NULL) SOURCE COLUMNS HARMONIZED → REFTABLE parcel_id tax_year tax_luc tax_luc_description zoning_code res_bldg_count com_bldg_count certified_tax_building certified_tax_land gross_certified_total total_acreage sales_amount transfer_date parcel_owner deeded_owner mail_addr_street mail_city mail_state mail_zip par_addr_all par_city par_zip book_page ext_luc ext_luc_description par_addr par_predir par_street par_suffix par_unit neighborhood_code mail_country total_res_liv_area total_res_rooms garage_capacity certified_tax_total tax_district cama_parent_parcel geom parcel_year grantor grantee mail_name mail_unit zoning_use property_class condo_complex_id tax_abatement road_type water sewer gas electricity certified_tax_luc certified_exempt_luc certified_exempt_land certified_exempt_building certified_exempt_total certified_abated_luc certified_abated_land certified_abated_building certified_abated_total gross_certified_land gross_certified_building total_com_use_area com_living_units total_legal_front total_square_ft no_list_info garage_count garage_type parcelid taxyear usecode usedesc zoningcode numbldgs (COALESCE(res_bldg_count, 0) + COALESCE(com_bldg_count, 0))::te… imprvalue landvalue totalvalue taxacres saleamt saledate to_timestamp(transfer_date / 1000.0)::text ownername NULLIF(concat(parcel_owner, CASE WHEN parcel_owner IS NOT NULL … owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelzip legaldesc landusecode landusedesc house_number road NULLIF(concat_ws(' ', NULLIF(par_predir, ''), NULLIF(par_street… unit suburb country livingarea totalrooms garagestalls assessedvalue taxdistrict parentid geom extras ( json_build_object( 'parcel_year', parcel_year::text, 'grantor… not present in source — filled with NULL (85) parcelid2, taxacctnum, zoningdesc, numunits, yearbuilt, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, parcelstate, township, section qtrsection, range, plssdesc, book, page, block, lot, zoningtype, zoningordinance, zoningsetbacks, zoningrestrictions, lbcsdimension, lbcscode house, category, near, level, staircase, entrance, po_box, postcode, city_district, city, island, state_district, state, world_region, bldgtype numfloors, yearremodel, bldgquality, bldgcondition, architecture, fireplaces, heating, cooling, foundation, attic, atticsqft, intwall, extwall roofstyle, roofcover, roofheight, fsagpfeet, siding, framing, basementsqft, attgaragesqft, detgaragesqft, situsaddress, appraisedvalue boatlift, boaddock, boathouse, pool, gazebo, irrigation, riprap, solarium, carport, greenhouse, openporch, enclporch, sauna, wooddeck, hottub patio, shed, workshop, sourceurl, heatfuel ZONING 2 mapped · 1 kept in extras · 7 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING zoning_cod geom zoningcode geom extras · 1 source columns preserved as json parcelpin extras not present in source — filled with NULL (7) zoningdesc, zoningtype, ordinance, setbacks, restrictions, notes, sourceurl

Neighboring counties

Parcel data for counties bordering Cuyahoga County:

Frequently asked questions

Where can I find Cuyahoga County, OH parcel and GIS data?

Land Records publishes a Cuyahoga County, OH parcel dataset in which every parcel carries its boundary polygon (GIS geometry) along with ownership, assessed value, land use, acreage, and sale history. Preview it in the interactive explorer on this page, or download the full Cuyahoga County, OH dataset as a GeoPackage or CSV.

How many parcels are in Cuyahoga County, OH?

The current dataset contains 522,150 parcel records for Cuyahoga County, OH, each with its boundary geometry and assessor attributes.

What is the FIPS code for Cuyahoga County, OH?

The FIPS code for Cuyahoga County, OH is 39035.

What information does each Cuyahoga County, OH parcel record include?

Each Cuyahoga County, OH parcel record includes the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and the most recent sale price and date — plus the parcel boundary polygon. Per-attribute fill rates are listed in the coverage table on this page.

Is Cuyahoga County, OH parcel data free?

You can preview Cuyahoga County, OH parcels for free in the interactive explorer. The complete dataset is available as a one-time download or through the nationwide parcel web service; see the download options on this page for current pricing.

Does Cuyahoga County, OH have an official GIS or property records website?

Yes — the official Cuyahoga County, OH government website is linked in the county details above. Land Records standardizes Cuyahoga County, OH assessor and recorder records into a single nationwide parcel schema with GIS boundary geometry.

On this page