URBANKIT/STUDIO
    Sign inFREE TOOLS · NO SIGNUP
    URBANKIT/STUDIO · EST. 2026 · ONLINEFREE · BROWSER-ONLY · NO TELEMETRY · OPEN SOURCE
    ATLAS · COUNTY·CA·FIPS 06073·webmaps.sandiego.gov

    San Diego County, CA
    parcel REST API.

    Public ArcGIS MapServer endpoint for San Diego County parcel data. URL, supported fields, and a working sample query, copy it, or open it directly in the UrbanKit parcel lookup tool.

    Primary ArcGIS REST endpoint
    https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1
    MapServer · LAYER 1 · PARCELS_ALL
    https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1

    Searchable fields

    • APNAssessor Parcel Number
    • APN_8APN (8-digit)
    • OWN_NAME1Owner Name (Primary)
    • OWN_NAME2Owner Name 2
    • OWN_NAME3Owner Name 3
    • OWN_ADDR1Owner Address 1
    • SITUS_ADDRESSSitus Street Number
    • SITUS_STREETSitus Street Name
    • SITUS_COMMUNITYSitus Community/City
    • SITUS_ZIPSitus ZIP

    Sample query (paste into terminal or browser)

    curl -s 'https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1/query?where=UPPER(OWN_NAME1)+LIKE+UPPER('%25SMITH%25')&outFields=APN,OWN_NAME1,SITUS_ADDRESS,SITUS_STREET,SITUS_COMMUNITY,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10'
    License
    Public records (terms)
    Last verified
    2026-05-15
    Status
    Live
    Sample query
    https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1/query?where=UPPER(OWN_NAME1)+LIKE+UPPER('%SMITH%')&outFields=APN,OWN_NAME1,SITUS_ADDRESS,SITUS_STREET,SITUS_COMMUNITY,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10

    Open this URL in a browser tab to see the raw ArcGIS JSON response.

    Searchable fields
    Searchable fields for PARCELS_ALL
    Field nameLabelSearchable
    APNAssessor Parcel Number YES
    APN_8APN (8-digit) YES
    OWN_NAME1Owner Name (Primary) YES
    OWN_NAME2Owner Name 2 YES
    OWN_NAME3Owner Name 3 YES
    OWN_ADDR1Owner Address 1 YES
    SITUS_ADDRESSSitus Street Number YES
    SITUS_STREETSitus Street Name YES
    SITUS_COMMUNITYSitus Community/City YES
    SITUS_ZIPSitus ZIP YES
    Notes

    65 fields confirmed including APN, APN_8, PARCELID, OWN_NAME1/2/3, OWN_ADDR1-4, OWN_ZIP, SITUS_ADDRESS (house number), SITUS_STREET, SITUS_SUFFIX, SITUS_PRE_DIR, SITUS_POST_DIR, SITUS_BUILDING, SITUS_SUITE, SITUS_COMMUNITY, SITUS_ZIP, SITUS_JURIS, OWNEROCC, NUCLEUS_SITUS_FROM_NBR/THRU_NBR, NUCLEUS_USE_CD, NUCLEUS_ZONE_CD. Owner query tested and confirmed, OWN_NAME1 returns real names (e.g., 'SMITH MARY ANN'). The display field is OWN_NAME1. Copyright: 'SanGIS using legal recorded data provided by the County Recorders and Assessor's Office.' This is the GeocoderMerged MapServer layer 1, which combines assessor parcel data. A sibling PARCELS_ALL service exists at gis-public.sandiegocounty.gov/arcgis/rest/services/sdep_warehouse/PARCELS_ALL/MapServer but returns HTTP 403 to external callers; the webmaps.sandiego.gov endpoint is the publicly accessible equivalent.

    Source

    SanGIS / San Diego County GIS, https://gis-public.sandiegocounty.gov/

    Using this endpoint

    What San Diego County publishes

    San Diego County's PARCELS_ALL layer exposes parcel identifiers (Assessor Parcel Number, APN (8-digit)), owner names (Owner Name (Primary), Owner Name 2, Owner Name 3, Owner Address 1), and address fields (Situs Street Number, Situs Street Name, Situs Community/City, Situs ZIP). Use it for owner-name lookups and address-based parcel searches. All 10 listed fields accept queries. Served as an ArcGIS MapServer layer, which supports query operations but not write operations; last verified 2026-05-15.

    Two paths from URL to result

    1. Open in Parcel Lookup: click the button on the endpoint card. The lookup tool loads the layer, auto-detects fields, and gives you a search box. No code, no API keys, just a browser.
    2. Query directly: append /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.

    Why field names vary by county

    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 Diego County actually publishes, not what you might expect from a national standard (there isn't one).

    For background, see What is an APN?

    What to do with the results

    • Generate a public-notice mailing list: pipe the parcel layer URL into Radius Notice to buffer around an address and select neighboring owners.
    • Print Avery 5160 labels: export the result CSV and drop it into CSV → Labels.
    • Pull individual parcel records: use Parcel Lookup directly to grab zoning, assessed value, and ownership for one property at a time.

    Quick FAQs

    Can I query San Diego County's parcel layer from my own web app?

    webmaps.sandiego.gov serves San Diego 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.

    Is the San Diego County endpoint still current?

    We last verified San Diego County's MapServer layer on 2026-05-15. 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.

    Is there a rate limit on San Diego County parcel queries?

    San Diego County's layer is hosted by the county on webmaps.sandiego.gov. Public ArcGIS endpoints rarely rate-limit individual reads, but webmaps.sandiego.gov 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.

    View all FAQs →

    Continue