Synergic.APIs

US Inflation API — the official CPI, since 1913

What is US inflation right now? The official CPI-U from the Bureau of Labor Statistics as clean, versioned JSON — plus the famous average-price basket the press loves. Every number traces to a named BLS series.

500 req/mo · No credit card required

What you get

The full CPI report

  • 11 categories: headline all-items, core, energy, food, housing, apparel, transportation, medical, recreation, education-communication, other
  • Both NSA (the YoY convention the press quotes) and seasonally adjusted (the MoM convention)
  • YoY / MoM rates computed from the index exactly like the BLS (1 decimal)
  • Monthly headline history back to 1913, official annual averages included

Famous average prices

  • Eggs (per dozen), gasoline (per gallon), milk, bread, ground beef, coffee, electricity
  • US city average, in dollars, gasoline back to 1976
  • Explicit unit on every data point
  • Auto-refreshed on each monthly CPI release (8:30 AM ET)

Endpoints

All paths relative to your gateway base URL. Auth: X-Api-Key header. Every 200 ships ETag, Cache-Control and RateLimit-* headers.

MethodPathSummary
GET/inflation/latest Free+Latest CPI of all 11 categories (the report table). ?adjusted=true for SA.
GET/inflation/{category} Free+Latest CPI of a single category.
GET/inflation/{category}/history Free+Monthly CPI history of a category (headline since 1913). Keyset pagination via meta.next_end.
GET/inflation/{category}/annual Free+Official annual average CPI (headline since 1913; limit=150 = whole series in one call).
GET/prices Free+The famous basket — latest US average price of each item.
GET/prices/{item}/history Free+Monthly price history of one item (gasoline since 1976).

Free+ = included from the free plan up. Every endpoint and the full history are on every plan — paid tiers raise your monthly volume (500 → 50,000 → 500,000 → 5,000,000 req/mo). Compare plans.

Get a free API key 500 req/mo · No credit card required

Endpoint reference

Parameters, response fields, and real sample responses — including the error shapes, so you can code the unhappy path without guessing. Straight from the OpenAPI spec.

GET /inflation/latest — latest CPI of all 11 categories

Query parameters

ParamTypeRequiredDescription
adjustedenum true|falsenofalse (default) = NSA, the YoY convention; true = seasonally adjusted, the MoM convention.

Response fields (data[])

FieldTypeDescription
categorystringOne of the 11 category ids (all-items, core, energy, food, housing, apparel, transportation, medical, recreation, education-communication, other).
adjustedbooleantrue = seasonally adjusted (SA), false = NSA.
periodstringMonth, YYYY-MM.
indexnumberCPI-U index level (1982-84=100 base for most series).
yoy_pctnumber · nullYear-over-year change, 1 decimal — null when the mirror month is missing (series starts; Oct 2025).
mom_pctnumber · nullMonth-over-month change, 1 decimal, or null.
source"BLS"Per-point attribution.

Sample response — 200

{
  "data": [
    { "category": "all-items", "adjusted": false, "period": "2026-06",
      "index": 333.952, "yoy_pct": 3.5, "mom_pct": -0.3, "source": "BLS" },
    { "category": "core", "adjusted": false, "period": "2026-06",
      "index": 336.882, "yoy_pct": 2.7, "mom_pct": 0, "source": "BLS" }
  ],
  "meta": { "source": "U.S. Bureau of Labor Statistics", "area": "us" }
}

Sample response — 400 VALIDATION_ERROR

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid query parameters",
    "details": [{ "param": "adjusted", "message": "Invalid option: expected one of \"true\"|\"false\"" }]
  }
}
GET /inflation/{category} — latest CPI of one category

Parameters

ParamInTypeDescription
categorypathenumCase-insensitive category id (see the 11 ids above).
adjustedqueryenum true|falseDefault false (NSA).

Response

Same CpiPoint fields as above — data is a single object, not an array.

Sample response — 404 CATEGORY_NOT_FOUND

{
  "error": {
    "code": "CATEGORY_NOT_FOUND",
    "message": "Unknown category. Available categories: all-items, core, energy, food, housing, apparel, transportation, medical, recreation, education-communication, other"
  }
}
GET /inflation/{category}/history — monthly history, headline since 1913

Parameters

ParamInTypeDescription
categorypathenumCategory id.
startqueryYYYY-MMInclusive start month.
endqueryYYYY-MMInclusive end month — pass meta.next_end here to get the next page.
limitqueryint 1–100Points per page (default 30).
adjustedqueryenumDefault false.

Pagination

Keyset: points come most recent first; meta.count is the page size and meta.next_end is the end value for the next page — null on the last one. October 2025 is absent: the BLS never published it (federal shutdown).

Sample response — 200 (paginated)

{
  "data": [
    { "category": "all-items", "adjusted": false, "period": "2026-06",
      "index": 333.952, "yoy_pct": 3.5, "mom_pct": -0.3, "source": "BLS" }
  ],
  "meta": { "source": "U.S. Bureau of Labor Statistics", "area": "us",
            "count": 1, "next_end": "2026-05" }
}
GET /inflation/{category}/annual — official annual averages (M13)

Parameters

ParamInTypeDescription
categorypathenumCategory id. Annual averages are published NSA only.
startqueryYYYYInclusive start year.
endqueryYYYYInclusive end year (keyset pagination via meta.next_end).
limitqueryint 1–150Default 50. limit=150 = the whole headline series (1913+) in one call.

Sample response — 200

{
  "data": [
    { "category": "all-items", "period": "2025", "index": 321.348, "source": "BLS" },
    { "category": "all-items", "period": "2024", "index": 313.689, "source": "BLS" }
  ],
  "meta": { "source": "U.S. Bureau of Labor Statistics", "area": "us",
            "count": 2, "next_end": "2023" }
}
GET /prices — the famous basket, latest price of each item

Response fields (data[])

FieldTypeDescription
itemstringeggs, gasoline, milk, bread, ground-beef, coffee, electricity.
periodstringMonth, YYYY-MM.
pricenumberUS average price in dollars (3 decimals in the source).
unitstringExplicit market unit: USD per dozen, USD per gallon, USD per lb, USD per kWh.
source"BLS"Per-point attribution.

Sample response — 200

{
  "data": [
    { "item": "eggs", "period": "2026-06", "price": 2.141,
      "unit": "USD per dozen", "source": "BLS" },
    { "item": "gasoline", "period": "2026-06", "price": 3.111,
      "unit": "USD per gallon", "source": "BLS" }
  ],
  "meta": { "source": "U.S. Bureau of Labor Statistics", "area": "us" }
}
GET /prices/{item}/history — monthly price history of one item

Parameters

ParamInTypeDescription
itempathenumCase-insensitive item id (the 7 above).
start / endqueryYYYY-MMInclusive range; keyset pagination via meta.next_end.
limitqueryint 1–100Default 30.

Series depth

Gasoline 1976+ · electricity 1978-11+ · eggs / bread / coffee 1980+ · ground-beef 1984+ · milk 1995-07+. Some months are absent in the official source (collection gaps; October 2025 for all items except gasoline).

Sample response — 404 ITEM_NOT_FOUND

{
  "error": {
    "code": "ITEM_NOT_FOUND",
    "message": "Unknown item. Available items: eggs, gasoline, milk, bread, ground-beef, coffee, electricity"
  }
}

Errors, auth & limits

One uniform error contract everywhere: { "error": { "code", "message", "details?" } } with stable, machine-readable codes.

StatusCodeWhen
401UNAUTHORIZEDMissing X-Api-Key header, or invalid/revoked key.
400VALIDATION_ERRORBad query/path parameters — details[] lists each offending param.
404CATEGORY_NOT_FOUND · ITEM_NOT_FOUND · NOT_FOUNDUnknown category/item, or unknown route.
429RATE_LIMITEDPer-minute limit of your plan exceeded — check Retry-After.
429QUOTA_EXCEEDEDMonthly cap reached. Nothing is billed on top — resets on the 1st (UTC).
502UPSTREAM_ERRORThe origin API was unreachable — retry shortly.
500INTERNAL_ERRORUnexpected error on our side.

Sample — 401

{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Missing X-Api-Key header. Get a free key at https://synergicapis.com/signup.html"
  }
}

Sample — 429 QUOTA_EXCEEDED

{
  "error": {
    "code": "QUOTA_EXCEEDED",
    "message": "Monthly quota exhausted (500 requests on the free plan). Resets on the 1st (UTC) — or upgrade at https://synergicapis.com/#pricing"
  }
}

Every 200 (and monthly 429) carries RateLimit-Limit / RateLimit-Remaining / RateLimit-Reset describing your monthly quota; a per-minute 429 describes the minute window and adds Retry-After. Successful responses also ship ETag — send If-None-Match and a 304 costs you nothing new.

Bulk data (CSV)

Want the whole series as a file? Download it — free, attribution appreciated. For live, always-fresh data use the API.

License: underlying data is U.S. government public domain (BLS); these CSV compilations are free to use with attribution to their official source. Files are regenerated on CPI releases — the API is always the freshest.

Data provenance

Every number traces to a named official series — never scraped, never estimated.

CPI categories come from the BLS Consumer Price Index for All Urban Consumers (CPI-U), U.S. city average index family: headline CUUR0000SA0 (NSA) and CUSR0000SA0 (seasonally adjusted), core CUUR0000SA0L1E, plus the energy, food, housing, apparel, transportation, medical, recreation, education & communication and other series — 22 series in total, each response labeled with its category and adjustment.

Famous prices are the BLS Average Price series: eggs APU0000708111, gasoline APU000074714, plus milk, bread, ground beef, coffee and electricity — with the exact unit stated on every data point.

U.S. government data is public domain; every API response cites its source in meta. Months the BLS never published are served as null — never estimated. This product is not affiliated with or endorsed by the Bureau of Labor Statistics.

Example

# Latest headline + core + 9 more categories, one call
curl -H "X-Api-Key: sk_live_YOUR_KEY" \
  https://api.synergicapis.com/inflation/latest
{
  "data": [
    {
      "category": "all-items",
      "adjusted": false,
      "period": "2026-06",
      "index": 333.952,
      "yoy_pct": 3.5,
      "mom_pct": -0.3,
      "source": "BLS"
    },
    {
      "category": "core",
      "adjusted": false,
      "period": "2026-06",
      "index": 336.882,
      "yoy_pct": 2.7,
      "mom_pct": 0,
      "source": "BLS"
    }
  ],
  "meta": { "source": "U.S. Bureau of Labor Statistics", "area": "us" }
}

Live demo

Real request against the production API — no key needed here (demo endpoint, 5 requests/minute).

Press the button to fetch the latest official CPI figures.

Get started

Get a free API key See pricing 500 req/mo · No credit card required