Illustrative validation dataAlameda County · CAMedian List$895K+1.1%|Atlanta · GAMedian List$425K+1.4%|Austin · TXAvg Price/SqFt$312+2.4%|Brooklyn · NYMedian List$925K+1.2%|Broward County · FLMedian List$398K+2.1%|Clark County · NVMedian List$415K+1.7%|Collin · TXDays on Market34-6.0%|Cook County · ILMedian List$315K+0.7%|Cuyahoga County · OHMedian List$178K+0.3%|Dallas · TXMedian List$489K+1.1%|Davidson County · TNMedian List$425K+1.6%|Denton · TXList-to-Sale98.2%+0.4%|Denver County · COMedian List$525K+0.6%|District of Columbia · DCMedian List$625K+1.1%|Duval County · FLMedian List$298K+1.4%|El Paso · TXMedian List$268K+1.6%|Fairfax County · VAMedian List$675K+1.3%|Fort Bend County · TXMedian List$398K+2.1%|Franklin County · OHMedian List$268K+1.9%|Hennepin County · MNMedian List$355K+1.0%|Hillsborough County · FLMedian List$342K+2.3%|Houston · TXAvg Price/SqFt$184-0.6%|Jackson County · MOMedian List$232K+1.3%|King County · WAMedian List$685K+1.2%|Los Angeles · CAAvg Price/SqFt$552-1.4%|Marion County · INMedian List$252K+1.4%|Mecklenburg County · NCMedian List$368K+2.2%|Miami · FLMedian List$425K+2.8%|Milwaukee County · WIMedian List$225K+0.7%|Multnomah County · ORMedian List$455K-0.7%|New York County · NYMedian List$1.65M+0.6%|Orange County · CAMedian List$785K+0.8%|Orange County · Orlando · FLMedian List$365K+1.8%|Palm Beach County · FLMedian List$445K+2.6%|Philadelphia County · PAMedian List$248K+0.9%|Phoenix · AZMedian List$450K+0.9%|Queens County · NYMedian List$688K+1.5%|Riverside County · CAMedian List$465K+2.2%|Salt Lake County · UTMedian List$478K+0.9%|San Antonio · TXMedian List$312K+1.9%|San Diego County · CAMedian List$728K+1.5%|San Francisco County · CAMedian List$1.29M-2.1%|Santa Clara County · CAMedian List$1.32M+1.9%|Shelby County · TNMedian List$195K+0.8%|St. Louis City · MOMedian List$195K+0.4%|Suffolk County · MAMedian List$695K+0.8%|Tarrant · TXInventory MoM+3.8%+3.8%|Wake County · NCMedian List$395K+2.0%|Wayne County · MIMedian List$185K+0.5%|Williamson County · TXMedian List$425K+2.6%|Illustrative validation dataAlameda County · CAMedian List$895K+1.1%|Atlanta · GAMedian List$425K+1.4%|Austin · TXAvg Price/SqFt$312+2.4%|Brooklyn · NYMedian List$925K+1.2%|Broward County · FLMedian List$398K+2.1%|Clark County · NVMedian List$415K+1.7%|Collin · TXDays on Market34-6.0%|Cook County · ILMedian List$315K+0.7%|Cuyahoga County · OHMedian List$178K+0.3%|Dallas · TXMedian List$489K+1.1%|Davidson County · TNMedian List$425K+1.6%|Denton · TXList-to-Sale98.2%+0.4%|Denver County · COMedian List$525K+0.6%|District of Columbia · DCMedian List$625K+1.1%|Duval County · FLMedian List$298K+1.4%|El Paso · TXMedian List$268K+1.6%|Fairfax County · VAMedian List$675K+1.3%|Fort Bend County · TXMedian List$398K+2.1%|Franklin County · OHMedian List$268K+1.9%|Hennepin County · MNMedian List$355K+1.0%|Hillsborough County · FLMedian List$342K+2.3%|Houston · TXAvg Price/SqFt$184-0.6%|Jackson County · MOMedian List$232K+1.3%|King County · WAMedian List$685K+1.2%|Los Angeles · CAAvg Price/SqFt$552-1.4%|Marion County · INMedian List$252K+1.4%|Mecklenburg County · NCMedian List$368K+2.2%|Miami · FLMedian List$425K+2.8%|Milwaukee County · WIMedian List$225K+0.7%|Multnomah County · ORMedian List$455K-0.7%|New York County · NYMedian List$1.65M+0.6%|Orange County · CAMedian List$785K+0.8%|Orange County · Orlando · FLMedian List$365K+1.8%|Palm Beach County · FLMedian List$445K+2.6%|Philadelphia County · PAMedian List$248K+0.9%|Phoenix · AZMedian List$450K+0.9%|Queens County · NYMedian List$688K+1.5%|Riverside County · CAMedian List$465K+2.2%|Salt Lake County · UTMedian List$478K+0.9%|San Antonio · TXMedian List$312K+1.9%|San Diego County · CAMedian List$728K+1.5%|San Francisco County · CAMedian List$1.29M-2.1%|Santa Clara County · CAMedian List$1.32M+1.9%|Shelby County · TNMedian List$195K+0.8%|St. Louis City · MOMedian List$195K+0.4%|Suffolk County · MAMedian List$695K+0.8%|Tarrant · TXInventory MoM+3.8%+3.8%|Wake County · NCMedian List$395K+2.0%|Wayne County · MIMedian List$185K+0.5%|Williamson County · TXMedian List$425K+2.6%|
ARED-MBR-001 · Phase 16 · Gateway v1.1

API reference

A metered market-baseline gateway for approved data partners. Every call authenticates with an issued key and counts against that key's daily cap.

Endpoint
POST /functions/apiGateway
Single resource endpoint
Auth
Bearer key
Header or payload field
Metering
Daily cap per key
Reset at midnight UTC
Model
$0 commission
Direct transactions only
Calling the gateway

All requests are POST with a JSON body. The base URL is:

https://careful-direct-estate-flow.base44.app/functions/apiGateway

Authentication uses the issued bearer token. Clients that cannot set headers may pass the same token as a key field in the body.

# Bearer header (preferred)
curl -X POST https://careful-direct-estate-flow.base44.app/functions/apiGateway \
  -H "Authorization: Bearer ared_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "resource": "meta" }'

Keys are issued directly by the platform — there is no self-serve signup. Access is free during validation; approved partners receive an ared_live_… key with a daily cap.

Errors & limits
401Missing or invalid API key — send 'Authorization: Bearer <ared_live_…>' or a 'key' field.
403The key has been revoked.
400Unknown resource, or a bulk request beyond the 100-id bound — available resources are meta, markets, market, bulk.
404Unknown market id — the response lists all known ids.
429Daily call cap reached — the counter resets on the first call of the next calendar day.

Metering is enforced per key, per calendar day (UTC). The meta resource reports your remaining allowance on every call, and the bulk resource meters one call per requested id.

Treat issued keys as bearer credentials — store them server-side, and request rotation from the platform if a key may have been exposed.

Resources
meta

Platform identity, model, coverage statement, and this key's remaining daily allowance.

Request
{ "resource": "meta", "key": "<ared_live_…>" }
Response (excerpt)
{
  "platform": "AllRealEstateDirect",
  "api_version": "1.1",
  "model": "$0 commission, direct transactions only",
  "resources": ["meta", "markets", "market", "bulk"],
  "coverage": "Statewide Texas ingest is live for all 254 counties; …",
  "rate_limit": { "daily_cap": 500, "calls_remaining_today": 499 },
  "disclaimer": "…"
}
markets

All deep-tier market baselines — median list, price per square foot, days on market, MoM trend, and distress signal, as county-level records.

Request
{ "resource": "markets", "key": "<ared_live_…>" }
Response (excerpt)
{
  "count": 50,
  "markets": [
    {
      "id": "travis",
      "name": "Travis County, TX",
      "median_list": "$545K",
      "price_per_sqft": "$312",
      "days_on_market": "47",
      "trend_mom": "+2.4%",
      "distress": "176 active distress signals",
      "tier": "deep"
    }
  ],
  "disclaimer": "…"
}
market

A single deep-tier market baseline by county id. Unknown ids return 404 with the list of known ids.

Request
{ "resource": "market", "id": "travis", "key": "<ared_live_…>" }
Response (excerpt)
{
  "id": "travis",
  "name": "Travis County, TX",
  "median_list": "$545K",
  "price_per_sqft": "$312",
  "days_on_market": "47",
  "trend_mom": "+2.4%",
  "distress": "176 active distress signals",
  "tier": "deep",
  "disclaimer": "…"
}
bulk

Batch up to 100 county ids in one call — duplicates are collapsed and unknown ids are returned in an unknown list. The request meters one call per requested id against the key's daily cap.

Request
{ "resource": "bulk", "ids": ["travis", "collin", "harris", "atlantis"], "key": "<ared_live_…>" }
Response (excerpt)
{
  "count": 3,
  "unknown": ["atlantis"],
  "markets": [
    { "id": "travis", "…": "market baseline record" }
  ],
  "metered_calls": 4,
  "rate_limit": { "daily_cap": 500, "calls_remaining_today": 495 },
  "disclaimer": "…"
}
Webhooks

Registered endpoints receive the researched county intel baseline snapshot once per night after the research pass, as a signed POST — only counties with a completed intel report are included, never synthetic figures. Registration and per-endpoint signing secrets are issued by the platform — there is no self-serve signup.

Delivery headers
Content-Type: application/json
User-Agent: ARED-Gateway-Webhook/1.0
X-ARED-Event: market_baseline.updated
X-ARED-Generated-At: 2026-09-08T19:05:00.000Z
X-ARED-Signature: sha256=<hex>
Verifying the signature
// Node example — rawBody is the
// unparsed request body as a string
const expected = crypto
  .createHmac('sha256', SECRET)
  .update(`${generatedAt}.${rawBody}`)
  .digest('hex');

const ok = `sha256=${expected}` ===
  req.headers['x-ared-signature'];

Signature input is the X-ARED-Generated-At header, a literal period, and the raw request body. Always verify before trusting the payload, and reject generated-at timestamps older than your tolerance window.

Event payload (excerpt)
{
  "event": "market_baseline.updated",
  "api_version": "1.0",
  "generated_at": "2026-09-08T19:05:00.000Z",
  "markets": [
    {
      "id": "travis",
      "name": "Travis County, TX",
      "median_list": "$545K",
      "price_per_sqft": "$312",
      "days_on_market": "47",
      "trend_yoy": "+2.4% YoY",
      "distress": "41 verified distress filing(s) on the county ledger",
      "as_of": "2026-09-08T19:05:00.000Z",
      "tier": "researched"
    }
  ],
  "…": "every county with a researched intel report"
}
OpenAPI specification

The gateway contract in machine-readable OpenAPI 3.1 — request and response schemas, error codes, market id enum, and metering semantics. Download it for code generation, client SDKs, and API tooling.

Data disclosure

ARED market figures are synthetic validation data for the approved-baseline draft — informational use only, not brokerage, appraisal, lending, legal or investment advice. Deep-tier coverage currently spans the 50 markets listed under the markets resource; the statewide Texas county roster covers all 254 counties. Exact recipe formulas, thresholds and source weights remain protected as trade secrets.