This Actor uses semantic versioning. Apify's actor.json version is 0.2 because that field is MAJOR.MINOR. The package version is the full semver.
- From 0.2.0, totalOfferingAmount and totalRemaining are a number or null. Indefinite offerings have isIndefinite true. Previously these fields could be the string Indefinite. Rows delivered before 0.2.0 keep the old shape.
- When a run delivers no filings and no removal tombstones, push one free
no-new-filings row after state is saved. It lists the business days scanned, the cursor, why the run stopped, and the time. It is not charged, it is not stored in delivered, and it does not move the cursor. A failed run does not push it.
- On a first run with no cursor and no
dateFrom, if the latest business day has no daily index, step back one business day at a time, up to 5, and scan the first day that has an index. Skipped days are not charged. Cursor runs and date ranges do not step back.
- The Console prefill for
maxResults is 100. A call that omits the field still uses 1000.
- The status row's listed stop reasons omit
max-results. A run that stops there has already pushed filings.
- Add the dataset schema and the output schema the Store publish checklist requires. The Output tab lists every field.
- Write the pricing section for people running the Actor. A run needs a maximum cost of at least $0.01.
- Omit a broker-dealer name or CRD, and a recipient name or CRD, when the filing says None.
- The random start delay is at most 30,000 milliseconds. A draw of 0.999999 stays within that cap.
- Cap the random start delay at 0 to 30 seconds. The request rate, user agent, and backoff are unchanged.
- Include the broker-dealer firm name and CRD on every sales-compensation recipient. Recipient names and CRD numbers stay off unless
includeRelatedPersonNames is on.
- The platform run timeout stays 1 hour, and a stopped run resumes on the next run. A cursor that is behind still warns only.
SCAN_WAITING_DAYS stays false.
- The cap warning depends on the mode. A date range says to run again with the same dates. A cursor that is behind says to raise
maxBackfillDays or run again.
- The README states that days overlapping a range already scanned are charged
day-scanned again, and filings already delivered are not.
- A backfill remembers the requested dates and the last day of that range that finished. The same dates resume after that day, so a finished day is not charged
day-scanned again. A different range starts at its first day.
- When the requested span or the cursor gap is longer than
maxBackfillDays, the run warns and the status says how many days were scanned. It still scans only the cap. Catch-up scanning stays off until that choice is confirmed.
- The date inputs and the README state the default cap of 1 business day and the maximum of 30.
- Store text files with LF line endings.
- Save
delivered after every charged filing, and again if the run is blocked, fails, migrates, or aborts. A later run does not charge that accession again.
- On an extra day, start a filing only when both the filing price and the pending
day-scanned price fit in the remaining budget.
- Stop cleanly when less than 30 seconds remain before
ACTOR_TIMEOUT_AT, and say to run again to continue. The default timeout and maxBackfillDays are unchanged.
- Add
pricing.json for the console prices. apify push does not apply it. The synthetic dataset-item event is omitted and is not charged on push.
- Quote the SEC's copying and trademark wording, disclose developer visibility of shared runs, and describe broker-dealer firm fields separately from recipient names.
- Save the cursor in a named key-value store,
private-offering-notice-feed-state-<stateKey>, so a new run or a schedule keeps its place. stateKey defaults to default. resetState starts that key over.
- Stream the quarterly index with Node's HTTP client. A failed removal check logs a warning, does not charge
removal-check, leaves lastRemovalCheck unchanged, and tries again on the next America/New_York day.
- Hide sales-compensation recipient names and CRD numbers unless
includeRelatedPersonNames is on.
- Log the egress IP once per run.
- Make the Actor folder build on its own, and accept Apify's input-schema rules for the multi-select fields.
First release of the Private Offering Notice Feed.
Each run reads Form D and Form D/A notices from SEC EDGAR, at most one request per second, and writes them to the dataset of the account that started the run. Personal data is off unless the run asks for it. Removed filings in the current quarter are reported as tombstones.