Qipudata
San Francisco · v0.7.1
qipu data›San Francisco›Datasets›x_appraisals

Redevelopment Agency appraisals

x_appraisalsrelease v0.7.1CC0 1.0

About

Extraction table: the SF Redevelopment Agency property files of the Western Addition A-2 project (SFPL scans on archive.org), one row per parcel page (claude-haiku-5-5, sfra_extract.py), matched to today's parcels by sfra_build.py.

Where it comes from
The San Francisco Redevelopment Agency's property files for the Western Addition A-2 project, scanned by the San Francisco Public Library and held by the Internet Archive.
How it was read
Read page by page by a language model (Claude Haiku), then matched to today's parcels.
How far to trust it
The release passed its automatic checks before it was published (what is checked). A hand check by the editor of qipu data is under way: 36 of 38 items checked so far were right, on votes, money, places and the map. A row says what the record states; the scanned page is the authority. Details
Licence
CC0 1.0: use it for anything, no permission needed. The scans and other sources keep their own rights.
Version
v0.7.1, published 21 October 2026. A published release is never changed; corrections come as a new release.
Technical details
Table
x_appraisals
Rows
3,189
Columns
31
Parquet
x_appraisals.parquet, 0.3 MB
Version
v0.7.1, 21 October 2026
Licence
CC0 1.0. Sources keep their own rights.

Rows

Rows by precision

ValueRowsShare
address1,41944.5%
printed block1,02332.1%
block69221.7%
near551.7%

Rows by kind_page

ValueRowsShare
appraisal1,57149.3%
sale88827.8%
property_summary48215.1%
folder1183.7%
interview1153.6%
rent_schedule150.5%

Rows by confidence

ValueRowsShare
medium1,76955.5%
high1,42044.5%

Method and accuracy

Read page by page by a language model (Claude Haiku), then matched to today's parcels.

FieldMade byHow well it is known
x_appraisals (SFRA property files), claude-haiku-5-5LLM, one call per pagemeasured on 18 pages (ia_records/sfra/bench/score.json): address 18/18, parcel 18/18, owner 18/18, present_use 17/18, rent 16/18, appraised_value 18/18.

The release passed its automatic checks before it was published (what is checked). A hand check by the editor of qipu data is under way: 36 of 38 items checked so far were right, on votes, money, places and the map. A row says what the record states; the scanned page is the authority.

Methodology · Accuracy

Columns 31

ColumnTypeCan be emptyPrivacyPublic copyDescription
blockVARCHARyesnoneas isAssessor block of today it was matched to.
Can be empty yes · Privacy none · Public copy as is
lotVARCHARyesnoneas isAssessor lot, when matched to an address.
Can be empty yes · Privacy none · Public copy as is
precisionVARCHARyesnoneas isaddress (door matched to an EAS address), block (matched by its street hundred), near (old door gone: nearest door of today within 60 m), printed block.
Values address, block, near, printed block
Can be empty yes · Privacy none · Public copy as is
xyDOUBLE[]yesnoneas is[x, y] in metres on the qipu map's local grid: the matched door, or the mean of the block's doors.
Can be empty yes · Privacy none · Public copy as is
yearBIGINTyesnoneas isYear of the report (for a sale, the sale year when it is close).
Can be empty yes · Privacy none · Public copy as is
textVARCHARyesfree textprivate people's names withheld under the embargoPlain line built from the fields (Redevelopment Agency appraisal: 3-story frame structure; appraised at $...). Person-like names are withheld for records under the 75-year privacy filter.
Can be empty yes · Privacy free text · Public copy private people's names withheld under the embargo
whereVARCHARyesfree textprivate people's names withheld under the embargoThe printed address in today's street spelling (1866 Turk St). Person-like words are withheld for records under the 75-year privacy filter (this also hits some street names).
Can be empty yes · Privacy free text · Public copy private people's names withheld under the embargo
address_printedVARCHARyesfree textprivate people's names withheld under the embargoAddress as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy free text · Public copy private people's names withheld under the embargo
block_printedVARCHARyesnoneas isBlock as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
lot_printedVARCHARyesnoneas isLot as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
parcel_printedVARCHARyesnoneas isAgency parcel number as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
kind_pageVARCHARyesnoneas isKind of page: appraisal, sale, property_summary, folder, interview, rent_schedule.
Values appraisal, folder, interview, property_summary, rent_schedule, sale
Can be empty yes · Privacy none · Public copy as is
buildingVARCHARyesfree textprivate people's names withheld under the embargoBuilding description as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy free text · Public copy private people's names withheld under the embargo
unitsVARCHARyesnoneas isUnits or rooms as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
rent_exampleVARCHARyesnoneas isA sample rent line as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
rent_totalVARCHARyesnoneas isTotal rent as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
appraised_valueVARCHARyesnoneas isAppraised value as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
assessed_totalVARCHARyesnoneas isTotal assessed value as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
sale_priceVARCHARyesnoneas isSale price as printed (sales study pages), read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
sale_dateVARCHARyesnoneas isSale date as printed, read by a model from the page image and OCR.
Can be empty yes · Privacy none · Public copy as is
ownerVARCHARyesa person's nameofficials and organisations shown; private people withheld under the embargoOwner as printed (for a sale, the grantee). Under the 75-year privacy filter the public files show a owner (name withheld until <year>).
Can be empty yes · Privacy a person's name · Public copy officials and organisations shown; private people withheld under the embargo
present_useVARCHARyesfree textprivate people's names withheld under the embargoPresent use as printed (Flats, Apartments), read by a model from the page image and OCR.
Can be empty yes · Privacy free text · Public copy private people's names withheld under the embargo
confidenceVARCHARyesnoneas isThe model's legibility rating: high or medium (low rows are dropped).
Values high, medium
Can be empty yes · Privacy none · Public copy as is
itemVARCHARyesnoneas isarchive.org identifier of the property file (SFH371-...).
Can be empty yes · Privacy none · Public copy as is
pageBIGINTyesnoneas isarchive.org BookReader page index in the item.
Can be empty yes · Privacy none · Public copy as is
urlVARCHARyesnoneas isLink to the page on archive.org.
Can be empty yes · Privacy none · Public copy as is
run_idVARCHARnononeas issfra-appraisals-haiku55-2026-10 (see runs).
Values sfra-appraisals-haiku55-2026-10
Can be empty no · Privacy none · Public copy as is
seqBIGINTyesnoneas isLine number of the row in the run's rows file.
Can be empty yes · Privacy none · Public copy as is
page_idVARCHARnononeas isThe archive.org page: <identifier>:<leafNum> (IA's leaf number, the jp2 / IIIF number), or <identifier>:d<n> where only the BookReader index is known, or <url>:<page> for a web document. nopage:<seq> where the source gives no page number (sfbos rows without one): the row is kept, page_url is NULL.
Values e.g. journalofproceed30sanfrich:1
Can be empty no · Privacy none · Public copy as is
page_urlVARCHARyesnoneas isOpens the page: archive.org BookReader link built from the leaf map (audited against IA's scandata), or <pdf url>#page=<n> for a PDF. NULL only where page_id is nopage:<seq>.
Values e.g. https://archive.org/details/journalofproceed30sanfrich/page/n1
Can be empty yes · Privacy none · Public copy as is
row_keyVARCHARnononeas is<run_id>/<page_id>/<seq>.
Can be empty no · Privacy none · Public copy as is

Privacy: what kind of text the column holds. Public copy: what the published file does with it; the embargo covers records after 1951.

Preview

blocklotprecisionxyyeartextwhereaddress_printed
qipu:sf/place/block/0737—near[1303.6, 2592.3]1946Redevelopment Agency sales study: 3-story, frame, asbestos…1054 Ellis St1054 Ellis Street
qipu:sf/place/block/0734—printed block[874.0962962962964, 2482.292592592593]1944Redevelopment Agency sales study: 3-story and basement fra…——

8 of 31 columns shown. Eight rows sampled at build time, from the years up to 1951. Hover a shortened value for all of it.

Download

FormatFileSize
Parquetx_appraisals.parquet ↗0.3 MB
SQLite (all tables)qipu_sf.db ↗6.44 GB

SQL

SELECT * FROM x_appraisals LIMIT 100

Run in the SQL console (DuckDB in the browser, over the Parquet file).

Python

import duckdb duckdb.sql("SELECT * FROM 'https://tiles.qipu.org/data/releases/v0.7.1/parquet/x_appraisals.parquet' LIMIT 5").show()