Economic Data API reference

Grizzly Bulls Economic Data API v1.0.0. This page is generated from the same OpenAPI contract linked below.
Contract

Version 1.0.0

Read-only access to redistribution-approved U.S. economic time series, including GDP from the Bureau of Economic Analysis and CPI and labor-market observations from the Bureau of Labor Statistics. Values are latest-known, not historical release vintages. Public mode is keyless, including when the separate developer pilot is enabled. The developer pilot uses distinct endpoints with charts:read keys and Charts entitlements; paid access is not launched.

Base URL
https://grizzlybulls.com
Authentication
None — free public access
Operations
2
Schemas
4
GET/api/v1/charts/series

List available data series

Only explicitly approved series are listed. Public display does not grant API access.

No API key required. Operation ID: listChartSeries.

Responses

200Available series metadata
{
  "type": "object",
  "required": [
    "series"
  ],
  "properties": {
    "series": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Series"
      }
    }
  }
}
401API error
{
  "$ref": "#/components/schemas/Error"
}
403API error
{
  "$ref": "#/components/schemas/Error"
}
405API error
{
  "$ref": "#/components/schemas/Error"
}
429API error
{
  "$ref": "#/components/schemas/Error"
}
503API error
{
  "$ref": "#/components/schemas/Error"
}
GET/api/v1/charts/series/{slug}/observations

Get paginated observations from an approved series

Dates identify source observation periods. No interpolation, forward-filling or as-of-vintage reconstruction. Pagination is offset-based and not a snapshot across source revisions.

No API key required. Operation ID: listChartObservations.

Parameters

NameLocationRequiredDetails
slugpathYes
{
  "type": "string"
}
fromqueryNo

Inclusive UTC observation date

{
  "type": "string",
  "format": "date"
}
toqueryNo

Inclusive UTC observation date

{
  "type": "string",
  "format": "date"
}
orderqueryNo
{
  "type": "string",
  "enum": [
    "asc",
    "desc"
  ],
  "default": "asc"
}
limitqueryNo
{
  "type": "integer",
  "minimum": 1,
  "maximum": 250,
  "default": 100
}
offsetqueryNo
{
  "type": "integer",
  "minimum": 0,
  "maximum": 10000,
  "default": 0
}

Responses

200Canonical source observations with bounded pagination
{
  "type": "object",
  "required": [
    "series",
    "observations",
    "pagination"
  ],
  "properties": {
    "series": {
      "$ref": "#/components/schemas/Series"
    },
    "observations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Observation"
      }
    },
    "pagination": {
      "$ref": "#/components/schemas/Pagination"
    }
  }
}
400API error
{
  "$ref": "#/components/schemas/Error"
}
401API error
{
  "$ref": "#/components/schemas/Error"
}
403API error
{
  "$ref": "#/components/schemas/Error"
}
404API error
{
  "$ref": "#/components/schemas/Error"
}
405API error
{
  "$ref": "#/components/schemas/Error"
}
429API error
{
  "$ref": "#/components/schemas/Error"
}
503API error
{
  "$ref": "#/components/schemas/Error"
}

Schemas

Reusable definitions exposed by the product OpenAPI contract.

Error
{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Observation
{
  "type": "object",
  "required": [
    "date",
    "value",
    "gapBefore"
  ],
  "properties": {
    "date": {
      "type": "string",
      "format": "date"
    },
    "value": {
      "type": "number"
    },
    "gapBefore": {
      "type": "boolean",
      "description": "True if a canonical source period is missing before this observation, regardless of pagination."
    }
  }
}
Pagination
{
  "type": "object",
  "required": [
    "total",
    "limit",
    "offset",
    "nextOffset",
    "order",
    "from",
    "to"
  ],
  "properties": {
    "total": {
      "type": "integer"
    },
    "limit": {
      "type": "integer"
    },
    "offset": {
      "type": "integer"
    },
    "nextOffset": {
      "type": "integer",
      "nullable": true
    },
    "order": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "from": {
      "type": "string",
      "format": "date",
      "nullable": true
    },
    "to": {
      "type": "string",
      "format": "date",
      "nullable": true
    }
  }
}
Series
{
  "type": "object",
  "required": [
    "slug",
    "title",
    "description",
    "category",
    "unit",
    "unitLabel",
    "frequency",
    "dateGranularity",
    "history",
    "latestObservation",
    "source",
    "freshness",
    "revisions",
    "derivation"
  ],
  "properties": {
    "slug": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "unit": {
      "type": "string"
    },
    "unitLabel": {
      "type": "string"
    },
    "frequency": {
      "type": "string"
    },
    "dateGranularity": {
      "type": "string",
      "enum": [
        "day",
        "month",
        "quarter"
      ]
    },
    "history": {
      "type": "object",
      "required": [
        "firstObservationDate",
        "lastObservationDate",
        "observationCount"
      ],
      "properties": {
        "firstObservationDate": {
          "type": "string",
          "format": "date"
        },
        "lastObservationDate": {
          "type": "string",
          "format": "date"
        },
        "observationCount": {
          "type": "integer"
        }
      }
    },
    "latestObservation": {
      "type": "object",
      "required": [
        "date",
        "value"
      ],
      "properties": {
        "date": {
          "type": "string",
          "format": "date"
        },
        "value": {
          "type": "number"
        }
      }
    },
    "source": {
      "type": "object",
      "required": [
        "name",
        "dataset",
        "url",
        "methodologyUrl",
        "accessDate"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "dataset": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "methodologyUrl": {
          "type": "string",
          "format": "uri"
        },
        "accessDate": {
          "type": "string",
          "format": "date",
          "nullable": true
        },
        "disclaimer": {
          "type": "string",
          "description": "Any source-required attribution or downstream-use disclaimer."
        }
      }
    },
    "freshness": {
      "type": "object",
      "required": [
        "state",
        "asOfDate"
      ],
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "fresh",
            "stale",
            "retired"
          ]
        },
        "asOfDate": {
          "type": "string",
          "format": "date"
        }
      }
    },
    "revisions": {
      "type": "object",
      "description": "Source-vintage and revision semantics",
      "additionalProperties": true
    },
    "derivation": {
      "type": "object",
      "nullable": true,
      "description": "Formula and inputs for derived series",
      "additionalProperties": true
    }
  }
}