{
  "openapi": "3.0.1",
  "info": {
    "title": "Federal Register API — Rules, Notices & Public Inspection",
    "description": "Search the US Federal Register: final and proposed rules, notices and presidential documents, plus the Public Inspection desk before publication. One row per document with agencies, dates, comment deadline, docket, RIN, CFR parts, regulations.gov comment count and PDF links. No API key.",
    "version": "0.1",
    "x-build-id": "Xe2yZcu2RC9oulfuw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/insight.solutions~federal-register-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-insight.solutions-federal-register-api",
        "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/insight.solutions~federal-register-api/runs": {
      "post": {
        "operationId": "runs-sync-insight.solutions-federal-register-api",
        "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/insight.solutions~federal-register-api/run-sync": {
      "post": {
        "operationId": "run-sync-insight.solutions-federal-register-api",
        "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": {
          "terms": {
            "title": "Search terms",
            "type": "array",
            "description": "Full-text searches, e.g. `[\"artificial intelligence\"]` or `[\"PFAS\", \"drinking water\"]`. Each term is its own search with its own `maxResults`, and a document two terms both find is returned (and charged) once. Leave empty to browse by the filters below instead — an agency, a type, a date window, a docket or a CFR title is enough on its own.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "agencies": {
            "title": "Agencies",
            "type": "array",
            "description": "Agency slugs as the Federal Register uses them (`environmental-protection-agency`, `securities-and-exchange-commission`), or their names (`Environmental Protection Agency`, `Department of Energy`) or short names (`EPA`, `SEC`). Names are resolved against the Federal Register's own list of 473 agencies; one that cannot be resolved gets a free `unknown-agency` row with suggestions, and the run continues without it. Several agencies mean any of them.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "types": {
            "title": "Document types",
            "type": "array",
            "description": "Which kinds of document to return. Leave empty for all four.",
            "items": {
              "type": "string",
              "enum": [
                "RULE",
                "PRORULE",
                "NOTICE",
                "PRESDOCU"
              ],
              "enumTitles": [
                "Final rules",
                "Proposed rules",
                "Notices",
                "Presidential documents"
              ]
            },
            "default": []
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "Earliest publication date, `YYYY-MM-DD`."
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Latest publication date, `YYYY-MM-DD`."
          },
          "effectiveFrom": {
            "title": "Effective from",
            "type": "string",
            "description": "Earliest effective date, `YYYY-MM-DD` — the day a rule takes legal effect. Mostly useful with final rules."
          },
          "effectiveTo": {
            "title": "Effective to",
            "type": "string",
            "description": "Latest effective date, `YYYY-MM-DD`. Set both ends to list the rules that take effect in a given month."
          },
          "commentsOpen": {
            "title": "Comments still open",
            "type": "boolean",
            "description": "Keep only documents whose comment period closes today or later (Washington time). Applied to the rows before anything is charged, so the closed ones are read but never billed. Documents looked up by number and Public Inspection filings are not affected.",
            "default": false
          },
          "significantOnly": {
            "title": "Significant only",
            "type": "boolean",
            "description": "Keep only documents the Federal Register marks as significant under Executive Order 12866.",
            "default": false
          },
          "docketIds": {
            "title": "Docket IDs",
            "type": "array",
            "description": "Agency docket numbers, e.g. `[\"EPA-HQ-OAR-2023-0401\"]`. Each docket is its own search (combined with each term, if you set terms).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "cfrTitle": {
            "title": "CFR title",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Only documents that affect this title of the Code of Federal Regulations, e.g. `40` (Protection of Environment) or `21` (Food and Drugs)."
          },
          "cfrPart": {
            "title": "CFR part",
            "minimum": 1,
            "type": "integer",
            "description": "Narrows `cfrTitle` to one part, e.g. title 40 part `52` (state implementation plans). Needs `cfrTitle`."
          },
          "presidentialDocumentTypes": {
            "title": "Presidential document types",
            "type": "array",
            "description": "Narrow presidential documents to executive orders, proclamations and so on. Setting this with no `types` searches presidential documents only.",
            "items": {
              "type": "string",
              "enum": [
                "executive_order",
                "proclamation",
                "memorandum",
                "notice",
                "determination",
                "other"
              ],
              "enumTitles": [
                "Executive orders",
                "Proclamations",
                "Memoranda",
                "Notices",
                "Determinations",
                "Other"
              ]
            },
            "default": []
          },
          "documentNumbers": {
            "title": "Document numbers",
            "type": "array",
            "description": "Fetch these documents directly, e.g. `[\"2026-18723\"]`. A federalregister.gov document link works too. One request each; the filters above do not apply to them. A number the Federal Register does not know gets a free `not-found` row.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "relevance",
              "executive_order_number"
            ],
            "type": "string",
            "description": "The order documents are read in, which is also the order `maxResults` cuts in.",
            "default": "newest"
          },
          "publicInspection": {
            "title": "Also read the Public Inspection desk",
            "type": "boolean",
            "description": "Also return documents filed for the next issues of the Federal Register, before they are published. With terms, each term searches the desk; with no terms, you get everything on file today. The agency and type filters apply; the date, docket and CFR filters do not.",
            "default": false
          },
          "includeAbstract": {
            "title": "Include abstract and excerpt",
            "type": "boolean",
            "description": "Keep each document's abstract and its search-hit excerpt. Turn it off for narrower rows.",
            "default": true
          },
          "includeFacets": {
            "title": "Include agency facet rows",
            "type": "boolean",
            "description": "Add one free `facet` row per search: how many of its matches each agency published. One extra request per search; never charged.",
            "default": false
          },
          "maxResults": {
            "title": "Max results per search",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "How many documents each search (each term, docket or Public Inspection search) may return. `0` means as many as the Federal Register serves for the query within the time budget.",
            "default": 200
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches run at once. Pages of one search are always read one after another, 300 ms apart.",
            "default": 3
          },
          "maxRunSecs": {
            "title": "Time budget (seconds)",
            "minimum": 30,
            "maximum": 3600,
            "type": "integer",
            "description": "Stop fetching after this many seconds and keep everything already returned.",
            "default": 240
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "The Federal Register API answered from Apify's datacenter proxy and from no proxy at all in testing, so the cheap datacenter pool is the default and a cleared field still works.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}