Federal Register: Comment Deadlines & Effective Dates avatar

Federal Register: Comment Deadlines & Effective Dates

Pricing

from $3.00 / 1,000 delivered documents

Go to Apify Store
Federal Register: Comment Deadlines & Effective Dates

Federal Register: Comment Deadlines & Effective Dates

Track Federal Register comment deadlines and effective dates from the public API. Compare saved snapshots for metadata changes and approaching deadlines. Export an iCalendar file with source document and official PDF links for review.

Pricing

from $3.00 / 1,000 delivered documents

Rating

0.0

(0)

Developer

Felix GoldWin

Felix GoldWin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

24 days ago

Last modified

Categories

Security

Limited permissions

Share

Federal Register Deadline and Change Monitor

Turn a focused Federal Register search into a reproducible regulatory watchlist. Export structured effective dates and comment deadlines, exact before/after metadata changes, deadline threshold crossings, official PDF links, and an iCalendar file. Intended for regulatory researchers, policy analysts, trade associations, and teams that need an auditable input to their own review process.

This Actor reads the public FederalRegister.gov API. No API key, login, proxy, or browser is needed. It does not collect public comments, contact lists, or account data. It never submits a comment or takes a regulatory action.

What makes the output useful

  • Keep the original datesText next to the API's structured dates. Qualifications and additional deadlines remain visible for human review.
  • Compare an explicit previous snapshot and receive {field, before, after} changes for titles, dates, actions, agencies, docket IDs, CFR references, correction links, and other stable metadata.
  • Keep calendar movement separate from source changes: an unchanged deadline entering the next seven days appears in thresholdCrossings.
  • Preserve document number, Federal Register citation, source API URL, source document URL, and official govinfo.gov PDF link.
  • See whether the query was fully scanned. Bounded or incomplete scans never imply withdrawal or deletion.

Start locally

Use Node.js 24 or newer, then run npm ci, npm test, and npm start from this directory. The input file is storage/key_value_stores/default/INPUT.json; copy examples/input.json there before starting. Local runs read public APIs and write local Apify SDK storage. They require network access but do not need an Apify account or token.

The included fixture tests are offline. They use fictional documents clearly marked synthetic; those fixtures must not be cited as real regulations. The sample output is also labeled as synthetic in its source fixture.

Example input

{
"agencySlugs": ["environmental-protection-agency"],
"documentTypes": ["PRORULE", "RULE"],
"publicationLookbackDays": 90,
"maxItems": 100,
"maxRequests": 20,
"deadlineWindowDays": 30
}

Find agency URL slugs in the Federal Register agency directory. A syntactically valid misspelling can yield zero results; it is not automatically corrected. Search term semantics are those of the source API.

InputDefaultMeaning
searchTermemptyFull-text query, up to 200 characters.
agencySlugs[]Up to 20 agency slugs. Empty means all agencies.
documentTypesPRORULE, RULEOne or more of RULE, PRORULE, NOTICE, PRESDOCU.
publicationLookbackDays90Inclusive lookback of 1–3650 days ending at publishedTo or asOfDate.
publishedFromomittedInclusive YYYY-MM-DD; overrides the lookback. Earliest allowed date: 1994-01-01.
publishedToasOfDateInclusive YYYY-MM-DD, no later than asOfDate.
significantOnlyfalseSource API significance filter; unknown values in output remain null.
maxItems100Maximum delivered documents, 1–5000. A separate conservative provider ceiling limits the scan to 2000 source rows.
maxRequests20Total HTTP attempt budget, 1–200, including retries and redirects.
requestIntervalMs1000Sequential request spacing, 500–60000 ms.
requestTimeoutSecs30Timeout per request, 5–60 seconds.
maxRetries2Retries after an initial request, 0–3, for transient failures only.
deadlineWindowDays90Deadline classification window, 1–730 days; does not filter documents from output.
asOfDatecurrent UTC dayComparison date in YYYY-MM-DD; not a historical-data replay.
previousSnapshotomittedThe exact prior SNAPSHOT JSON object, at most 2 MiB, from this Actor with the same source filters.

Supply narrow agency, term, or publication filters for repeatable monitoring. The source searches publication dates, not a complete universe of all future deadlines. A rule published before the selected window is not included even if its effective date is still in the future. Every matched document can be returned, including those with no structured deadline.

Output and comparison workflow

Each dataset item is one document. In addition to normalized source fields, it has:

FieldMeaning
id, documentNumberThe source document number; corrections can have prefixes such as C1-.
effectiveOn, commentsCloseOnStructured API dates, or null. No dates are inferred from prose.
deadlines{kind, date} entries for the available structured dates.
datesTextThe original date text, including qualifications and potentially additional dates.
deadlineStatusPer-date UTC calendar-day countdown and bucket, such as past, today, within-7-days, or beyond-window.
changeTypebaseline, added, changed, or unchanged. added means first seen in the supplied comparison, not newly enacted.
changesExact stable-field differences as {field, before, after}. Computed countdowns are not source edits.
thresholdCrossingsAn unchanged date's classification changed since the prior asOfDate.
correctionOf, correctionsCorrection links explicitly supplied by the API.
sourceUrl, sourceApiUrl, officialPdfUrlProvenance links.

The default key-value store contains OUTPUT (run summary, limits, request counts, diagnostics), SNAPSHOT (bounded baseline), and DEADLINES.ics (calendar). Dataset export is available through Apify in JSON, CSV, and other supported formats. Nested fields are most useful in JSON.

For a first run, omit previousSnapshot. To compare, download the prior SNAPSHOT record and place that JSON object in the next input's previousSnapshot, retaining the same source filters. A schedule by itself does not carry a previous run's default storage forward; use your integration to feed the snapshot explicitly. This prevents different customers or queries from accidentally sharing mutable state. Snapshot input and generated output are limited to 2 MiB; narrow the query if that limit is reached.

Every delivered document is a billable result when pay-per-event pricing is enabled, including unchanged documents. A changes-only consumer should filter downstream. The OUTPUT summary, snapshot, and calendar do not generate additional custom charges.

The API is a government-maintained informational service. FederalRegister.gov states that its XML rendition is not the official legal edition. Verify any legal obligation, filing cutoff, or effective-date qualification against the linked official PDF and subsequent actions. This Actor does not make compliance determinations or provide legal advice. See the source's legal-status notice.

The Actor monitors exact metadata for each document number. Amendments, extensions, withdrawals, and corrections often receive new numbers. They will be discovered only if they match the selected query and publication window. This is not a complete amendment graph or a consolidated current-law database. A null date means no valid structured date was supplied, not that no deadline exists. Comment-close dates do not provide a filing time or timezone; calendar entries use date-only values.

The provider's REST API guidance documents a 2000-result pagination ceiling. This Actor enforces that conservative scan limit, also follows the returned cursor links, and reports truncation. It does not silently claim complete coverage when maxItems, request budget, provider pagination, or the billing budget stops the scan. Narrow the window or split separate explicit date windows for larger research jobs. sourceScanComplete describes this query, not completeness of the legal record. notObservedIds never means deleted, withdrawn, or no longer applicable.

Access is sequential, host-restricted, and response-size bounded. Transient responses receive bounded retries with backoff and Retry-After handling; authentication failures and access restrictions fail clearly. HTML search, CAPTCHA solving, credential use, and restriction bypass are outside this Actor's behavior. Robots and terms should be reviewed again before publication; the source currently disallows HTML search routes and exposes its API for public use. Official NARA/OFR logos and seals must not be used.

Upload and price

See PUBLISHING.md for the upload and monetization checklist. Upload this standalone source folder or its source ZIP to a new Actor in Apify Console. Keep .actor/, src/, package.json, package-lock.json, and Dockerfile together. Build a private Actor first, run the sample input with a small maxItems, inspect the dataset and OUTPUT, and then review the Store listing before publishing. No publication or paid Apify run was performed in preparing this package.

Approved launch pricing is $0.005 per automatic start billing unit plus $0.003 per delivered document ($3 per 1,000 documents, plus the start fee). Configure apify-actor-start and apify-default-dataset-item in Apify Console. Apify charges startup automatically; the code only uses ordinary Actor.pushData() for results. Never manually charge startup or add duplicate custom start/result events.

Up to and including 1 GB RAM, startup is one unit; above that its count increases with each additional GB (4 GB means four units). The supplied default is 256 MB and maximum is 512 MB, so startup is $0.005 within this configuration. A 256 MB run delivering 100 documents has $0.305 in event charges. A started run with no results or a later failure can still incur $0.005. Other applicable costs follow Apify's terms.

Every delivered document, including unchanged documents, counts once. Errors, summaries, snapshots and calendars create no extra dataset-item charge. The SDK's remaining budget includes charges already incurred for automatic startup; the runtime checks it before collection and each delivery. With less than one result's allowance, no source request occurs. OUTPUT.billing describes the item-cap check, not a complete bill. See examples/pricing.json. These approved prices do not guarantee revenue or profit.

Use an original icon and clear independent branding. Suitable listing copy: “Track Federal Register structured deadlines, exact metadata changes and calendar transitions with explicit snapshots, complete-query diagnostics and official document provenance.” Avoid promising complete compliance coverage, real-time legal validity, or affiliation with the government.

Verification

Source unit tests cover strict input validation, metadata normalization, no prose-based date inference, nullable significance, correction documents, provenance checks, stable arrays, date/type filter checks, pagination, deduplication, repeated-page defense, request limits, and the 2000-result ceiling. Common runtime tests cover HTTP retry and billing-budget behavior, snapshots, deltas, and calendar generation.

A small live source collector check on 2026-10-11 used the implemented collector and shared HTTP client against https://www.federalregister.gov/api/v1/documents.json: 1 request, 0 retries, 7240 response bytes, three normalized documents (C1-2026-20019, 2026-20792, 2026-20790) in the inclusive 2026-10-01–2026-10-11 publication window. It correctly reported complete: false at maxItems: 3 from a reported count of 135. This establishes sampled live API compatibility, not a full-corpus audit or an Apify cloud execution. Fixture tests and live checks are separate evidence.

Sources

See NOTICE for attribution and source limitations.