Public ArcGIS FeatureServer endpoint for San Francisco County parcel data. URL, supported fields, and a working sample query, copy it, or open it directly in the UrbanKit parcel lookup tool.
This page is the endpoint reference. If you came here to find a specific property, the San Francisco County parcel search runs this same layer in your browser, no account and no API key.
Search San Francisco County parcelsHave a street address but not the parcel number? Find the parcel number by address.
Beyond the parcel record, San Francisco County has a free San Francisco property report: code violations and building permits for an address, read straight from the city's open data.
Free San Francisco property report: code violations + building permitshttps://services.arcgis.com/Zs2aNLFN00jrS4gG/arcgis/rest/services/Active_Parcels_from_DataSF_pulled_daily_/FeatureServer/0Field by field, whether any endpoint we index for San Francisco County answers it, and the evidence for each. We only call a field restricted when there is a stated reason we can cite. Everything else here is a fact about the services we index, not a claim about the law.
| Field | Status | Basis |
|---|---|---|
| APN | Answered | Documented in a field list on an endpoint we index. Not every row is populated. |
| Owner name | Not published | The public parcel layer (SFGIS's daily ArcGIS Online copy of DataSF 'Parcels - Active and Retired') has no owner column, and DataSF's Assessor secured roll dataset carries none either. The Assessor-Recorder's property assessment data page says: "Due to State Law, our office is not allowed to post ownership information online. However, this information is available for purchase or access for free at our main office." The page names no statute section. Stated by City and County of San Francisco, Office of the Assessor-Recorder. Where to request it. |
| Owner mailing address | Not published | The public parcel layer carries block and lot, the situs house-number range and street, zoning, district and recording dates only; its field list has no owner mailing-address column. Where to request it. |
| Site address | Answered | Documented in a field list on an endpoint we index. Not every row is populated. |
| Geometry | Answered | Documented in a field list on an endpoint we index. Not every row is populated. |
| Land use | Not published | No endpoint we index for this county documents this field, so a query cannot ask for it. That is a fact about the services we index, not a legal restriction, and not a statement that the county holds no such record. Where to request it. |
| Zoning | Answered | Documented in a field list on an endpoint we index. Not every row is populated. |
blklotAssessor Parcel Number (block and lot, text)mapblklotMap Block-Lot (lowest parcel number of a condominium set)from_address_numHouse Number (low end of range)street_nameStreet Nameanalysis_neighborhoodNeighborhoodcurl -s 'https://services.arcgis.com/Zs2aNLFN00jrS4gG/arcgis/rest/services/Active_Parcels_from_DataSF_pulled_daily_/FeatureServer/0/query?where=street_name+LIKE+%27%25GOODLETT%25%27&outFields=blklot,mapblklot,from_address_num,to_address_num,street_name,street_type,zoning_code,zoning_district&returnGeometry=false&resultRecordCount=10&f=json'
https://services.arcgis.com/Zs2aNLFN00jrS4gG/arcgis/rest/services/Active_Parcels_from_DataSF_pulled_daily_/FeatureServer/0/query?where=street_name+LIKE+'%GOODLETT%'&outFields=blklot,mapblklot,from_address_num,to_address_num,street_name,street_type,zoning_code,zoning_district&returnGeometry=false&resultRecordCount=10&f=jsonOpen this URL in a browser tab to see the raw ArcGIS JSON response.
| Field name | Label | Searchable |
|---|---|---|
| blklot | Assessor Parcel Number (block and lot, text) | YES |
| mapblklot | Map Block-Lot (lowest parcel number of a condominium set) | YES |
| from_address_num | House Number (low end of range) | YES |
| to_address_num | House Number (high end of range) | NO |
| street_name | Street Name | YES |
| street_type | Street Type | NO |
| zoning_code | Zoning Code | NO |
| zoning_district | Zoning District | NO |
| analysis_neighborhood | Neighborhood | YES |
San Francisco is a consolidated city and county (FIPS 06075). Its parcels are served from the City's ArcGIS Online organisation (org Zs2aNLFN00jrS4gG, item f81b5f0adb8c4d6a95282bec1ce10378, owner account vll_sfgis) as 'Active Parcels (from DataSF, pulled daily)', FeatureServer layer 0: SFGIS's daily copy of the DataSF dataset 'Parcels - Active and Retired' (data.sf.gov/d/acdm-wktn), filtered to active parcels. 227,695 rows on 2026-10-20, every one active (min of the active flag is 1); 211,970 are flagged as on the current Assessor secured roll and 211,695 carry both a house number and a street name. maxRecordCount 2000, resultRecordCount and resultOffset accepted, capabilities Query only, native spatial reference Web Mercator (wkid 102100), so add outSR=4326 for longitude and latitude. CORS is open (Access-Control-Allow-Origin: *). THE LAYER PUBLISHES NO OWNER NAME and no owner mailing address; the Assessor-Recorder says it does not post ownership online and offers it for purchase or free inspection at its office. The parcel number is blklot, a TEXT value of block plus lot (0787001 is block 0787, lot 001); blocks and lots can carry letter suffixes (0499002B, 0306T002A), so compare it as a string. mapblklot is the lowest parcel number of a condominium set that shares one footprint. The situs is split: from_address_num and to_address_num give the house-number range (small integers), street_name and street_type the street (DR CARLTON B GOODLETT, PL); there is no single address column, so the address lookup composes from_address_num and street_name as the situs (House Number plus Street Name), and a parcel whose range spans several house numbers (1640 to 1656 MISSION ST) matches an address only at its low end. Other attributes: zoning_code and zoning_district (current Planning zoning), analysis_neighborhood, supervisor and police districts, planning district, centroid_latitude and centroid_longitude, and Public Works recording and mapping dates. Currency: the item says it was pushed to ArcGIS Online on October 20, 2026 by SFGIS; the layer was last edited 2026-10-20 12:32 UTC; the newest data_as_of is 2026-10-17 and the newest recorded-parcel addition 2026-08-04. Licence: the item's licence is the Open Data Commons Public Domain Dedication and License (PDDL), the same licence DataSF puts on the source dataset, and the DataSF terms of use make PDDL the default for its data. Credit: City and County of San Francisco (DataSF, SFGIS). FALLBACK: if SFGIS stops the daily push, SF Planning's PlanningData MapServer layer 23 'Parcels' on sfplanninggis.org (226,413 rows on 2026-10-20, no owner, no zoning columns, CORS reflects the request Origin) carries the same parcels. Verified live 2026-10-20: a count (227,695), a paged query (resultOffset 2000), a point query at City Hall (37.77927, -122.41924) that returned parcel 0787001, 1 DR CARLTON B GOODLETT PL, zoning P (PUBLIC), Tenderloin, and street_name LIKE '%GOODLETT%' with 2 rows, each answered with Access-Control-Allow-Origin: *.
DataSF, City and County of San Francisco (open data program; the layer is published by SFGIS), https://www.sf.gov/departments--city-administrator--datasf
City and County of San Francisco (DataSF, SFGIS)
San Francisco County's Active Parcels (from DataSF, pulled daily) layer exposes parcel identifiers (Assessor Parcel Number (block and lot, text), Map Block-Lot (lowest parcel number of a condominium set)) and address fields (House Number (low end of range), Street Name). Use it for address-to-PIN lookups and identifier queries. 5 of 9 listed fields accept queries; the rest are returned on read but not indexed for search. Served as an ArcGIS FeatureServer layer, so edits and applyEdits operations are technically exposed (read access only is published here); last verified 2026-10-20.
/query?where=…&outFields=*&f=jsonto the URL. The sample query above is a working example you can paste into a browser tab to see the raw JSON response.Counties publish parcel data through their own ArcGIS Server installations, each with its own schema. One county uses APN, another uses PIN, a third uses PARCEL_ID. Some expose owner names; others keep them on a separate assessor's portal. The searchable fields list above reflects what San Francisco County actually publishes, not what you might expect from a national standard (there isn't one).
For background, see What is an APN?
services.arcgis.com serves San Francisco County, California parcels over public ArcGIS REST, but, like most county servers, it may not send the CORS headers a browser needs for a cross-origin fetch. If a direct browser call fails, the layer still works from curl, Postman, or a server-side script; the UrbanKit parcel lookup tool proxies the request, so a search that succeeds there confirms the layer is genuinely public.
We last verified San Francisco County's FeatureServer layer on 2026-10-20. County GIS teams move services without notice, so if you hit a fresh 404, tell us and we'll re-check. Atlas entries are re-verified on a rolling basis.
San Francisco County's layer is hosted on Esri ArcGIS Online. Public ArcGIS endpoints rarely rate-limit individual reads, but services.arcgis.com can throttle heavy automated traffic at the host level. Page through results with resultOffset / resultRecordCount and request only the fields you need. There's no API key and no charge from the county.