Skip to main content

Understanding the Data

This guide explains the structure of the data served by the PrairieCloud API: what datasets are available, how vintages work, how geography is specified, and how to find the right variables for your query.


Available Datasets

PrairieCloud serves data from the American Community Survey (ACS), the most comprehensive source of socioeconomic data about U.S. communities. The API contains 901.6 million observations across 392,435 geographies and 35 vintages.

Dataset KeyFull NameVintagesGeographiesBest For
acs5ACS 5-Year Estimates2009–2024 (16 vintages)392,435 geographies across 7 levelsMost reliable estimates, small-area data
acs1ACS 1-Year Estimates2005–2024 (19 vintages, no 2020)Areas with 65K+ population (~1,700–1,900 geographies)Most current single-year data

ACS 5-Year vs. 1-Year: Which Should I Use?

  • ACS 5-Year (acs5) combines five years of survey data. It covers every geography down to block groups and is the most statistically reliable. Use it when precision matters or when querying small areas.
  • ACS 1-Year (acs1) reflects a single year's data. It's more current but has higher margins of error and only covers areas with 65,000+ population. Use it when you need the latest snapshot for larger areas.
  • 2020 note: The ACS 1-Year was not released for 2020 due to COVID-19 data collection disruptions. The ACS 5-Year 2020 vintage is available.

Use dataset in your request

curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=pop_total&geo=state:48&dataset=acs5"

acs5 is the default — you can omit the dataset parameter if you want ACS 5-Year. To query ACS 1-Year, set dataset=acs1.


Vintages

For ACS 5-Year, a vintage is the ending year of the 5-year survey period. For example, vintage 2023 covers survey years 2019–2023. For ACS 1-Year, the vintage is simply the survey year.

Available Vintages

VintageSurvey PeriodStatus
20092005–2009✅ Available
20102006–2010✅ Available
20112007–2011✅ Available
20122008–2012✅ Available
20132009–2013✅ Available
20142010–2014✅ Available
20152011–2015✅ Available
20162012–2016✅ Available
20172013–2017✅ Available
20182014–2018✅ Available
20192015–2019✅ Available
20202016–2020✅ Available
20212017–2021✅ Available
20222018–2022✅ Available
20232019–2023✅ Available
20242020–2024✅ Available (default)
Up to 19 vintages of historical data

PrairieCloud serves every ACS 5-Year vintage since 2009 (16 vintages) and every ACS 1-Year vintage since 2005 (19 vintages, no 2020). Not all variables are available in every vintage — the Census Bureau restructures table definitions between releases. Use the variable detail endpoint to check availability for a specific variable, or let the /v1/timeseries endpoint return null for vintages where a variable doesn't exist.

The API defaults to the most recent loaded vintage when you omit the vintage parameter.

Specifying a Vintage

# Get 2022 vintage data
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=income_median_household&geo=state:48&vintage=2022"

Checking Variable Availability

Not all variables are available for every vintage. Use the variable detail endpoint to check:

curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/variables/income_median_household"

The response includes an availability array listing which dataset/vintage combinations carry that variable.


Geography Types

PrairieCloud uses a consistent {type}:{fips} format for all geography specifiers. The API covers 392,435 geographies across 7 levels, from the entire nation down to individual block groups.

Supported Geography Types

TypeKey FormatExampleCountDirect data lookup
Nationnation:usnation:us1Free
Statestate:{2-digit FIPS}state:4852Free
Countycounty:{5-digit FIPS}county:482013,222Free
Metrometro:{CBSA code}metro:12420935Free
Congressional Districtcd:{4-digit code}cd:4801436Free
Tracttract:{11-digit FIPS}tract:4820131110085,396Free
Block Groupblock_group:{12-digit FIPS}block_group:482013111001242,297Free
What tiers control

Every tier can query an individual geography directly by FIPS code or resolved name, including tracts and block groups. Tiering controls higher-scale workflows:

  • Wildcard expansion: Pro adds tract wildcard expansion; Business adds block group wildcard expansion.
  • Boundary and centroid access: Free includes nation/state, Pioneer adds county/metro/CD, Pro adds tract, and Business adds block group.
  • Inline geometry: Pro+ can request include_geometry=true; block group inline geometry starts at Business.
  • Enterprise: Adds 500k cartographic boundary resolution where available plus custom boundary delivery options.

Requesting a gated workflow above your tier returns a 403 error with an upgrade URL.

FIPS Codes Explained

FIPS (Federal Information Processing Standards) codes are the standardized identifiers for U.S. geographies:

  • State FIPS — 2 digits: 01 (Alabama), 06 (California), 48 (Texas)
  • County FIPS — 5 digits: state FIPS + 3-digit county code. Example: 48201 = Harris County, Texas (state 48 + county 201)
  • CBSA codes — 5 digits identifying metropolitan and micropolitan statistical areas. Example: 12420 = Austin-Round Rock-Georgetown, TX
  • Tract FIPS — 11 digits: state FIPS + county FIPS + 6-digit tract code. Example: 48201311100 = a tract in Harris County, Texas (state 48 + county 201 + tract 311100)
  • Block Group FIPS — 12 digits: tract FIPS + 1-digit block group number. Example: 482013111001 = block group 1 within tract 48201311100

Leading zeros matter. state:6 will fail; use state:06.

Browsing Geographies

Use the geography catalog endpoint to search for geographies by name:

# Search for all counties in Texas
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies?type=county&parent=state:48"

# Search by name
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies?search=harris"

# List tracts within a county
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies?type=tract&parent=county:48201"

Wildcard Geography Queries

Pro tier and above

Wildcard geography queries require a Pro plan or higher.

Use a * suffix to expand a geography pattern to all matching FIPS codes. This is useful when you want data for all counties in a state without listing every FIPS code individually.

Syntax: geo={type}:{prefix}*

# All counties in Texas (FIPS 48)
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=pop_total&geo=county:48*"

# All tracts in Harris County, Texas
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=pop_total&geo=tract:48201*"

The wildcard expands server-side to all matching geographies and returns one result per match. Tier limits apply to the number of expanded geographies:

PlanMax Expanded Geographies
Free25 (no wildcard feature)
Pioneer500 (no wildcard feature)
Pro5,000
Business25,000
Enterprise50,000

If the expansion exceeds your tier limit, the API returns a 403 error with an upgrade URL. See Tier-Gated Features for details.

Wildcard queries cost more

Wildcard queries consume additional rate limit units based on the number of expanded geographies: ceil(expanded_geos / 10) units. See Rate Limiting for details.

Smart Geography Resolution

You don't need to memorize FIPS codes to query sub-geography data. The API can resolve parent geography names into the correct FIPS prefix automatically.

Instead of looking up that Harris County, Texas is FIPS 48201, just write:

# All tracts in Harris County, Texas — resolved automatically
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=pop_total&geo=tract:Harris County, Texas"

# Equivalent FIPS-based wildcard (what the API expands it to internally)
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=pop_total&geo=tract:48201*"

The resolver detects the mismatch between the requested geography type (tract) and the value type (a county name), resolves the parent to its FIPS code, and wildcards to match all children.

Supported patterns:

QueryResolves ToDescription
tract:Travis County, Texastract:48453*All tracts in Travis County
tract:TX or tract:Texastract:48*All tracts in Texas
block_group:Harris County, TXblock_group:48201*All block groups in Harris County
county:Texascounty:48*All 254 counties in Texas
county:TXcounty:48*Same — state abbreviations work
tract:Dallas-Fort WorthResolves metro → looks up 11 component counties → expands tracts across allPro+ wildcard limits apply
block_group:AustinSame pattern for block groups via metro crosswalkBusiness+ wildcard expansion
county:Dallas-Fort WorthReturns all component counties of the metroPro+ wildcard expansion
tract:TX-7tract:4807* (crosswalk)All tracts in Texas Congressional District 7
tract:Texas-7Same as aboveFull state name works too
tract:Congressional District 7, TexasSame as aboveFuzzy name lookup
block_group:TX-7All block groups in TX CD 7 via crosswalkBusiness+ wildcard expansion
county:TX-7Counties that overlap with TX CD 7Pro+ wildcard expansion
Works for all 7 geography types

Smart resolution works for any geography type where FIPS codes encode a parent-child hierarchy: tract, block_group, and county with state or county parent names. It also works with metro area names (the resolver matches the name to a CBSA, looks up the component counties via a crosswalk table, and expands to all child geographies across those counties — all 935 CBSAs supported) and congressional district names (the resolver matches the district, looks up component tracts via a CD-to-tract crosswalk table, and expands accordingly — all 444 congressional districts supported, 118th Congress).

Congressional district shorthand format: Use the state abbreviation + dash + district number — e.g., TX-7 for Texas's 7th Congressional District. Full state names (Texas-7) and fuzzy name lookup (Congressional District 7, Texas) also work.

Metro and CD resolution use crosswalk tables

Unlike state and county resolution (which uses FIPS prefix matching), metro resolution uses a CBSA-to-county crosswalk table and congressional district resolution uses a CD-to-tract crosswalk table. This is necessary because these geography types span non-contiguous areas that don't share a common FIPS prefix. For example, the Dallas-Fort Worth metro (CBSA 19100) includes 11 counties across multiple FIPS ranges, and congressional districts can include tracts from multiple counties. The CD crosswalk contains 90,467 mappings across all 444 districts (118th Congress). Note that 4,868 tracts straddle two congressional districts and are included in both.

Wildcard limits still apply

Smart geo resolution expands to a wildcard query under the hood, so the same tier-based expansion limits apply. See the wildcard limits table above.

Children Endpoint

Use the children endpoint to discover what geographies exist within a parent — without needing to know FIPS codes or hierarchy rules in advance.

GET /v1/geographies/{geo_key}/children?type=tract&limit=50&offset=0
# List all counties in Texas
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/state:48/children?type=county"

# List all tracts in Harris County
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/county:48201/children?type=tract&limit=50"

# Works with names too — list tracts in Travis County, Texas
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/state:TX/children?type=county"

The response uses the standard APIResponse envelope with paginated results:

{
"data": [
{
"geo_key": "county:48001",
"name": "Anderson County, Texas",
"geo_type": "county",
"fips_code": "48001"
}
],
"meta": {
"total_count": 254,
"limit": 50,
"offset": 0
}
}

Metros as parents:

# List all counties in the Dallas-Fort Worth metro
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/metro:19100/children?type=county"

# List all tracts in the Dallas-Fort Worth metro (deep)
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/metro:19100/children?type=tract&limit=50"

Congressional districts as parents:

# List all tracts in Texas Congressional District 7
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/cd:4807/children?type=tract"

# List all block groups in TX CD 7
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/cd:4807/children?type=block_group&limit=50"

# List counties that overlap with TX CD 7
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/geographies/cd:4807/children?type=county"

Valid parent → child combinations:

ParentAllowed Child Types
nationstate
statecounty, cd, tract (deep), block_group (deep)
metrocounty, tract (deep), block_group (deep)
cdcounty, tract, block_group (deep)
countytract, block_group (deep)
tractblock_group
Tier-aware pagination

The children endpoint respects your plan's geography tier access. You'll only see child types your tier can access. Pagination defaults: limit=50, offset=0.


Variable Naming Conventions

Variable names (api_name) in PrairieCloud use topic-prefixed, human-readable names that are concise and consistent:

{topic}_{measure}

Examples:
pop_total
pop_male
income_median_household
tenure_owner_occupied
edu_bachelors_degree
poverty_below
employ_unemployed

The naming is designed to be:

  • Concise — short enough to use comfortably in code and URLs
  • Self-describing — the topic prefix groups related variables together
  • Stableapi_name values do not change between vintages

Census Code Aliases

Every variable also has a census_code (e.g., B01001_001E) that you can use interchangeably with the api_name. This makes migration from the Census Bureau API seamless:

# These two requests return the same data:
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=pop_total&geo=state:48"

curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=B01001_001E&geo=state:48"

The variable list and detail endpoints include a census_code field so you can always find the mapping.

Units

UnitDescription
countAn integer count of people, housing units, etc.
dollarA monetary value in nominal U.S. dollars
percentA percentage (0–100 scale)
yearA year value (e.g., median year structure built)
minutesA duration in minutes (e.g., commute time)

Variable Catalog Overview

PrairieCloud serves 392 curated variables across 53 Detailed Tables (B/C-tables) from the Census Bureau. These variables are specifically chosen to support composite index computation — Social Vulnerability Index (SVI), Area Deprivation Index (ADI), EJScreen, and similar indicators used in research, public health, and policy analysis.

Variables by Topic

TopicVariablesWhat's Covered
Core238Population, age, sex, race, ethnicity, education, income, poverty, employment
Housing85Occupancy, tenure, home values, rent, mortgage costs, units in structure
Transport26Commuting mode, travel time, vehicles available
Equity19Disability, language barriers, nativity, veteran status
Health14Health insurance coverage, uninsured rates
Environment10Housing age, heating fuel, plumbing/kitchen facilities
392 focused variables, not 1,861 scattered ones

The v2 catalog replaces the previous 1,861-variable catalog (Data Profile DP02–DP05 + 30 B-tables) with 392 curated variables from 53 B/C-tables. The focus is on variables that matter for composite indices, spatial analysis, and equity research — not exhaustive Census coverage. Every variable in the catalog pulls from stable Detailed Tables (B/C-tables), which don't renumber between releases like Data Profile tables did.

Key Variables

These are the most commonly requested variables. Use the exact api_name values in your API calls.

Population & Demographics

Variableapi_nameCensus CodeUnit
Total populationpop_totalB01001_001Ecount
Male populationpop_maleB01001_002Ecount
Female populationpop_femaleB01001_026Ecount
Male: Under 5 yearspop_male_under_5B01001_003Ecount
Female: Under 5 yearspop_female_under_5B01001_027Ecount
Total population under 18child_pop_total_under_18B09001_001Ecount
White alonerace_white_aloneB02001_002Ecount
Black or African American alonerace_black_aloneB02001_003Ecount
Asian alonerace_asian_aloneB02001_005Ecount
Hispanic or Latinohispanic_latinoB03002_003Ecount

Education & Income

Variableapi_nameCensus CodeUnit
High school diplomaedu_hs_diplomaB15003_017Ecount
Bachelor's degreeedu_bachelors_degreeB15003_022Ecount
Median household incomeincome_median_householdB19013_001Edollar

Employment

Variableapi_nameCensus CodeUnit
In labor force (16+)employ_in_labor_forceB23025_002Ecount
Unemployedemploy_unemployedB23025_005Ecount

Health Insurance

Variableapi_nameCensus CodeUnit
Total civilian noninstitutionalized pophealth_ins_total_civilianB27001_001Ecount

Housing

Variableapi_nameCensus CodeUnit
Total housing unitshousing_total_unitsB25001_001Ecount
Occupied housing unitshousing_occupiedB25002_002Ecount
Owner-occupied unitstenure_owner_occupiedB25003_002Ecount
Renter-occupied unitstenure_renter_occupiedB25003_003Ecount
Median home valuehousing_median_valueB25077_001Edollar
Median gross rentrent_median_grossB25064_001Edollar

Poverty & Transportation

Variableapi_nameCensus CodeUnit
Population below poverty levelpoverty_belowB17001_002Ecount
Commute mode totalcommute_mode_totalB08301_001Ecount

Variable Coverage by Vintage

The v2 catalog uses stable Detailed Tables (B/C-tables) rather than Data Profile tables. B-table Census codes don't renumber between releases the way DP-table codes did, which means coverage is more consistent across vintages.

However, the Census Bureau does occasionally restructure tables — adding new variables, splitting table groups, or retiring categories. This means not all 392 variables are available in every vintage. Coverage is highest for recent vintages and drops off for older ones.

Check the variable detail endpoint

Use GET /v1/variables/{api_name} to see the exact vintage availability for any variable. When querying a variable that doesn't exist for a given vintage, the API returns null for that value rather than an error.

Tract and block group data is available for ACS 5-Year vintages 2017–2024. Older vintages cover nation, state, county, metro, and congressional district geographies.


Discovering Variables

Browse the Full Catalog

curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/variables?limit=50&offset=0"

Search by Keyword

# Search for variables related to income
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/variables?search=income"

# Filter by topic
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/variables?topic=core"

# Filter by unit
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/variables?unit=dollar"

Search by Census Bureau Code

If you already know the Census Bureau variable code (e.g., B01001_001E), you can use it directly in data queries or search for the PrairieCloud api_name:

# Use the Census code directly in a data query
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=B01001_001E&geo=state:48"

# Or search to find the api_name mapping
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/variables?search=B01001_001E"

The response includes a census_code field showing the Census Bureau code for each variable:

{
"data": [
{
"api_name": "pop_total",
"census_code": "B01001_001E",
"label": "Total population",
"topic": "core",
"unit": "count"
}
]
}

This makes migration from the Census Bureau API seamless — search by the codes you already use, or pass them directly to the data endpoint.

Topics Endpoint

Use GET /v1/topics to list all variable topics with counts of active variables:

curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/topics"
{
"data": [
{ "topic_key": "core", "label": "Core Demographics", "variable_count": 98 },
{ "topic_key": "demographics", "label": "Demographics", "variable_count": 52 },
{ "topic_key": "economics", "label": "Economics", "variable_count": 48 },
{ "topic_key": "housing", "label": "Housing", "variable_count": 85 },
{ "topic_key": "transport", "label": "Transportation", "variable_count": 26 },
{ "topic_key": "equity", "label": "Equity & Vulnerability", "variable_count": 19 },
{ "topic_key": "health", "label": "Health", "variable_count": 14 },
{ "topic_key": "environment", "label": "Environment", "variable_count": 10 },
{ "topic_key": "social", "label": "Social Characteristics", "variable_count": 40 }
]
}

Use the topic_key values to filter the variable catalog: ?topic=core.

Static Codebook

Download the complete variable catalog as a single file for offline reference or integration into your own tools:

FormatURLCache
JSON/v1/codebook.json24 hours
CSV/v1/codebook.csv24 hours
# Download the full catalog as JSON
curl -o codebook.json \
"https://api.prairiecloud.io/v1/codebook.json"

# Download as CSV
curl -o codebook.csv \
"https://api.prairiecloud.io/v1/codebook.csv"

These are static files — no API key required, no rate limit cost. They're regenerated when the variable catalog changes and served with a 24-hour cache header.

Get Full Variable Detail

curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/variables/income_median_household"

The detail response includes:

  • Full label and description
  • Census code (e.g., B19013_001E)
  • Topic category
  • Vintage availability matrix
  • Original Census table reference

CSV Export

Pro tier and above

CSV export requires a Pro plan or higher.

Add format=csv to any data endpoint to receive the response as a CSV file instead of JSON. Supported on /v1/data, /v1/compare, and /v1/timeseries.

# Export data as CSV
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/data?variables=pop_total&geo=state:48&format=csv"

# Export comparison as CSV
curl -H "X-API-Key: YOUR_KEY" \
"https://api.prairiecloud.io/v1/compare?variables=pop_total&geo=state:48,state:06&format=csv"

The response has Content-Type: text/csv and includes a Content-Disposition header for download. Key details:

  • Row cap: CSV responses are capped at 10,000 rows. If your query produces more rows, the response is truncated and includes an X-CSV-Truncated: true header.
  • Formula injection protection: Cell values that start with =, +, -, or @ are prefixed with a single quote to prevent spreadsheet formula injection.
  • Free/Pioneer users who request format=csv receive a 403 error with an upgrade URL.

Suppressed Values

Some observations are suppressed by the Census Bureau because of small sample sizes or confidentiality protections. When a value is suppressed:

{
"estimate": null,
"suppressed": true,
"null_reason": "Census Bureau suppression: sample size too small"
}

This is not an API error — it reflects the underlying Census data. Suppression is more common at smaller geographic levels (tracts and block groups) than at state or county level.


PrairieCloud vs. Census Bureau API

PrairieCloud wraps the same underlying Census data but provides a significantly better developer experience.

Side-by-Side Comparison

FeatureCensus Bureau APIPrairieCloud API
Variable namesCryptic codes: B01001_001EHuman-readable: pop_total
Census code supportNative codes onlyBoth api_name and Census codes work
Variable stabilityTable restructuring across yearsapi_name is stable across all vintages
AuthenticationFree API key (no dashboard)API key with usage dashboard and tiered plans
Geography formatInconsistent: for=state:48, in=state:48Consistent: geo=state:48 always
Geography depthTract and block group available7 levels: nation → block group
Response format2D array (headers + rows)Structured JSON with labeled fields
Margins of errorSeparate API call or variable suffixIncluded alongside estimates
Rate limitingUndocumented, inconsistentDocumented tiers with headers (see pricing)
DocumentationPhD-level domain knowledge assumedCode examples in Python, R, JavaScript, cURL
Multi-vintage queriesOne vintage per request/v1/timeseries spans all vintages
BoundariesSeparate download from TIGER/LineIntegrated /v1/boundaries + include_geometry=true

What PrairieCloud Adds

  • Stable variable identifierspop_total means the same thing in 2009 and 2024. The Census Bureau reassigns code numbers between releases; PrairieCloud handles the crosswalk so you don't have to.
  • Census code aliases — Use familiar Census codes like B01001_001E directly in queries. The API resolves them to the corresponding PrairieCloud variable automatically.
  • Time series endpoint — Query a variable across all available vintages in a single request. The Census API requires one call per vintage.
  • Unified schema — All variables follow the same request/response pattern regardless of topic. The Census API has different URL structures per dataset.
  • Integrated boundaries — GeoJSON boundary shapes for all 7 geography levels, including tract and block group. Add include_geometry=true to get data and shapes in one call.
  • Usage tracking — See your API consumption, manage keys, and upgrade plans through the developer dashboard.

What PrairieCloud Doesn't Currently Include

  • Non-ACS datasets — BLS, BEA, USDA, and other federal datasets are under evaluation, but are not part of the currently available product surface.
  • Custom cross-tabulations — The Census API supports some cross-tabulation queries that PrairieCloud doesn't replicate.
  • Full B/C table universe — PrairieCloud serves 53 core table groups (392 variables). The Census Bureau publishes thousands of additional tables with even finer breakdowns. Additional tables may be added based on usage demand.

Next Steps