Docs
On this page
Docs/Data Bank/Quickstart

Get Started · Data Bank

Quickstart

Use a key with permission for the selected data family. An existing valuation API key does not automatically include Property Markets or Rates and Financing.

1. Set Your Credentials

On macOS or Linux:

bash
export VALTAIC_API_KEY='YOUR_VALTAIC_API_KEY'
export VALTAIC_BASE_URL='https://api.valtaic.io'

Use a valid key with the relevant Data Bank access. The placeholder is not a working credential. Keep real keys in server-side secret storage, not source control, browser JavaScript or query strings.

2. Discover Available Datasets

bash
curl --fail-with-body --silent --show-error \
  -H "Authorization: Bearer $VALTAIC_API_KEY" \
  "$VALTAIC_BASE_URL/v1/markets/datasets" \
  | python3 -m json.tool

For rates, replace markets with rates. The catalogue lists dataset IDs, required and optional selectors, permitted metrics and their units. Check requires_metric_selection: if true, select an entitled subset with metrics rather than requesting the full default group.

3. Find a Local Authority

bash
curl --fail-with-body --silent --show-error \
  -H "Authorization: Bearer $VALTAIC_API_KEY" \
  "$VALTAIC_BASE_URL/v1/markets/areas" \
  | python3 -m json.tool

Use the returned code, not the area's name. E08000025 is used below as an example local-authority identifier. Rates requests do not accept an area.

4. Request the Latest Market Observation

bash
curl --fail-with-body --silent --show-error --get \
  -H "Authorization: Bearer $VALTAIC_API_KEY" \
  "$VALTAIC_BASE_URL/v1/markets/series" \
  --data-urlencode 'dataset=market_activity' \
  --data-urlencode 'area=E08000025' \
  --data-urlencode 'property_type=flat' \
  --data-urlencode 'metrics=sales_count,price_per_sqm_gbp' \
  | python3 -m json.tool

No dates means latest, not all history. The two returned measures may have different availability. Sales counts use the eligible recorded population; estimated price per square metre depends on usable floor-area evidence.

5. Request an Exact Month

Add both bounds:

http
GET /v1/markets/series?dataset=market_activity&area=E08000025&property_type=flat&from=2026-06&to=2026-06

For a 12-month product, June 2026 represents 1 July 2025 through 30 June 2026. It is not June-only trading. A request with to=2026-06 alone returns available history through June, subject to pagination.

6. Request a Rate

bash
curl --fail-with-body --silent --show-error --get \
  -H "Authorization: Bearer $VALTAIC_API_KEY" \
  "$VALTAIC_BASE_URL/v1/rates/series" \
  --data-urlencode 'dataset=indicative_swap_rates' \
  --data-urlencode 'term_years=5' \
  | python3 -m json.tool

This returns the latest available indicative five-year swap-equivalent reference. It is not an executable quote. Inspect the observation date and units; a percentage value of 4.25 means 4.25%, not 425%.

7. Read the Response Correctly

Use series[].metric and series[].dimensions to identify the measure. Do not assume a fixed array order. Read observations[].period, value, status and any period or interval metadata. Store the release_id with the result.

If next_cursor is non-null, more observations remain. Continue with the same endpoint and the cursor; Pagination includes working client patterns. An empty array or a null value is not a reason to insert zero.

Use request_id or the X-Request-ID response header when reporting a problem. Pretty-printing with python3 -m json.tool changes only presentation, not the response contract.