{
  "openapi": "3.0.1",
  "info": {
    "title": "US Economic Calendar: BLS Release Dates (CPI, Jobs, PPI)",
    "description": "Scheduled release dates for every U.S. Bureau of Labor Statistics news release: CPI, Employment Situation, PPI, JOLTS, ECI and more. One row per release with reference period, UTC and Eastern time, schedule page and archived release link. Filter by release, date range or next release only.",
    "version": "0.1",
    "x-build-id": "3h01AvASfD89PUqgl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yadroo~bls-release-calendar/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yadroo-bls-release-calendar",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/yadroo~bls-release-calendar/runs": {
      "post": {
        "operationId": "runs-sync-yadroo-bls-release-calendar",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/yadroo~bls-release-calendar/run-sync": {
      "post": {
        "operationId": "run-sync-yadroo-bls-release-calendar",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to fetch",
            "enum": [
              "calendar",
              "nextRelease",
              "releaseList"
            ],
            "type": "string",
            "description": "`calendar` returns one row per scheduled release in the selected window. `nextRelease` returns the next upcoming date of each selected release (one row per release) — the answer to \"when is the next CPI\". `releaseList` returns the dictionary of releases the schedule contains (code, name, cadence, schedule page) and ignores the date filters.",
            "default": "calendar"
          },
          "releases": {
            "title": "Releases",
            "type": "array",
            "description": "Keep only these releases, by their BLS short code. Empty = every release on the schedule, including the smaller ones that have no code (they come back with `releaseCode: null`). See README → Reference dictionaries for the full list.",
            "items": {
              "type": "string",
              "enum": [
                "cpi",
                "empsit",
                "ppi",
                "jolts",
                "eci",
                "realer",
                "ximpim",
                "metro",
                "laus",
                "prod2",
                "cewbd",
                "ecec",
                "cesan",
                "osh",
                "cfoi",
                "ecopro",
                "cew",
                "wkyeng",
                "jltst",
                "atus",
                "union2",
                "ocwage",
                "wkstp",
                "famee",
                "forbrn",
                "disabl",
                "vet",
                "youth",
                "disp",
                "ors",
                "leave",
                "work",
                "prod3",
                "prin",
                "tenure"
              ],
              "enumTitles": [
                "Consumer Price Index (cpi)",
                "Employment Situation — jobs report (empsit)",
                "Producer Price Index (ppi)",
                "Job Openings and Labor Turnover Survey (jolts)",
                "Employment Cost Index (eci)",
                "Real Earnings (realer)",
                "U.S. Import and Export Price Indexes (ximpim)",
                "Metropolitan Area Employment and Unemployment (metro)",
                "State Employment and Unemployment (laus)",
                "Productivity and Costs (prod2)",
                "Business Employment Dynamics (cewbd)",
                "Employer Costs for Employee Compensation (ecec)",
                "Consumer Expenditures (cesan)",
                "Employer-Reported Workplace Injuries and Illnesses (osh)",
                "Census of Fatal Occupational Injuries (cfoi)",
                "Employment Projections (ecopro)",
                "County Employment and Wages (cew)",
                "Usual Weekly Earnings of Wage and Salary Workers (wkyeng)",
                "State Job Openings and Labor Turnover (jltst)",
                "American Time Use Survey (atus)",
                "Union Membership (union2)",
                "Occupational Employment and Wages (ocwage)",
                "Major Work Stoppages (wkstp)",
                "Employment Characteristics of Families (famee)",
                "Labor Force Characteristics of Foreign-born Workers (forbrn)",
                "People with a Disability: Labor Force Characteristics (disabl)",
                "Employment Situation of Veterans (vet)",
                "Summer Youth Labor Force (youth)",
                "Worker Displacement (disp)",
                "Occupational Requirements in the United States (ors)",
                "Access to and Use of Leave (leave)",
                "Work Experience of the Population (work)",
                "Total Factor Productivity (prod3)",
                "Productivity and Costs by Industry: Manufacturing and Mining (prin)",
                "Employee Tenure (tenure)"
              ]
            }
          },
          "releaseNameContains": {
            "title": "Release name contains",
            "type": "string",
            "description": "Keep only releases whose printed name contains this text, case-insensitive, e.g. \"price\", \"employment\", \"productivity\". Use it for releases that are not in the code list above. Combined with `releases` it widens nothing: a row must match both."
          },
          "dateFrom": {
            "title": "From date (Eastern, inclusive)",
            "type": "string",
            "description": "Earliest release date, YYYY-MM-DD. Set `dateFrom` and `dateTo` to read past releases; leave both empty to use `withinDays` from today."
          },
          "dateTo": {
            "title": "To date (Eastern, inclusive)",
            "type": "string",
            "description": "Latest release date, YYYY-MM-DD. BLS publishes the schedule one year at a time; earlier years stay readable in the archive. A range that reaches past the last published year is trimmed to what exists and the run says so; a range entirely outside it ends with a clear message naming the covered range."
          },
          "withinDays": {
            "title": "Next N days",
            "minimum": 1,
            "maximum": 1095,
            "type": "integer",
            "description": "Used only when `dateFrom` and `dateTo` are both empty: releases scheduled from today up to N days ahead. 30 for a monthly planning run, 365 for the whole year ahead. A window that reaches into a year BLS has not published yet is trimmed to the last scheduled date instead of failing.",
            "default": 90
          },
          "onlyUpcoming": {
            "title": "Only releases still ahead",
            "type": "boolean",
            "description": "Drop releases whose scheduled moment has already passed, also inside an explicit date range. `nextRelease` always applies this.",
            "default": false
          },
          "onlyNew": {
            "title": "Only entries not seen before",
            "type": "boolean",
            "description": "Remember release code plus scheduled UTC timestamp in this actor's key-value store and output only entries that were not there on the previous run. A rescheduled release counts as new, so a scheduled task emits exactly the calendar changes. The first run outputs everything it finds.",
            "default": false
          },
          "sortOrder": {
            "title": "Sort",
            "enum": [
              "soonest",
              "latest"
            ],
            "type": "string",
            "description": "Order rows by the scheduled release moment.",
            "default": "soonest"
          },
          "maxItems": {
            "title": "Max rows",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Stop after this many rows. A full year of the schedule is about 165 rows (166 in 2026).",
            "default": 50
          },
          "fields": {
            "title": "Output fields",
            "type": "array",
            "description": "Keep only these output fields, in this order, e.g. [\"releaseName\", \"referencePeriod\", \"releaseTimeUtc\"]. Empty = all fields of the mode.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}