Retrofit Atlas

REST API reference

Base URL https://retrofitatlas.org/api/v1. JSON. Reads need no key; a free key (magic link, no password) raises the quota and unlocks the full record, SQLite and Parquet exports and release webhooks. Examples below are real responses from the database this site was built from on 2026-10-21, trimmed to the first items. Machine-readable twin: openapi.json.

Access, keys and quotas

Anonymous reads stay open: 60 requests a minute and 1,000 a day per IP (only requests that reach the API count; CloudFront cache hits are free). A free key lifts that to 5,000 a day and unlocks the full record (parcel owner mailing address, assessed and taxable value, tax amount, sale price, deed reference, deal prices and loan amounts; anonymous responses to /sites/{id} carry restricted_fields listing what a key unlocks), SQLite and Parquet exports and webhooks. Academic phase: every tier is issued at no charge until the licence with the authors is agreed; write to desk@retrofitatlas.org for a pro, team or API quota.

Get a key (no password, ever)

curl -X POST https://retrofitatlas.org/api/v1/keys -H 'Content-Type: application/json' -d '{"email":"you@example.org"}'

A one-time link arrives from desk@retrofitatlas.org (valid 15 minutes). Opening it shows the key once (ra_ + 40 hex) and a 30-day session token. Then curl -H 'X-Api-Key: ra_…' https://retrofitatlas.org/api/v1/me; Authorization: Bearer ra_… is accepted too. Up to 5 active keys per address; revoke with DELETE /api/v1/keys/{prefix}.

Quotas and headers

Tierper minuteper dayper monthHow
anonymous601,00020,000per IP, nothing to do
free1205,000100,000magic link
pro30050,0001,000,000ask the desk (hand-issued)
team600150,0003,000,000ask the desk
api / institution1,200500,00010,000,000ask the desk

Every response carries RateLimit-Limit (per day), RateLimit-Remaining, RateLimit-Reset (seconds to 00:00 UTC), RateLimit-Policy (60;w=60, 1000;w=86400, 20000;w=2592000) and X-Atlas-Tier. Over a window: 429 with Retry-After. Bad or revoked key: 401. Errors are {error, status, docs}; because the CDN rewrites origin 403 and 404 to the HTML page, API misses answer 200 with X-Atlas-Status: 404 (now also for 403).

Exports, diff feed, webhooks, accounts

EndpointWhat it does
GET /api/v1/export?format=csv|geojson|sqlite|parquet&release=latest{{release, url (presigned, 15 minutes), sha256, bytes, rows, manifest}}; csv and geojson open, sqlite and parquet keyed; ?list=1 lists releases (manifests and diffs)
GET /api/v1/diff?from=YYYY-MM-DD&to=latestrecords added, changed and removed between two releases (id, name, url)
GET /api/v1/changes?since=<ISO datetime> · ?release=YYYY-MM-DDrecords changed since a datetime, or added or changed in a release
POST /api/v1/webhooks {{"url": "https://…", "secret": "optional"}} (keyed)on every release the notifier POSTs {{event: "release", release, previous, added, changed, removed, sites, diff_url, manifest_url, export_url, sent_at}} with X-Atlas-Event, X-Atlas-Delivery and X-Atlas-Signature: t=<unix>,v1=<hex>, v1 = HMAC-SHA256(secret, "<t>." + body); the secret is shown once; GET lists, DELETE /api/v1/webhooks/{{id}} removes; five per account, https only, 10-second timeout, last status recorded
GET /api/v1/me (keyed)tier, quotas, usage today and this month, keys, webhook count; passwordless only; SSO none yet (Google Workspace OIDC next, SAML for institutions after; OpenAPI x-sso)
import hmac, hashlib
t = sig.split(",")[0][2:]; v1 = sig.split("v1=")[1]
ok = hmac.compare_digest(hmac.new(secret.encode(), f"{t}.{body}".encode(), hashlib.sha256).hexdigest(), v1)

Live checks and uptime: /status/ (/status/status.json). The keyed half of the OpenAPI document is merged from the API's own fragment at /api/v1/openapi.json.

Claim this site, dashboard, inquiries

Owners, asset managers, brokers and city staff can claim a record (what claiming gives you). No password: POST /api/v1/claims emails a one-time link that confirms the address and opens /dashboard/ with a 30-day session token (Authorization: Bearer …). A person checks every claim and records the method (domain match, listing page, employer page, deed, callback); checks are valid a year. Nothing a claimant submits (corrections, photos, listing interest) reaches a page without a person approving it; the claimant's email, name, note and proof are never published; a private individual shows as Private owner. Contributed photos and text are licensed to the Atlas and its successors non-exclusively (sublicensable, for the Atlas's data products) under the versioned terms at /claim/terms/, whose hash is recorded with every acknowledgement. Every desk decision is an append-only, hash-chained event with a stored snapshot of the evidence.

EndpointWhat it does
POST /api/v1/claims {{site, email, role, org, org_kind, note, proof, attest}}files a claim (role: owner · asset_manager · broker · city_staff · other; attest must be true), sends the link. 5 a day per address; a repeat claim re-sends a sign-in link
POST /api/v1/claims/{{id}}/withdrawwithdraw your claim
POST /api/v1/claims/{{id}}/transfer {{email}} · GET /api/v1/claims/{{id}}/inquiries.csvhand the claim to a colleague (they confirm by link); download your confirmed inquiries
GET /api/v1/claims · GET /api/v1/claims/{{id}}your claims (session)
GET /api/v1/dashboardyour sites: status, record completeness (12 key facts), page views for 30 days (the Atlas's own beacon, not GA4), inquiries, feature request, photos, suggestions, dossier links
POST /api/v1/claims/{{id}}/suggest {{field, value, note, source_url}}suggest a correction → review queue, never live
POST /api/v1/claims/{{id}}/featurerecord interest in a featured listing (opens after the academic phase; planned prices on /pricing/; no payment)
POST /api/v1/claims/{{id}}/photos {{name, type, size, caption}} then …/photos/{{photo}}/donepresigned S3 POST into a private review bucket (JPEG/PNG/WebP, 10 MB, 10 per claim); shown after a person approves it
GET /api/v1/sites/{{id}}/claimpublic: is the record claimed (organisation, verification date) and where to write
POST /api/v1/sites/{{id}}/contact {{email, name, org, intent, message, consent}}message the checked claimant: you confirm your address by a one-time link, then it is relayed by email with your address as reply-to, their address never shown; ten a day from one network address, three a day from one sender to one claimant; a claimant receives at most five an hour and twenty a day
POST /api/v1/session/signoutrevoke the session token (signed-out tokens are refused)
POST /api/v1/sites/{{id}}/viewpage-view counter sent by record pages under the analytics consent rule (one count per visitor address per day, bots excluded, no identity); feeds the dashboard's 30-day page loads

Verified claims are listed at /data/claims.json (site, organisation, date, approved photos). Review tooling: infra/claims.py (a person at the desk).

The brief record object

Lists (/sites, /near, /elements/{slug}, /owners/{slug}, /changes) return brief records with these fields; /sites/{id} returns every column plus the related tables.

FieldMeaning
idstable record id
slugURL part; may change when a name is corrected
typesite type
namecurrent or last name
akaformer names, list
city
county
state
country
latWGS84
lonWGS84
year_opened
year_closed
year_retrofityear the retrofit opened or was recorded
acressite acreage as recorded (source in provenance)
gla_sqftgross leasable area
stores_peak
strategylist of redevelop | reinhabit | regreen
new_uselist of uses after
statuslifecycle status
developerretrofit developer
original_developer
after_notes
verifiedtier: curated | draft | contributed
opp_scoremultifamily screen points (research, unreviewed)
last_updateddate the source last changed
urlthe record page
apithe full record endpoint

GET/api/v1

This reference as JSON.

Parameters

No parameters.

Example request

curl "https://retrofitatlas.org/api/v1"

Open this request · cache 3600 s

Example response (HTTP 200, trimmed)
{
 "name": "Retrofit Atlas API",
 "version": "v1",
 "licence": "undecided; research use only until terms are agreed with the authors",
 "base": "https://retrofitatlas.org/api/v1",
 "attribution": "Retrofit Atlas (retrofitatlas.org), built on the Retrofitting Suburbia research of Ellen Dunham-Jones and June Williamson; Wikipedia excerpts CC BY-SA 4.0; p…",
 "endpoints": {
  "GET /sites": "list; params q, state, country, type, status, strategy (redevelop|reinhabit|regreen), element (slug, comma = AND), min_acres, max_acres, verified (curated|dr…",
  "GET /sites/{id or slug}": "full record: fields, provenance, events, sources, deals, parties, parcels, context layers, elements, before/after details, photos",
  "GET /near?lat=&lon=&km=": "sites within km (≤ 200)",
  "GET /elements": "profile elements with counts",
  "GET /elements/{slug}": "sites carrying an element (+ CSV link)",
  "GET /owners?q=": "parties",
  "GET /owners/{slug}": "one party with its sites and Wikidata facts",
  "GET /stats": "counts by country, state, status, tier, decade, layer",
  "GET /changes?since=YYYY-MM-DD": "records whose source was edited since"
 },
 "static": {
  "records": "https://retrofitatlas.org/data/records/{id}.json",
  "all": "https://retrofitatlas.org/data/sites.json",
  "geojson": "https://retrofitatlas.org/data/sites.geojson",
  "kml": "https://retrofitatlas.org/data/sites.kml",
  "sqlite": "https://retrofitatlas.org/data/atlas.sqlite",
  "csv": "https://retrofitatlas.org/data/"
 },
 "tiers": "curated = from the authors' public map (not reviewed by them); draft = imported, unreviewed; contributed",
 "docs_html": "https://retrofitatlas.org/developers/",
 "contact": "hello@staffbox.ai",
 "auth": "https://retrofitatlas.org/docs/api/#auth",
 "openapi": "https://retrofitatlas.org/docs/openapi.json"
}

GET/api/v1/sites

Search and filter records. Returns brief records (one object per site) with total, limit and offset. Filters combine with AND. Rejected records are never returned.

Parameters

ParameterTypeRequiredDescription
qstringnosubstring of name, former names (aka) or city; case-insensitive
statestringnotwo-letter US state or province code
countrystringnocountry as stored, e.g. US, Canada, United Kingdom
typestringnosite type
one of: mall, big-box, strip, office-park, garden-apartments, industrial, golf-course, gas-station, other
statusstringnolifecycle status as recorded
one of: operating, closed, demolished, proposed, approved, under construction, built, partial, stalled, reversed, unknown
strategystringnoretrofit strategy (a site can carry several)
one of: redevelop, reinhabit, regreen
elementstringnoprofile element slug; comma-separated list means every element must match (see /api/v1/elements)
min_acresnumbernosite acreage at least
max_acresnumbernosite acreage at most
verifiedstringnotier
one of: curated, draft, contributed
updated_sincestring (date)norecords whose source changed on or after this date
sortstringno, default namesort order
one of: name, acres, year_closed, year_retrofit, updated, score
limitintegerno, default 50page size
1 to 500
offsetintegerno, default 0rows to skip
0 to 100000

Example request

curl "https://retrofitatlas.org/api/v1/sites?state=CA&type=mall&status=closed&sort=acres&limit=2"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "total": 6,
 "limit": 2,
 "offset": 0,
 "results": [
  {
   "id": "m-3f91a38aa8",
   "slug": "los-angeles-laurel-plaza",
   "type": "mall",
   "name": "Laurel Plaza",
   "aka": [],
   "city": "Los Angeles",
   "county": "Los Angeles County",
   "state": "CA",
   "country": "US",
   "lat": 34.18111,
   "lon": -118.39444,
   "year_opened": null,
   "year_closed": null,
   "year_retrofit": 2017,
   "acres": 25.0,
   "gla_sqft": null,
   "stores_peak": null,
   "strategy": [
    "redevelop"
   ],
   "new_use": [
    "housing",
    "office",
    "… 1 more"
   ],
   "status": "closed",
   "developer": null,
   "original_developer": null,
   "after_notes": "a mixed-use complex with residential units, commercial offices, and pedestrian-oriented shops and restaurants",
   "verified": "draft",
   "opp_score": 0.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/malls/ca/los-angeles-laurel-plaza/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-3f91a38aa8"
  },
  {
   "id": "m-d4b544becb",
   "slug": "los-angeles-ports-o-call-village",
   "type": "mall",
   "name": "Ports O' Call Village",
   "aka": [],
   "city": "Los Angeles",
   "county": "Los Angeles County",
   "state": "CA",
   "country": "US",
   "lat": 33.73263,
   "lon": -118.27684,
   "year_opened": 1963,
   "year_closed": 2020,
   "year_retrofit": null,
   "acres": 15.0,
   "gla_sqft": null,
   "stores_peak": 71,
   "strategy": [
    "redevelop"
   ],
   "new_use": [
    "retail",
    "office",
    "… 1 more"
   ],
   "status": "closed",
   "developer": "Port of Los Angeles",
   "original_developer": "David Tallichet",
   "after_notes": "under construction",
   "verified": "draft",
   "opp_score": 10.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/malls/ca/los-angeles-ports-o-call-village/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-d4b544becb"
  }
 ]
}

GET/api/v1/sites/{id}

One full record by id or slug. Every field with its provenance map, the dated event timeline, sources with quotes, deals, parties with roles, county parcels, every context layer, profile elements with evidence, before/after details with quotes, photos with credits.

Parameters

ParameterTypeRequiredDescription
idstringyesrecord id (m-…, n-…) or slug

Example request

curl "https://retrofitatlas.org/api/v1/sites/m-31b5364d66"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "id": "m-31b5364d66",
 "slug": "north-hollywood-valley-plaza",
 "type": "mall",
 "name": "Valley Plaza",
 "aka": [],
 "city": "North Hollywood",
 "county": "Los Angeles County",
 "state": "CA",
 "country": "US",
 "census_division": 9,
 "lat": 34.18718,
 "lon": -118.39739,
 "geocode_method": null,
 "address": null,
 "metro": null,
 "original_use": "mall",
 "year_opened": 1951,
 "year_closed": null,
 "acres": 100.0,
 "gla_sqft": 1039000,
 "stores_peak": null,
 "levels": null,
 "original_developer": "Bob Symonds",
 "original_architect": null,
 "before_notes": "Wikipedia categories: Demolished shopping malls in the United States",
 "strategy": [
  "redevelop"
 ],
 "new_use": [
  "retail",
  "entertainment"
 ],
 "share_retrofit": null,
 "status": "demolished",
 "year_retrofit": 2000,
 "developer": "J. H. Snyder",
 "architect": null,
 "after_notes": "Demolition underway; future use unknown",
 "narrative": "Valley Plaza was a shopping center in North Hollywood, Los Angeles, one of the first in the San Fernando Valley, opened in 1951. In the mid-1950s, it was rep…",
 "narrative_license": "CC BY-SA 4.0",
 "narrative_source": "https://en.wikipedia.org/wiki/Valley_Plaza",
 "zoning_change": null,
 "public_subsidy": null,
 "entitlement_year": null,
 "planning_notes": null,
 "wikidata_qid": "Q97357489",
 "wikipedia": "https://en.wikipedia.org/wiki/Valley_Plaza",
 "osm_id": null,
 "verified": "draft",
 "verified_by": null,
 "last_verified": null,
 "last_updated": "2026-10-18",
 "created": "2026-10-18",
 "contributor_name": null,
 "contributor_org": null,
 "contributor_link": null,
 "international": 0,
 "county_fips": "06037",
 "opp_score": 15.0,
 "opp_reasons": [
  "retrofit already built",
  "closed or demolished site (sourced)",
  "… 3 more"
 ],
 "for_sale": 0,
 "distressed": 0,
 "url": "https://retrofitatlas.org/malls/ca/north-hollywood-valley-plaza/",
 "events": [
  {
   "year": 1942,
   "date": null,
   "kind": "note",
   "detail": "Developer Bob Symonds conceives Valley Plaza",
   "source_id": 2277
  },
  {
   "year": 1948,
   "date": null,
   "kind": "note",
   "detail": "210,000‑sq‑ft Sears store announced",
   "source_id": 2278
  },
  "… 8 more"
 ],
 "sources": [
  {
   "id": 852,
   "site_id": "m-31b5364d66",
   "url": "https://en.wikipedia.org/wiki/Valley_Plaza",
   "title": "Wikipedia: Valley Plaza",
   "publisher": "Wikipedia",
   "date": "2026-09-11",
   "quote": null,
   "kind": "wikipedia",
   "license": "CC BY-SA 4.0",
   "retrieved": "2026-10-18"
  },
  {
   "id": 2270,
   "site_id": "m-31b5364d66",
   "url": "https://en.wikipedia.org/wiki/Valley_Plaza",
   "title": "Quoted support for year_opened",
   "publisher": null,
   "date": null,
   "quote": "The shopping center opened on August 12, 1951, with parking for 4000 cars, and had cost between $20,000,000 and $40,000,000 (depending on the source) to build.",
   "kind": "wikipedia",
   "license": null,
   "retrieved": "2026-10-18"
  },
  "… 16 more"
 ],
 "deals": [],
 "parties": [
  {
   "name": "J. H. Snyder",
   "kind": "owner",
   "role": "owner (from text)",
   "year_from": 2000,
   "year_to": 2011
  },
  {
   "name": "iStar",
   "kind": "owner",
   "role": "owner (from text)",
   "year_from": 2011,
   "year_to": 2020
  }
 ],
 "parcels": [],
 "context": {
  "assessment": {
   "what_happened": "Valley Plaza opened in 1951 as a shopping center in North Hollywood and grew to 100 acres and 1,039,000 sq ft of retail by 1956, adding anchors such as J.C. …",
   "why": "Visible causes of decline include the county's population decline of -2.5% (2018‑2023), relatively high median rent ($1,893), the fact that a retrofit had al…",
   "where_it_stands": "The site is currently demolished; ownership is unclear after iStar's tenure (2011‑2020), with demolition underway per the after‑notes.",
   "for_a_planner": [
    "Early West Coast mall precedent (opened 1951, once largest on the coast).",
    "Redevelopment strategy and retrofit completed in 2000 show prior entitlement work.",
    "… 1 more"
   ],
   "for_a_developer": [
    "Site size: 100 acres with 1,039,000 sf GLA (FAR 0.24).",
    "Control fragmented: J.H. Snyder (2000‑2011), iStar (2011‑2020), current owner unknown.",
    "… 2 more"
   ],
   "risks_and_unknowns": [
    "Exact demolition timeline and completion date not specified.",
    "Current owner and legal control after 2020 are unknown.",
    "… 3 more"
   ],
   "data_quality": "partial",
   "one_line": "Valley Plaza, a 100‑acre 1951 mall, was retrofitted in 2000; demolition began in 2025, future use and ownership currently unclear.",
   "model": "nvidia/nemotron-3-super-120b-a12b",
   "machine": "NVIDIA API via Hermes CT",
   "record_sha1": "b4f75294a31a"
  },
  "cluster": {
   "within_10km": [
    {
     "id": "m-3f91a38aa8",
     "name": "Laurel Plaza",
     "city": "Los Angeles",
     "status": "closed",
     "km": 0.7
    },
    {
     "id": "n-04693eae3d",
     "name": "Sherman Oaks Galleria",
     "city": "Sherman Oaks",
     "status": "built",
     "km": 6.2
    },
    "… 1 more"
   ],
   "count_10km": 3,
   "count_25km": 33
  },
  "deadmalls": {
   "url": "https://www.deadmalls.com/malls/valley_plaza.html",
   "title": "Valley Plaza: North Hollywood, CA",
   "match": "name+state+city",
   "index": "https://www.deadmalls.com/stories.html",
   "retrieved": "2026-10-20"
  },
  "edgar": {
   "query": "Valley Plaza",
   "city": "North Hollywood",
   "total": 83,
   "name_only_total": 74,
   "common_name": false,
   "sampled": 83,
   "latest": "2022-02-25",
   "earliest": "2001-03-30",
   "cmbs": [
    {
     "name": "Bear Stearns Commercial Mortgage Securities Trust 2006-PWR13",
     "cik": "0001372830",
     "n": 6,
     "first": "2006-10-12",
     "last": "2006-10-13",
     "forms": {
      "8-K": 3,
      "8-K/A": 3
     },
     "cmbs": true,
     "kind": "cmbs",
     "sic": "6189",
     "acc": "0000950136-06-008549",
     "doc": "file8.htm",
     "adjacent": false,
     "vintage": 2006
    },
    {
     "name": "J.P. Morgan Chase Commercial Mortgage Securities Trust 2006-LDP9",
     "cik": "0001382207",
     "n": 4,
     "first": "2007-01-05",
     "last": "2007-01-22",
     "forms": {
      "8-K/A": 2,
      "8-K": 2
     },
     "cmbs": true,
     "kind": "cmbs",
     "sic": "6189",
     "acc": "0000914121-07-000164",
     "doc": "jp6848195-ex10_1.txt",
     "adjacent": false,
     "vintage": 2006
    },
    "… 5 more"
   ],
   "public": [
    {
     "name": "Seritage Growth Properties  (SRG, SRG-PA)",
     "cik": "0001628063",
     "n": 20,
     "first": "2016-03-11",
     "last": "2020-03-02",
     "forms": {
      "8-K": 12,
      "10-K": 5,
      "10-Q": 3
     },
     "cmbs": false,
     "kind": "owner",
     "sic": "6500",
     "acc": "0001564590-20-008210",
     "doc": "srg-10k_20191231.htm",
     "adjacent": true
    },
    {
     "name": "ISTAR INC.  (SAFE)",
     "cik": "0001095651",
     "n": 12,
     "first": "2012-02-29",
     "last": "2022-02-25",
     "forms": {
      "10-K": 12
     },
     "cmbs": false,
     "kind": "owner",
     "sic": "6798",
     "acc": "0001095651-22-000004",
     "doc": "star-20211231xex21d1.htm",
     "adjacent": true
    },
    "… 2 more"
   ],
   "other": [
    {
     "name": "DAVITA INC  (DVA)",
     "cik": "0000927066",
     "n": 5,
     "first": "2011-02-25",
     "last": "2017-05-02",
     "forms": {
      "10-K": 2,
      "10-Q": 2,
      "10-K/A": 1
     },
     "cmbs": false,
     "kind": "other",
     "sic": "8090",
     "acc": "0001628280-17-004680",
     "doc": "dva-33117ex101.htm",
     "adjacent": false
    },
    {
     "name": "ICG COMMUNICATIONS INC /DE/",
     "cik": "0001013240",
     "n": 3,
     "first": "2002-06-04",
     "last": "2002-10-17",
     "forms": {
      "8-K": 3
     },
     "cmbs": false,
     "kind": "other",
     "sic": "4813",
     "acc": "0000950172-02-002176",
     "doc": "ch333150.txt",
     "adjacent": false
    },
    "… 7 more"
   ],
   "forms": {
    "10-K": 33,
    "8-K": 32,
    "10-Q": 9,
    "8-K/A": 7,
    "10-K/A": 2
   },
   "url": "https://efts.sec.gov/LATEST/search/#/q=%22Valley%20Plaza%22%20%22North%20Hollywood%22&forms=10-K,10-D,8-K,10-Q,ABS-EE&dateRange=custom&startdt=2001-01-01",
   "retrieved": "2026-10-20",
   "v": 4,
   "adj": [
    "0001095651",
    "0001628063"
   ],
   "adj_total": 13,
   "first_in_sample": "2004-01-07",
   "securitised": null,
   "vintage": 2004,
   "vintage_strong": false,
   "source": "SEC EDGAR full-text search"
  },
  "elevation": {
   "elevation_ft": 699.6,
   "resolution": 1,
   "source": "USGS EPQS (3DEP)",
   "retrieved": "2026-10-20"
  },
  "env": {
   "count": 34,
   "facilities": [
    {
     "name": "12020 VICTORY BLVD",
     "programs": " ",
     "site_type": "56299",
     "flags": "",
     "brownfield": false
    },
    {
     "name": "6534 LAUREL CANYON BOULEVARD",
     "programs": " ",
     "site_type": "56299",
     "flags": "",
     "brownfield": false
    },
    "… 10 more"
   ],
   "brownfield": false,
   "retrieved": "2026-10-15"
  },
  "fifteen": {
   "grocery": 3,
   "schools": 7,
   "parks": 18,
   "health": 0,
   "civic": 3,
   "food_drink": 6,
   "cycleway_ways": 7,
   "sidewalk_ways": 40,
   "residential_buildings": 2045,
   "categories_present": 5,
   "retrieved": "2026-10-16"
  },
  "flood": {
   "zone": "X",
   "subtype": "AREA OF MINIMAL FLOOD HAZARD",
   "sfha": "F",
   "bfe": -9999.0,
   "retrieved": "2026-10-15"
  },
  "food_access": {
   "tract10": "06037123901",
   "urban": 1,
   "lila_1_10": 0,
   "low_access_1mi": 0,
   "poverty_rate": 19.327538883806,
   "median_family_income": 50307.0,
   "snap_households": 205.0,
   "pop2010": 4500.0,
   "source": "USDA ERS Food Access Research Atlas 2019 (ArcGIS copy)",
   "retrieved": "2026-10-20"
  },
  "housing_market": {
   "zhvi": {
    "latest": 871674,
    "month": "2026-09",
    "change_1y": 0.004,
    "change_5y": 0.131
   },
   "zori": {
    "latest": 2806,
    "month": "2026-09",
    "change_1y": 0.013,
    "change_5y": 0.177
   },
   "county_fips": "06037",
   "source": "Zillow Research (ZHVI, ZORI)"
  },
  "hpi": {
   "year": 2025,
   "index": 791.0,
   "change_1y": -0.028,
   "change_5y": 0.266,
   "change_10y": 0.817,
   "base": "2000=100 (FHFA annual tract index, all-transactions)",
   "tract": "06037123901",
   "retrieved": "2026-10-20"
  },
  "jobs_lodes": {
   "tract20": "06037123901",
   "jobs": 2542,
   "retail_jobs": 261,
   "food_accommodation_jobs": 265,
   "year": 2022,
   "source": "Census LEHD LODES8 WAC 2022 (all jobs, primary and secondary), blocks summed to the 2020 tract",
   "retrieved": "2026-10-20"
  },
  "lihtc": {
   "count_1km": 3,
   "units_1km": 431,
   "li_units_1km": 271,
   "projects": [
    {
     "name": "Park Plaza Senior Apts",
     "units": 203,
     "year": null,
     "bond": false
    },
    {
     "name": "Piedmont Apts (North Hollywood)",
     "units": 198,
     "year": null,
     "bond": false
    },
    "… 1 more"
   ],
   "retrieved": "2026-10-16"
  },
  "listings": {
   "zip": "91606",
   "month": "202609",
   "median_listing_price": 857000,
   "median_listing_price_yy": -0.0595,
   "active_listing_count": 57,
   "median_days_on_market": 49,
   "price_reduced_share": 0.184,
   "pending_ratio": 0.3274,
   "source": "Realtor.com Research, inventory core metrics by ZIP (ZCTA at the site point)",
   "retrieved": "2026-10-20"
  },
  "nrhp": {
   "count": 0,
   "places": [],
   "retrieved": "2026-10-15"
  },
  "nri": {
   "tract": "06037123901",
   "risk_score": 97.2,
   "risk_rating": "Relatively High",
   "eal_score": 97.6,
   "eal_rating": "Very High",
   "expected_annual_loss_usd": 6276445,
   "social_vulnerability": "Relatively Moderate",
   "community_resilience": "Very Low",
   "hazards": {
    "tornado": "Very Low",
    "inland flooding": "Very High",
    "heat wave": "Relatively Low",
    "wildfire": "Very Low",
    "earthquake": "Very High",
    "hail": "Very Low",
    "strong wind": "Very Low",
    "winter weather": "Very Low",
    "landslide": "Very Low",
    "lightning": "Very Low"
   },
   "high_hazards": [
    "inland flooding",
    "earthquake"
   ],
   "retrieved": "2026-10-16"
  },
  "opportunity": {
   "tract10": "06037123901",
   "kfr_p25": 0.4479,
   "jail_p25": 0.0006,
   "kids_count": 857.3846,
   "commuting_zone": "Los Angeles",
   "vintage": "children born 1978-83, outcomes measured 2014-15",
   "source": "Opportunity Insights, Opportunity Atlas (Chetty, Friedman, Hendren, Jones, Porter 2018)",
   "retrieved": "2026-10-20"
  },
  "overture": {
   "candidates": 601,
   "place": {
    "id": "fbdabf21-4911-42cd-a563-e05826fca251",
    "name": "Valley Plaza",
    "category": "shopping_mall",
    "operating_status": "open",
    "websites": [
     "https://images2.loopnet.com/d2/mbatu6zpmk5zffyehdy8c3lvccbtl4vvv1iojq8fsji/document.pdf"
    ],
    "socials": null,
    "phones": null,
    "emails": null,
    "address": {
     "freeform": "12121 Victory Blvd",
     "locality": "North Hollywood",
     "region": "CA",
     "postcode": "91606-3204"
    },
    "brand_wikidata": null,
    "confidence": 0.9700287153124809,
    "lat": 34.187609,
    "lon": -118.397475,
    "providers": [
     "BrightQuery",
     "Overture",
     "… 1 more"
    ],
    "km": 0.05,
    "match_score": 7,
    "explore": "https://explore.overturemaps.org/?feature=places.place.fbdabf21-4911-42cd-a563-e05826fca251#17/34.18761/-118.39748"
   },
   "retrieved": "2026-10-15",
   "building": {
    "id": "b58b8cc3-4622-4fb9-90eb-328ee25a874d",
    "area_m2": 8201,
    "height_m": 17.5,
    "levels": null,
    "class": null,
    "names": null,
    "contains_point": true,
    "km": 0.07,
    "explore": "https://explore.overturemaps.org/?feature=buildings.building.b58b8cc3-4622-4fb9-90eb-328ee25a874d#17/34.18718/-118.39739"
   },
   "large_buildings_nearby": 11,
   "buildings_done": true
  },
  "oz": {
   "opportunity_zone": true,
   "tract": "06037123901",
   "rural": "N",
   "retrieved": "2026-10-15"
  },
  "pageviews": {
   "article": "Valley_Plaza",
   "months": 77,
   "total": 34218,
   "last_12m": 8430,
   "prior_12m": 11480,
   "trend": -0.27,
   "peak_month": "202508",
   "peak_views": 5335,
   "series": [
    [
     "202006",
     171
    ],
    [
     "202007",
     227
    ],
    "… 75 more"
   ],
   "retrieved": "2026-10-15"
  },
  "peers": {
   "peers": [
    {
     "id": "m-bfa5c9d5db",
     "name": "Lakeforest Mall",
     "city": "Gaithersburg",
     "state": "MD",
     "score": 9.0,
     "why": [
      "similar size (100 acres)",
      "similar GLA (1,045,000 sq ft)",
      "… 1 more"
     ]
    },
    {
     "id": "m-95dc9e61c0",
     "name": "Summit Place Mall",
     "city": "Waterford Township",
     "state": "MI",
     "score": 9.0,
     "why": [
      "similar size (74 acres)",
      "similar GLA (1,300,000 sq ft)",
      "… 1 more"
     ]
    },
    "… 4 more"
   ],
   "method": "size, era, strategy, status, type, state, distance"
  },
  "permits": {
   "county": "Los Angeles County",
   "2024": {
    "units_1": 9106,
    "units_2_4": 1273,
    "units_5plus": 9430,
    "value_total": 3876623417
   },
   "2023": {
    "units_1": 9554,
    "units_2_4": 1518,
    "units_5plus": 13214,
    "value_total": 5392309587
   },
   "retrieved": "2026-10-18"
  },
  "qcew_retail": {
   "county": "06037",
   "year": 2025,
   "establishments": 28960,
   "employment": 391331,
   "avg_annual_pay": 52235,
   "lq_employment": 0.87,
   "employment_change_1y": -1.7,
   "source": "BLS QCEW 2025 annual, county, NAICS 44-45 retail trade, private",
   "retrieved": "2026-10-20"
  },
  "retail_trend": {
   "2012": {
    "estab": 28345,
    "emp": 386821
   },
   "2023": {
    "estab": 28998,
    "emp": 419890
   },
   "estab_change": 0.023,
   "emp_change": 0.085,
   "county_fips": "06037"
  },
  "schools": {
   "district": "Los Angeles Unified School District",
   "district_geoid": "0622710",
   "grades": "KG-12",
   "district_vintage": "SY2024-25",
   "public_schools_1mi": 6,
   "schools": [
    "ISANA Palmati Academy",
    "New Horizons Charter Academy",
    "… 4 more"
   ],
   "schools_vintage": "SY2023-24",
   "source": "NCES EDGE",
   "retrieved": "2026-10-20"
  },
  "sec": {
   "reit": [],
   "absee": [
    {
     "trust": "Benchmark 2021-B30 Mortgage Trust",
     "cik": "0001885855",
     "filed": "2026-10-01",
     "as_of": "2026-09-11",
     "url": "https://www.sec.gov/Archives/edgar/data/1885855/000188852426018228/exh_102.xml",
     "primary": "https://www.sec.gov/Archives/edgar/data/1885855/000188852426018228/bmk21b30_absee-202609.htm",
     "match": "exact",
     "linked": true,
     "n_properties": 1,
     "loan": {
      "loan_id": "7",
      "originator": "Goldman Sachs Bank USA",
      "origination_date": "09-24-2021",
      "loan_original": "38900000.00000000",
      "maturity": "10-06-2031",
      "loan_balance": "38900000.00000000",
      "loan_balance_actual": "38900000.00000000",
      "interest_rate": ".03706000",
      "payment_status": "0",
      "paid_through": "09-06-2026",
      "servicer": "Midland Loan Services",
      "modified": "false",
      "defeased": "N",
      "dscr_ncf": "2.96090000",
      "dscr_noi": "2.99230000",
      "noi": "1093446.74000000",
      "financials_end": "03-31-2026",
      "dscr_ncf_at_securitization": "2.13000000",
      "noi_at_securitization": "3159966.11000000",
      "period_end": "09-11-2026",
      "n_properties": "1",
      "n_properties_now": "1"
     },
     "property": {
      "property": "Valley Plaza",
      "address": "12121 Victory Boulevard 6433 Laurel Canyon Boulevard",
      "city": "North Hollywood",
      "state": "CA",
      "zip": "91606",
      "property_type": "RT",
      "nrsf": "155305",
      "nrsf_at_securitization": "155305",
      "year_built": "1951",
      "year_renovated": "2021",
      "appraised_at_securitization": "65500000.00000000",
      "appraisal_date_at_securitization": "08-16-2021",
      "appraised_value": "65500000.00000000",
      "appraisal_date": "08-16-2021",
      "occupancy_pct": "1.00000000",
      "occupancy_pct_at_securitization": "1.00000000",
      "property_status": "6",
      "tenant1": "TARGET STORE",
      "tenant1_sqft": "80411",
      "tenant1_expiry": "01-31-2041",
      "tenant2": "BURLINGTON STORES",
      "tenant2_sqft": "42680",
      "tenant3": "ROSS DRESS FOR LESS",
      "tenant3_sqft": "32214"
     }
    }
   ],
   "source": "SEC EDGAR: REIT 10-K property tables and ABS-EE Exhibit 102",
   "retrieved": "2026-10-21"
  },
  "storms": {
   "county": "06037",
   "years": "2016-2025",
   "events": 157,
   "by_type": {
    "Flash Flood": 86,
    "Thunderstorm Wind": 35,
    "Debris Flow": 21,
    "Hail": 6,
    "Tornado": 6,
    "Funnel Cloud": 1,
    "Lightning": 1,
    "Flood": 1
   },
   "property_damage_usd": 8000,
   "deaths_direct": 1,
   "injuries_direct": 2,
   "note": "county-typed events only; events logged to forecast zones (CZ_TYPE Z: most winter, heat, flood and coastal events) are not counted",
   "source": "NOAA NCEI Storm Events Database, details files",
   "retrieved": "2026-10-20"
  },
  "svi": {
   "tract": "06037123901",
   "overall_pct": 0.92,
   "socioeconomic_pct": 0.91,
   "household_pct": 0.64,
   "minority_pct": 0.76,
   "housing_transport_pct": 0.93,
   "pop": 3986,
   "poverty150_share": 35.9,
   "no_vehicle_share": 3.7,
   "minority_share": 64.9,
   "unemployed_share": 5.8,
   "retrieved": "2026-10-15"
  },
  "tract": {
   "geoid": "06037123901",
   "pop": 4369,
   "pop_per_sqmi": 8764,
   "median_hh_income": 56333,
   "median_gross_rent": 1878,
   "renter_share": 0.64,
   "vacancy_rate": 0.095,
   "transit_commute_share": 0.123,
   "retrieved": "2026-10-15"
  },
  "tract_change": {
   "geoid": "06037123901",
   "y2013": {
    "pop": 4481,
    "median_hh_income": 43929,
    "renter_share": 0.666,
    "median_home_value": 435500
   },
   "y2023": {
    "pop": 4369,
    "median_hh_income": 56333,
    "renter_share": 0.643,
    "median_home_value": 956500
   },
   "retrieved": "2026-10-16",
   "pop_change": -0.025,
   "median_hh_income_change": 0.282,
   "renter_share_change": -0.023,
   "median_home_value_change": 1.196
  },
  "traffic": {
   "max_aadt": 20958,
   "trucks_aadt": 1666,
   "road": null,
   "class": "principal arterial",
   "lanes": 4,
   "segments_600m": 22,
   "year": "2024",
   "source": "FHWA HPMS",
   "retrieved": "2026-10-20"
  },
  "transit": {
   "rail_stations": [],
   "bus_stops": 8,
   "bus_stations": [],
   "motorway_junctions": [
    "7",
    "8A",
    "… 2 more"
   ],
   "retrieved": "2026-10-15"
  },
  "walk": {
   "geoid": "060371239013",
   "walk_index": 19,
   "intersection_density": 215.7,
   "road_density": 30.5,
   "transit_distance_m": 221.0,
   "land_use_mix": 0.77,
   "jobs_per_acre": 11.99,
   "jobs_45min_auto": 378688,
   "jobs_45min_transit": 343541,
   "zero_car_share": 0.023,
   "pop": 810,
   "housing_units": 296,
   "acres_land": 199.0,
   "retrieved": "2026-10-15"
  },
  "web": {
   "images": [
    {
     "title": "Valley Plaza North Hollywood Captain Marvel Then And Now",
     "page": "https://fity.club/lists/suggestions/valley-plaza-north-hollywood/",
     "host": "fity.club",
     "img": "https://athena-pm.com/wp-content/uploads/2022/02/Valley-Plaza-Main.jpg",
     "engine": "bing images"
    },
    {
     "title": "Valley Plaza Park Sign (North Hollywood, Los Angeles)",
     "page": "https://commons.wikimedia.org/wiki/File:Valley_Plaza_Park_Sign_(North_Hollywood,_Los_Angeles).jpg",
     "host": "commons.wikimedia.org",
     "img": "https://upload.wikimedia.org/wikipedia/commons/8/8d/Valley_Plaza_Park_Sign_%28North_Hollywood%2C_Los_Angeles%29.jpg",
     "engine": "wikicommons.images"
    },
    "… 6 more"
   ],
   "refs": [],
   "query": "\"Valley Plaza\" North Hollywood CA",
   "retrieved": "2026-10-15"
  },
  "web_presence": {
   "websites": [
    "https://images2.loopnet.com/d2/mbatu6zpmk5zffyehdy8c3lvccbtl4vvv1iojq8fsji/document.pdf"
   ],
   "socials": [],
   "phones": null,
   "platforms": [],
   "overture_id": "fbdabf21-4911-42cd-a563-e05826fca251",
   "website_status": 403,
   "website_final": "https://images2.loopnet.com/d2/mbatu6zpmk5zffyehdy8c3lvccbtl4vvv1iojq8fsji/document.pdf",
   "website_alive": false,
   "retrieved": "2026-10-15",
   "wayback": {
    "host": "images2.loopnet.com",
    "first_capture": "20170601",
    "last_capture": "20260320",
    "pages_of_captures": 1,
    "archive_url": "https://web.archive.org/web/*/images2.loopnet.com",
    "retrieved": "2026-10-16"
   }
  },
  "yield": {
   "value_per_acre": null,
   "gla_per_acre": 10390,
   "far": 0.24,
   "parcel_value_total": null
  }
 },
 "elements": [
  {
   "slug": "use-retail",
   "name": "Retail (continued)",
   "group_": "use",
   "evidence": "new_use field",
   "origin": "extraction"
  },
  {
   "slug": "place-walkable",
   "name": "Walkable block group (EPA ≥ 12)",
   "group_": "place",
   "evidence": "index 19",
   "origin": "epa-walkability"
  },
  "… 23 more"
 ],
 "details": {
  "demolition_year": {
   "value": "2025",
   "quote": "On October 29th, 2025 demolition of the plaza began.",
   "origin": "extraction-deep:nvidia/nemotron-3-super-120b-a12b"
  },
  "gla_sqft_before": {
   "value": "1039000",
   "quote": "By 1956 it was reported to cover 100 acres with 1,039,000 square feet of retail space",
   "origin": "extraction-deep:nvidia/nemotron-3-super-120b-a12b"
  },
  "parking_spaces_before": {
   "value": "4000",
   "quote": "opened on August 12, 1951, with parking for 4000 cars",
   "origin": "extraction-deep:nvidia/nemotron-3-super-120b-a12b"
  },
  "retrofit_cost_planned_usd": {
   "value": "300000000",
   "quote": "Shortly after 2000, J. H. Snyder acquired the core Valley Plaza property from lender iStar, and announced plans for a $300 million renovation.",
   "origin": "extraction-deep:nvidia/nemotron-3-super-120b-a12b"
  },
  "site_acres": {
   "value": "100",
   "quote": "Valley Plaza would later extend along Victory Boulevard to cover 100 acres (40 ha).",
   "origin": "extraction-deep:nvidia/nemotron-3-super-120b-a12b"
  }
 },
 "photos": [
  {
   "file": "https://retrofitatlas.org/img/north-hollywood-valley-plaza.jpg",
   "author": "Nzimpfer",
   "license": "CC BY-SA 4.0",
   "license_url": "https://creativecommons.org/licenses/by-sa/4.0",
   "source": "https://thumb.wikimedia.org/wikipedia/commons/thumb/6/63/Valley_Plaza_shopping_center.jpg/960px-Valley_Plaza_shopping_center.jpg?utm_source=commons.wikimedia…",
   "is_key": 1
  },
  {
   "file": "https://thumb.wikimedia.org/wikipedia/commons/thumb/6/63/Valley_Plaza_shopping_center.jpg/960px-Valley_Plaza_shopping_center.jpg?utm_source=commons.wikimedia…",
   "author": "Nzimpfer",
   "license": "CC BY-SA 4.0",
   "license_url": "https://creativecommons.org/licenses/by-sa/4.0",
   "source": "https://commons.wikimedia.org/wiki/File:Valley_Plaza_shopping_center.jpg",
   "is_key": 0
  }
 ],
 "provenance": {
  "*": "wikidata",
  "state": "census-geocoder",
  "year_opened": "extraction",
  "acres": "extraction",
  "gla_sqft": "extraction",
  "original_developer": "extraction",
  "year_retrofit": "extraction",
  "developer": "extraction",
  "after_notes": "extraction",
  "status": "extraction",
  "strategy": "extraction",
  "new_use": "extraction"
 },
 "restricted_fields": {
  "parcels": [
   "owner_addr",
   "assessed",
   "… 4 more"
  ],
  "deals": [
   "price",
   "price_per_acre",
   "… 3 more"
  ],
  "how": "free API key: POST /api/v1/keys {\"email\": …}"
 }
}

GET/api/v1/near

Sites within a radius. Great-circle approximation, nearest first, each result carries km.

Parameters

ParameterTypeRequiredDescription
latnumberyeslatitude
-90 to 90
lonnumberyeslongitude
-180 to 180
kmnumberno, default 25radius in km
0.1 to 200
limitintegerno, default 100max results
1 to 500

Example request

curl "https://retrofitatlas.org/api/v1/near?lat=34.187&lon=-118.397&km=25&limit=3"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "lat": 34.187,
 "lon": -118.397,
 "km": 25.0,
 "count": 34,
 "results": [
  {
   "id": "m-31b5364d66",
   "slug": "north-hollywood-valley-plaza",
   "type": "mall",
   "name": "Valley Plaza",
   "aka": [],
   "city": "North Hollywood",
   "county": "Los Angeles County",
   "state": "CA",
   "country": "US",
   "lat": 34.18718,
   "lon": -118.39739,
   "year_opened": 1951,
   "year_closed": null,
   "year_retrofit": 2000,
   "acres": 100.0,
   "gla_sqft": 1039000,
   "stores_peak": null,
   "strategy": [
    "redevelop"
   ],
   "new_use": [
    "retail",
    "entertainment"
   ],
   "status": "demolished",
   "developer": "J. H. Snyder",
   "original_developer": "Bob Symonds",
   "after_notes": "Demolition underway; future use unknown",
   "verified": "draft",
   "opp_score": 15.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/malls/ca/north-hollywood-valley-plaza/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-31b5364d66",
   "km": 0.0
  },
  {
   "id": "m-3f91a38aa8",
   "slug": "los-angeles-laurel-plaza",
   "type": "mall",
   "name": "Laurel Plaza",
   "aka": [],
   "city": "Los Angeles",
   "county": "Los Angeles County",
   "state": "CA",
   "country": "US",
   "lat": 34.18111,
   "lon": -118.39444,
   "year_opened": null,
   "year_closed": null,
   "year_retrofit": 2017,
   "acres": 25.0,
   "gla_sqft": null,
   "stores_peak": null,
   "strategy": [
    "redevelop"
   ],
   "new_use": [
    "housing",
    "office",
    "… 1 more"
   ],
   "status": "closed",
   "developer": null,
   "original_developer": null,
   "after_notes": "a mixed-use complex with residential units, commercial offices, and pedestrian-oriented shops and restaurants",
   "verified": "draft",
   "opp_score": 0.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/malls/ca/los-angeles-laurel-plaza/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-3f91a38aa8",
   "km": 0.7
  },
  "… 1 more"
 ]
}

GET/api/v1/elements

All profile elements with counts. Elements are BuiltWith-style tags (anchor, era, finance, owner, place, policy, scale, strategy, use) attached to sites with an evidence snippet.

Parameters

No parameters.

Example request

curl "https://retrofitatlas.org/api/v1/elements"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "results": [
  {
   "slug": "anchor-sears",
   "name": "Sears",
   "group_": "anchor",
   "description": "A former anchor or named chain at this site",
   "sites": 226
  },
  {
   "slug": "anchor-jcpenney",
   "name": "JCPenney",
   "group_": "anchor",
   "description": "A former anchor or named chain at this site",
   "sites": 195
  },
  "… 214 more"
 ]
}

GET/api/v1/elements/{slug}

Sites carrying one element.

Parameters

ParameterTypeRequiredDescription
slugstringyeselement slug
limitintegerno, default 50page size
1 to 500
offsetintegerno, default 0rows to skip
0 to 100000

Example request

curl "https://retrofitatlas.org/api/v1/elements/strategy-redevelop?limit=2"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "element": {
  "id": 29,
  "slug": "strategy-redevelop",
  "name": "Redeveloped",
  "grp": "strategy",
  "description": "Dunham-Jones and Williamson's three strategies"
 },
 "count": 1126,
 "results": [
  {
   "id": "n-647354d836",
   "slug": "san-jose-0-seely-avenue-mixed-use",
   "type": "industrial",
   "name": "0 Seely Avenue Mixed-Use",
   "aka": [
    "0 Seely Avenue"
   ],
   "city": "San Jose",
   "county": "Santa Clara County",
   "state": "CA",
   "country": "US",
   "lat": 37.33617,
   "lon": -121.89059,
   "year_opened": null,
   "year_closed": null,
   "year_retrofit": null,
   "acres": null,
   "gla_sqft": null,
   "stores_peak": null,
   "strategy": [
    "redevelop"
   ],
   "new_use": [
    "housing",
    "park",
    "… 1 more"
   ],
   "status": "proposed",
   "developer": "The Hanover Company",
   "original_developer": null,
   "after_notes": "1,470 residential units and approximately 52,000 square-feet of retail space, and a public park",
   "verified": "draft",
   "opp_score": 10.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/industrial/ca/san-jose-0-seely-avenue-mixed-use/",
   "api": "https://retrofitatlas.org/api/v1/sites/n-647354d836",
   "evidence": "1,470 residential units and approximately 52,000 square-feet of retail space, and a public park"
  },
  {
   "id": "n-011c51cf36",
   "slug": "dunwoody-100-ashford-center-north",
   "type": "office-park",
   "name": "100 Ashford Center North",
   "aka": [],
   "city": "Dunwoody",
   "county": "DeKalb County",
   "state": "GA",
   "country": "US",
   "lat": 33.9411,
   "lon": -84.33548,
   "year_opened": null,
   "year_closed": null,
   "year_retrofit": null,
   "acres": null,
   "gla_sqft": null,
   "stores_peak": null,
   "strategy": [
    "redevelop"
   ],
   "new_use": [
    "housing"
   ],
   "status": "proposed",
   "developer": null,
   "original_developer": null,
   "after_notes": "OA Development is seeking permission from its lender to put 100 Ashford Center North up for sale to developers looking to convert the 162K SF mid-rise office…",
   "verified": "draft",
   "opp_score": 5.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/office-parks/ga/dunwoody-100-ashford-center-north/",
   "api": "https://retrofitatlas.org/api/v1/sites/n-011c51cf36",
   "evidence": "OA Development is seeking permission from its lender to put 100 Ashford Center North up for sale to developers looking to convert the 162K SF mid-rise office…"
  }
 ],
 "csv": "https://retrofitatlas.org/profiles/strategy-redevelop.csv"
}

GET/api/v1/owners

Owners, operators, developers.

Parameters

ParameterTypeRequiredDescription
qstringnosubstring of the party name
limitintegerno, default 200max results
1 to 500

Example request

curl "https://retrofitatlas.org/api/v1/owners?q=Simon&limit=3"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "results": [
  {
   "name": "Simon Property Group",
   "kind": "owner",
   "sites": 29,
   "slug": "simon-property-group",
   "url": "https://retrofitatlas.org/owners/simon-property-group/"
  },
  {
   "name": "Melvin Simon & Associates",
   "kind": "owner",
   "sites": 4,
   "slug": "melvin-simon-associates",
   "url": "https://retrofitatlas.org/owners/melvin-simon-associates/"
  },
  "… 1 more"
 ]
}

GET/api/v1/owners/{slug}

One party with its sites and Wikidata facts. If several parties share a slug the response says so and lists candidates.

Parameters

ParameterTypeRequiredDescription
slugstringyesparty slug (lower-case, hyphens)

Example request

curl "https://retrofitatlas.org/api/v1/owners/simon-property-group"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "owner": {
  "name": "Simon Property Group",
  "kind": "owner",
  "sites": 29
 },
 "facts": {
  "qid": "Q2287759",
  "description": "American commercial real estate company and real estate investment trust",
  "instance_of": "real estate investment trust",
  "hq": "Simon Property Group Headquarters",
  "country": "United States",
  "ticker": null,
  "website": "http://www.simon.com",
  "inception": "1993",
  "parent": null,
  "successor": null,
  "ids": {
   "qid": "Q2287759",
   "qid_confidence": "high",
   "qid_label": "Simon Property Group",
   "cik": "1063761",
   "cik_confidence": "high",
   "cik_entity": "SIMON PROPERTY GROUP INC.",
   "ticker": "SPG",
   "cik_via": "company_tickers.json",
   "retrieved": "2026-10-21"
  },
  "company": {
   "hq": {
    "values": [
     {
      "value": "Q7519585",
      "since": "2006-07-07",
      "until": null,
      "label": "Simon Property Group Headquarters"
     }
    ],
    "source_url": "https://www.wikidata.org/wiki/Q2287759#P159",
    "source_kind": "wikidata",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "website": {
    "values": [
     {
      "value": "http://www.simon.com",
      "since": null,
      "until": null
     },
     {
      "value": "https://www.simon.com/",
      "since": null,
      "until": null
     },
     "… 1 more"
    ],
    "source_url": "https://www.wikidata.org/wiki/Q2287759#P856",
    "source_kind": "wikidata",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "lei": {
    "values": [
     {
      "value": "529900GQL5X8H7AO3T64",
      "since": null,
      "until": null
     }
    ],
    "source_url": "https://www.wikidata.org/wiki/Q2287759#P1278",
    "source_kind": "wikidata",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "exchange": {
    "values": [
     {
      "value": "Q13677",
      "since": "1993-12-14",
      "until": null,
      "label": "New York Stock Exchange"
     }
    ],
    "source_url": "https://www.wikidata.org/wiki/Q2287759#P414",
    "source_kind": "wikidata",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "instance_of": {
    "values": [
     {
      "value": "Q697852",
      "since": "1998-03-10",
      "until": null,
      "label": "real estate investment trust"
     },
     {
      "value": "Q1660104",
      "since": null,
      "until": null,
      "label": "real estate company"
     },
     "… 2 more"
    ],
    "source_url": "https://www.wikidata.org/wiki/Q2287759#P31",
    "source_kind": "wikidata",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "inception": {
    "values": [
     {
      "value": "+1993-01-01T00:00:00Z",
      "since": null,
      "until": null
     },
     {
      "value": "+1960-00-00T00:00:00Z",
      "since": null,
      "until": null
     },
     "… 1 more"
    ],
    "source_url": "https://www.wikidata.org/wiki/Q2287759#P571",
    "source_kind": "wikidata",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "edgar_name": {
    "values": [
     {
      "value": "SIMON PROPERTY GROUP INC."
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "sic": {
    "values": [
     {
      "value": "6798"
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "sic_description": {
    "values": [
     {
      "value": "Real Estate Investment Trusts"
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "state_of_incorporation": {
    "values": [
     {
      "value": "IN"
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "entity_type": {
    "values": [
     {
      "value": "operating"
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "tickers": {
    "values": [
     {
      "value": [
       "SPG",
       "SPG-PJ"
      ]
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "exchanges": {
    "values": [
     {
      "value": [
       "NYSE",
       "NYSE"
      ]
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "fiscal_year_end": {
    "values": [
     {
      "value": "1231"
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "former_names": {
    "values": [
     {
      "value": [
       "SIMON PROPERTY GROUP INC /DE/",
       "CORPORATE PROPERTY INVESTORS INC"
      ]
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "business_address": {
    "values": [
     {
      "value": "225 WEST WASHINGTON STREET, INDIANAPOLIS, IN, 46204-3438"
     }
    ],
    "source_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1063761",
    "source_kind": "edgar-submissions",
    "retrieved": "2026-10-21",
    "confidence": "high"
   },
   "latest_10k": {
    "values": [
     {
      "value": "https://www.sec.gov/Archives/edgar/data/1063761/000110465926019419/spg-20251231x10k.htm",
      "filed": "2026-02-25",
      "form": "10-K"
     }
    ],
    "source_url": "https://www.sec.gov/Archives/edgar/data/1063761/000110465926019419/spg-20251231x10k.htm",
    "source_kind": "edgar-10k",
    "retrieved": "2026-10-21",
    "confidence": "high"
   }
  }
 },
 "url": "https://retrofitatlas.org/owners/simon-property-group/",
 "results": [
  {
   "id": "m-011f22b5e2",
   "slug": "sherman-midway-mall",
   "type": "mall",
   "name": "Midway Mall",
   "aka": [],
   "city": "Sherman",
   "county": "Grayson County",
   "state": "TX",
   "country": "US",
   "lat": 33.6875,
   "lon": -96.585,
   "year_opened": 1986,
   "year_closed": null,
   "year_retrofit": null,
   "acres": null,
   "gla_sqft": null,
   "stores_peak": null,
   "strategy": [],
   "new_use": null,
   "status": "closed",
   "developer": null,
   "original_developer": null,
   "after_notes": "Repairs are currently being worked on in phases, the first repair was replacing air conditioning.",
   "verified": "draft",
   "opp_score": 40.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/malls/tx/sherman-midway-mall/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-011f22b5e2",
   "role": "owner (from text)"
  },
  {
   "id": "m-13ffe77c97",
   "slug": "northwood-woodville-mall",
   "type": "mall",
   "name": "Woodville Mall",
   "aka": [],
   "city": "Northwood",
   "county": "Wood County",
   "state": "OH",
   "country": "US",
   "lat": 41.60358,
   "lon": -83.461,
   "year_opened": 1969,
   "year_closed": 2011,
   "year_retrofit": null,
   "acres": null,
   "gla_sqft": null,
   "stores_peak": null,
   "strategy": [],
   "new_use": null,
   "status": "demolished",
   "developer": null,
   "original_developer": "Edward J. DeBartolo Corporation",
   "after_notes": null,
   "verified": "draft",
   "opp_score": 25.0,
   "last_updated": "2026-10-18",
   "url": "https://retrofitatlas.org/malls/oh/northwood-woodville-mall/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-13ffe77c97",
   "role": "owner (from text)"
  },
  "… 31 more"
 ]
}

GET/api/v1/stats

Counts by country, state, status, tier, decade and layer.

Parameters

No parameters.

Example request

curl "https://retrofitatlas.org/api/v1/stats"

Open this request · cache 600 s

Example response (HTTP 200, trimmed)
{
 "sites": 1902,
 "by_country": [
  {
   "key": "US",
   "sites": 1551
  },
  {
   "key": "United Kingdom",
   "sites": 62
  },
  "… 35 more"
 ],
 "by_state": [
  {
   "key": null,
   "sites": 352
  },
  {
   "key": "CA",
   "sites": 155
  },
  "… 52 more"
 ],
 "by_status": [
  {
   "key": "built",
   "sites": 476
  },
  {
   "key": "proposed",
   "sites": 290
  },
  "… 9 more"
 ],
 "by_tier": [
  {
   "key": "draft",
   "sites": 1722
  },
  {
   "key": "curated",
   "sites": 180
  }
 ],
 "by_retrofit_decade": [
  {
   "key": null,
   "sites": 1268
  },
  {
   "key": 2010,
   "sites": 205
  },
  "… 8 more"
 ],
 "by_closure_decade": [
  {
   "key": null,
   "sites": 1403
  },
  {
   "key": 2020,
   "sites": 135
  },
  "… 10 more"
 ],
 "layers": [
  {
   "layer": "assessment",
   "sites": 1905
  },
  {
   "layer": "cluster",
   "sites": 1549
  },
  "… 34 more"
 ],
 "elements": 216,
 "deals": 565,
 "parcels": 959,
 "photos": 6552
}

GET/api/v1/changes

Records whose source changed since a date. For agents and alerts. last_updated is when the record's source last changed; a publish can touch many rows.

Parameters

ParameterTypeRequiredDescription
releasestring (date)norecords added or changed in this release (YYYY-MM-DD); see /api/v1/diff
sincestring (date)no, default 2000-01-01YYYY-MM-DD
limitintegerno, default 200page size
1 to 500
offsetintegerno, default 0rows to skip
0 to 100000

Example request

curl "https://retrofitatlas.org/api/v1/changes?since=2026-10-01&limit=2"

Open this request · cache 300 s

Example response (HTTP 200, trimmed)
{
 "since": "2026-10-01",
 "total": 1634,
 "limit": 2,
 "offset": 0,
 "note": "last_updated is when the record's source last changed; a build touches many rows. Add release=YYYY-MM-DD for a release-to-release diff",
 "results": [
  {
   "id": "m-520fbe8bb5",
   "slug": "elkhart-concord-mall",
   "type": "mall",
   "name": "Concord Mall",
   "aka": [],
   "city": "Elkhart",
   "county": "Elkhart County",
   "state": "IN",
   "country": "US",
   "lat": 41.643,
   "lon": -85.933,
   "year_opened": 1972,
   "year_closed": 2023,
   "year_retrofit": null,
   "acres": null,
   "gla_sqft": null,
   "stores_peak": null,
   "strategy": [
    "redevelop"
   ],
   "new_use": null,
   "status": "proposed",
   "developer": null,
   "original_developer": null,
   "after_notes": null,
   "verified": "draft",
   "opp_score": 25.0,
   "last_updated": "2026-10-21",
   "url": "https://retrofitatlas.org/malls/in/elkhart-concord-mall/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-520fbe8bb5"
  },
  {
   "id": "m-bf87aa1e63",
   "slug": "miami-omni-intl-mall",
   "type": "mall",
   "name": "Omni Int’l Mall",
   "aka": [
    "Omni",
    "Omni International Mall"
   ],
   "city": "Miami",
   "county": "Miami-Dade",
   "state": "FL",
   "country": "US",
   "lat": 25.79211,
   "lon": -80.1884,
   "year_opened": 1977,
   "year_closed": null,
   "year_retrofit": 2007,
   "acres": null,
   "gla_sqft": 300000,
   "stores_peak": null,
   "strategy": [
    "reinhabit"
   ],
   "new_use": null,
   "status": "built",
   "developer": null,
   "original_developer": null,
   "after_notes": "• Reinhabitation: office and education",
   "verified": "curated",
   "opp_score": 0.0,
   "last_updated": "2026-10-21",
   "url": "https://retrofitatlas.org/malls/fl/miami-omni-intl-mall/",
   "api": "https://retrofitatlas.org/api/v1/sites/m-bf87aa1e63"
  }
 ]
}

Errors

Malformed input answers 400 with a one-line reason. A record or endpoint that does not exist answers HTTP 200 with a JSON error and X-Atlas-Status: 404 (the CDN rewrites origin 404s to the site's HTML 404 page). Writes answer 405. Unexpected failures answer 500 and are logged.

GET /api/v1/sites/does-not-exist → HTTP 200, X-Atlas-Status: 404
{
 "error": "no such site",
 "status": 404,
 "docs": "https://retrofitatlas.org/developers/"
}

GET /api/v1/near?lat=x&lon=0 → HTTP 400
{
 "error": "bad parameter: lat must be a number",
 "status": 400
}

Response headers

HeaderValue
Content-Typeapplication/json; charset=utf-8
Access-Control-Allow-Origin*
Cache-Controlpublic, max-age=300 (600 for stats, 3600 for the JSON reference)
X-Atlas-Licenceundecided; research use only
X-Atlas-Status404 on a miss (body is HTTP 200)

Documentation built 2026-10-21 from the live database (1,902 records). Corrections: the form or desk@retrofitatlas.org.