API Documentation

Substrata serves structured building product specification data via a REST API. All /v1/* endpoints require API key authentication. Responses are JSON.

Want to try endpoints live in your browser? Interactive API Reference →
Base URL: https://substrata-34wm.polsia.app/v1

Authentication

All API endpoints require an API key. Include your key in every request via the Authorization header or X-API-Key header.

Header Format

Authorization: Bearer sk_sub_your_key_here

# or alternatively
X-API-Key: sk_sub_your_key_here

Error Responses

CodeMeaningResponse
401Missing or invalid API key{"error": "Authentication required"}
429Rate limit exceeded{"error": "Rate limit exceeded"}

Rate Limits

Every response includes rate limit headers:

HeaderDescriptionExample
X-RateLimit-LimitMax requests per day100
X-RateLimit-RemainingRequests left today87
X-RateLimit-ResetUnix timestamp when limit resets1709337599

Pricing & Tiers

TierDaily LimitPriceUse Case
free100 requests/day$0Evaluation & prototyping
starter5,000 requests/day$49/moSmall production apps
pro50,000 requests/day$199/moHigh-volume integrations

Upgrade at any time via GET /v1/subscription for payment link.

Usage

GET /v1/usage

Check your own API key usage, rate limit status, and per-endpoint breakdown.

Query Parameters

ParameterDescriptionDefault
daysNumber of days to include30

Example

curl -H "Authorization: Bearer sk_sub_your_key" \
  "https://substrata-34wm.polsia.app/v1/usage"
{
  "data": {
    "period_days": 30,
    "summary": {
      "total_requests": "142",
      "requests_today": "23",
      "requests_this_week": "89",
      "unique_endpoints": "4",
      "avg_response_ms": "45.2"
    },
    "rate_limit": {
      "daily_limit": 100,
      "used_today": 23,
      "remaining": 77,
      "resets_at": "2026-03-03T23:59:59.999Z"
    },
    "endpoints": [...],
    "daily_breakdown": [...]
  }
}
GET /v1/subscription

Check your current subscription plan and upgrade options.

Example

curl -H "Authorization: Bearer sk_sub_your_key" \
  "https://substrata-34wm.polsia.app/v1/subscription"
{
  "data": {
    "plan": "free",
    "status": "active",
    "name": "Free",
    "daily_limit": 100,
    "price": "$0",
    "upgrade_to": {
      "plan": "starter",
      "price": "$49/mo",
      "daily_limit": 5000,
      "upgrade_url": "https://buy.stripe.com/6oU6oHeQm8RS8Jm56W3AY00"
    }
  }
}

Products

GET /v1/products

Returns a paginated list of building products. Supports full-text search, filtering by category/manufacturer/performance specs, and sorting.

Query Parameters

ParameterDescriptionExample
qFull-text searchq=triple+pane
categoryProduct categorywindows, doors, insulation
subcategorySubcategorycasement, entry, spray-foam
manufacturerManufacturer (partial, case-insensitive)andersen
min_u_valueMin thermal transmittance0.15
max_u_valueMax thermal transmittance0.25
min_r_valueMin thermal resistance15
max_r_valueMax thermal resistance30
min_shgcMin solar heat gain coefficient0.20
max_shgcMax solar heat gain coefficient0.30
energy_starENERGY STAR filtertrue
min_priceMin price (USD)100
max_priceMax price (USD)1000
frame_materialFrame material (partial match)vinyl
glazing_typeGlazing type (partial match)triple
core_materialCore material (partial match)polyurethane
sortSort fieldname, u_value, price_min_usd
orderSort directionasc, desc
pagePage number (default: 1)2
limitResults per page (max: 100, default: 20)10

Example Request

curl -H "Authorization: Bearer sk_sub_your_key" \
  "https://substrata-34wm.polsia.app/v1/products?category=windows&energy_star=true&max_u_value=0.25&limit=3"

Response

{
  "data": [
    {
      "id": 6,
      "name": "Andersen E-Series Triple Pane Casement",
      "slug": "andersen-e-series-triple-casement",
      "manufacturer": "Andersen",
      "category": "windows",
      "subcategory": "casement",
      "description": "Premium architectural-grade casement...",
      "width_mm": 762,
      "height_mm": 1524,
      "u_value": "0.170",
      "shgc": "0.190",
      "vt": "0.330",
      "stc_rating": 37,
      "frame_material": "Wood/Aluminum",
      "glazing_type": "Triple Low-E",
      "price_min_usd": "1200.00",
      "price_max_usd": "2400.00",
      "warranty_years": 20,
      "energy_star": true,
      "certifications": ["ENERGY STAR","NFRC","AAMA","PHI"],
      "model_number": "AE-TC3060"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 3,
    "total": 7,
    "total_pages": 3,
    "has_next": true,
    "has_prev": false
  },
  "filters_applied": {
    "category": "windows",
    "energy_star": "true",
    "max_u_value": "0.25"
  }
}
GET /v1/products/:slug

Returns a single product by its URL slug. Returns 404 if not found.

Example

curl -H "Authorization: Bearer sk_sub_your_key" \
  "https://substrata-34wm.polsia.app/v1/products/andersen-400-casement"

Response

{
  "data": {
    "id": 2,
    "name": "Andersen 400 Series Casement Window",
    "slug": "andersen-400-casement",
    "manufacturer": "Andersen",
    ...all product fields
  }
}

Categories

GET /v1/categories

Returns all product categories with subcategories and product counts.

curl -H "Authorization: Bearer sk_sub_your_key" \
  "https://substrata-34wm.polsia.app/v1/categories"
{
  "data": [
    {
      "category": "doors",
      "product_count": "16",
      "subcategories": ["entry","patio","multi-slide","garage","interior","folding"]
    },
    {
      "category": "insulation",
      "product_count": "18",
      "subcategories": ["fiberglass-batt","mineral-wool","rigid-board","blown-in","spray-foam",...]
    },
    {
      "category": "windows",
      "product_count": "19",
      "subcategories": ["double-hung","casement","awning","sliding","picture",...]
    }
  ]
}

Manufacturers

GET /v1/manufacturers

Returns all manufacturers with product counts and which categories they produce.

curl -H "Authorization: Bearer sk_sub_your_key" \
  "https://substrata-34wm.polsia.app/v1/manufacturers"
{
  "data": [
    {
      "manufacturer": "Andersen",
      "product_count": "4",
      "categories": ["windows","doors"]
    },
    {
      "manufacturer": "Owens Corning",
      "product_count": "3",
      "categories": ["insulation"]
    },
    ...
  ]
}

Statistics

GET /v1/stats

Returns aggregate statistics about the product database.

{
  "data": {
    "total_products": "53",
    "total_manufacturers": "35",
    "total_categories": "3",
    "energy_star_products": "26",
    "avg_u_value": "0.259",
    "avg_r_value": "13.40",
    "avg_price_min": "919.41",
    "avg_price_max": "2781.80"
  }
}

Product Schema

Every product in the database has the following fields. Null values indicate data not applicable to that product type.

FieldTypeDescription
idintegerUnique ID
namestringProduct name
slugstringURL-safe identifier
manufacturerstringManufacturer name
categorystringwindows, doors, insulation
subcategorystringProduct subcategory
descriptionstringProduct description
width_mmintegerWidth in millimeters
height_mmintegerHeight in millimeters
depth_mmintegerDepth in millimeters
thickness_mmnumericThickness in millimeters
weight_kgnumericWeight in kilograms
u_valuenumericThermal transmittance (W/m²K)
r_valuenumericThermal resistance (m²K/W)
shgcnumericSolar Heat Gain Coefficient
vtnumericVisible Transmittance
stc_ratingintegerSound Transmission Class
fire_ratingstringFire resistance rating
wind_load_paintegerWind load (Pascals)
air_leakagenumericAir leakage rate (L/s/m²)
frame_materialstringFrame material
glazing_typestringGlazing type
core_materialstringCore/insulation material
finishstringSurface finish
price_min_usdnumericMinimum price (USD)
price_max_usdnumericMaximum price (USD)
warranty_yearsintegerWarranty period
energy_starbooleanENERGY STAR certified
certificationsarrayList of certifications
model_numberstringManufacturer model number

Substrata vs RSMeans vs 1build

Substrata is the developer-first construction data API. Unlike RSMeans (PDF books, no API) or 1build (enterprise-only), Substrata gives developers clean JSON access to building product specifications and pricing with a free tier and self-serve signup.

FeatureSubstrataRSMeans1build
REST API✓ Yes✗ NoEnterprise only
Free tier✓ 100 req/day✗ No✗ No
Self-serve signup✓ Instant✗ Sales process✗ Sales process
Product specs (U/R/SHGC/STC)✓ Full data✗ No✗ No
Certifications (ENERGY STAR)✓ Yes✗ No✗ No
Machine-readable JSON✓ Always✗ PDF/ExcelLimited
OpenAPI spec✓ Available✗ No✗ No
Price$0–$199/mo$$$+ annualEnterprise contract

Get a free API key and start building in minutes. No sales call required.

Frequently Asked Questions

What is the Substrata API?

Substrata is a REST API that provides structured building product specifications, technical performance data, and pricing. It covers 253+ products across 8 categories (windows, doors, insulation, roofing, flooring, siding, HVAC, structural) from 125+ manufacturers. It's designed for developers building construction estimating software, BIM tools, procurement platforms, and AI assistants for contractors.

How is Substrata different from RSMeans?

RSMeans is a pricing publication (books and software) that costs thousands per year and requires enterprise contracts. Substrata is a developer API with a free tier, self-serve signup, and JSON responses. RSMeans focuses on labor cost data; Substrata provides product specifications and material pricing with technical performance data (U-values, R-values, certifications) not available in RSMeans.

What construction data does the API cover?

The API covers building envelope products: windows (casement, double-hung, awning, sliding, skylights), doors (entry, patio, garage, multi-slide), insulation (fiberglass batt, mineral wool, spray foam, rigid board, blown-in), roofing, flooring, siding, HVAC systems, and structural components. Each product includes dimensions, technical specs, pricing, certifications, and manufacturer data.

What technical fields are available for each product?

Products include: U-value (thermal transmittance), R-value (thermal resistance), SHGC (Solar Heat Gain Coefficient), VT (Visible Transmittance), STC rating (Sound Transmission Class), fire rating, wind load, air leakage, frame material, glazing type, core material, price range (USD), warranty period, ENERGY STAR status, and full certifications list (NFRC, AAMA, LEED, Passive House, etc.).

Can I use Substrata for energy modeling software?

Yes. Substrata provides the performance data energy modeling software needs: U-values, SHGC, VT, air leakage rates, and ENERGY STAR/PHI certification status. Filter products by performance thresholds to find code-compliant or Passive House-standard materials programmatically.

Is there an OpenAPI / Swagger spec?

Yes. The full OpenAPI 3.0 specification is available at /openapi.json. Import it into Postman, Swagger UI, or any OpenAPI-compatible tool. Or try endpoints directly in the Interactive API Reference →

How do I get an API key?

Sign up at substrata-34wm.polsia.app/signup. Free tier gives you 100 requests/day immediately with no credit card required. Upgrade to Starter ($49/mo, 5,000/day) or Pro ($199/mo, 50,000/day) via the GET /v1/subscription endpoint.

What programming languages can use this API?

Any language that can make HTTP requests: Python, JavaScript/Node.js, Ruby, Go, PHP, Java, C#, etc. The API uses standard REST conventions with JSON responses. See the docs for curl examples you can adapt to any language.

Does Substrata have data on roofing materials and pricing?

Yes. The roofing category covers asphalt shingles, metal roofing, tile, flat/membrane systems, and synthetic materials. Each product includes price ranges, manufacturer specs, fire ratings, and wind load ratings — useful for roofing estimating software and contractor quoting tools.

Can AI assistants and LLMs use Substrata?

Yes. Substrata is designed to be LLM-friendly: clean JSON output, consistent field names, filterable data, and comprehensive documentation. The OpenAPI spec lets AI coding assistants automatically generate correct API calls. The /llms.txt file provides a concise summary for LLM context windows.

Try It — Live Playground

Run real API queries against the live database. No sign-up required. 10 requests included.

Energy-efficient windows
GET /v1/products?category=windows&energy_star=true&max_u_value=0.25
Search insulation
GET /v1/products?q=fiberglass+insulation
All manufacturers
GET /v1/manufacturers
Budget roofing
GET /v1/products?category=roofing&max_price=50
GET https://substrata-34wm.polsia.app
10 requests left
← Select an example or edit the query above, then click Run

Additional Resources

LLM Discovery Files

/llms.txt — Concise summary for LLM context windows

/llms-full.txt — Full API reference optimized for LLMs

/openapi.json — OpenAPI 3.0 specification


Price Reference

/prices/index — Substrata Construction Price Index — public reference, no auth required

/prices — Price ranges by category