GET urban.org HTTP 2006.5 s103.6 KB$0.000346 captured Aug 10, 2026
urban.org, as data
One API turns any urban.org page into markdown, structured JSON, its link graph or a screenshot, and crawls the whole site the same way. The panel shows the real response we captured.
- Render mode
- Plain HTTP, no browser needed
- Response
- HTTP 200 in 6.5 s
- Page size
- 103.6 KB of markdown, 497 lines
- Fields
- Business Name, Address, Phone, Category and 1 more
- Captured
- Aug 10, 2026
Free balance on signup, no card. This urban.org page cost $0.000346 to fetch.
# BMF Data CatalogThe producer fix is merged; this page will be updated when the corrected build is published.`address_resolved_crosswalk.parquet``address_resolved_crosswalk.csv``address_resolved_crosswalk_quality.json`Links point at **`latest/`** (always the newest build); permanent vintages live at `crosswalks/address-resolved/v{YYYY_MM}/`.**> The 1.15 GB CSV is not Excel-friendly.**> It is far past what a spreadsheet will open, and Excel strips the leading zeros from`> , which is the same corruption described in the warning above.**> (~182 MB, the machine contract); use the CSV only for a streaming read where parquet tooling is unavailable.**> The 750 MB CSV is not Excel-friendly.**> It is far larger than a spreadsheet can open, and Excel strips leading zeros and mangles the JSON**> (the machine contract); reach for the CSV only for a streaming/`> -style read where parquet tooling isn’t available.### Column dictionaryOne row per EIN, **20 columns**. NTEE codes are **strings** (NTEE-CC) — never cast them numeric.Formatted EIN (`XX-XXXXXXX`) — the join key (never null); unchanged`ein-XX-XXXXXXX` — coercion-safe lowercase-prefixed rendering of `ein` (ADR 0036)`EIN-XX-XXXXXXX` — legacy-compatibility alias of `ein` (matches the older Unified BMF / harmonized CORE join format)Cleaned NTEE-CC from the latest current vintage; `NA` if never in current or IRS-nulledNTEEv2 subsector (e.g.`UNI`/`HOS`/`EDU`) for the current codeFull NTEEv2 code for the current code`YYYY_MM` of the latest current vintage observed for the EINCleaned NTEE-CC from the newest vintage carrying a non-null code (any source)NTEEv2 subsector for the most-recent codeFull NTEEv2 code for the most-recent code`YYYY_MM` that supplied `ntee_most_recent``legacy` — pipeline that supplied `ntee_most_recent`Most-observed cleaned code across vintages (ties broken by recency)NTEEv2 subsector for the modal codeFull NTEEv2 code for the modal code What Spider does on urban.org
Same key, five endpoints. The numbers under a cell were measured on this page.
Page to markdown
Clean text for RAG and LLM context, boilerplate removed. The lane that runs without a key.
6.5 s · $0.000346Page to JSON
Spider reads the page and names the fields. Pass your own schema when you need exact keys.
Rendered capture
Real Chromium, full-page PNG. The same call also returns the rendered HTML.
The call behind the panel
This request produced the response above. Paste it with your key and you get the same bytes.
curl -X POST https://api.spider.cloud/scrape \
-H "Authorization: Bearer $SPIDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://nccs.urban.org/nccs/catalogs/catalog-bmf.html", "return_format": "markdown"}' from spider import Spider
app = Spider()
params = {"return_format": "markdown"}
page = app.scrape_url("https://nccs.urban.org/nccs/catalogs/catalog-bmf.html", params=params)
print(page[0]["content"]) import { Spider } from "@spider-cloud/spider-client";
const app = new Spider();
const [page] = await app.scrapeUrl("https://nccs.urban.org/nccs/catalogs/catalog-bmf.html", {
return_format: "markdown",
});
console.log(page.content); What urban.org costs
Multiplied from the measured 103.6 KB page. Estimates round to the cent.
1 GB of transfer costs $1, plus $0.001 per CPU minute, and failed requests cost $0. Crawling daily? The Unlimited plan is a flat monthly rate.
Point this at the rest of urban.org.
The capture above took 6.5 s and cost $0.000346. The same call takes any URL on urban.org.