RIA Change Radar: Form ADV Alerts & GTM Triggers avatar

RIA Change Radar: Form ADV Alerts & GTM Triggers

Pricing

from $750.00 / 1,000 firm watch-months

Go to Apify Store
RIA Change Radar: Form ADV Alerts & GTM Triggers

RIA Change Radar: Form ADV Alerts & GTM Triggers

Watch the RIA firms you name (by CRD or name+state) or a state/AUM filter and get typed changes from the filed SEC Form ADV on your schedule: crossed AUM band, advisers added/removed, custody, new registrant, scope, disclosure. Per-firm memory dedupes so you never see a change twice.

Pricing

from $750.00 / 1,000 firm watch-months

Rating

0.0

(0)

Developer

Paul Mikulskis

Paul Mikulskis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

RIA Change Radar watches the Form ADV filings of the registered investment advisers (RIAs) you name and tells you what changed: a firm crossing an AUM band, adding or losing advisers, a custody status or dollar change, a new registrant, a registration-scope change, a new disclosure, or an office move, returned as typed, deduped events with per-firm memory. It is the cheap, self-serve, machine-readable delta the SEC does not publish, built for the GTM operator who cannot or will not seat an enterprise RIA database.

It reads the free, keyless SEC sources (the Form ADV compilation feed and the IAPD firm-search API) on your Apify schedule, keeps each firm's history in your account, and never shows you the same change twice.

What "change" means here: this detects changes in a firm's filed Form ADV, not the day a firm economically changes. Advisers amend their ADV at least annually (within 90 days of fiscal year-end) plus promptly for certain items, so a row says "the filed ADV RAUM changed from X to Y," not "the firm grew." That filing is the GTM signal; it is just labelled honestly.

What does RIA Change Radar do?

  • Check mode returns the current filed ADV record per firm, a point-in-time compliance or evidence artifact: legal name, CRD, current regulatory AUM, custody status and dollar amount, adviser/employee counts, disclosure flag, registration scope, latest filing date, and a source URL.
  • Watch mode enrolls each firm (pinned to its CRD) in a standing watch. Each scheduled run diffs its filed ADV against the snapshot stored in your own key-value store and writes typed trigger events as dataset rows (plus an optional webhook): crossed_aum_threshold (an actual upward band crossing), regulatory_aum_changed (a filed RAUM move that stays within a band), advisers_added, advisers_removed, custody_changed, new_registrant, registration_scope_changed, new_disclosure, office_moved, and deregistered. A firm that did not change gets a visible no_change attestation row.
  • Cohort report produces a forwardable one-off artifact by comparing two point-in-time snapshots of the SEC feed: it applies your state / AUM-band / registration-scope filter at both endpoints and lists every firm in the CRD union that filed a change over the window. It is stateless (it never touches your watch memory) and honest about its bounds: it compares the two dated snapshots, not the days between them. See the historical sample below.

The output is flat JSON keyed on your firm identifier, so it drops straight into a CRM or an AI agent's tool loop. Apify's MCP integration also exposes this actor to agents as a single callable tool.

v1 scope (stated plainly)

  • The money fields (AUM, custody, adviser counts) cover the SEC-registered adviser universe: the firms in the SEC Form ADV feed. A purely state-registered firm (under $100M, state-only) has no SEC-published financials; it is watchable only at the light structural tier, and its money fields come back null. A firm that newly appears in the SEC feed (the UNDERDOG WEALTH case below) fires new_registrant plus a regulatory_aum_changed row recording the filed RAUM it entered the feed with. Entering the feed already reporting above a band is described as exactly that: first appearance in the feed at that filed size, not a threshold crossing and not measured growth.
  • Custodian NAME displacement (e.g. Schwab → Fidelity) is a stated v1.5, not v1. Custodian names live in the quarterly Schedule D data set, not the daily feed. v1 ships custody status and dollar-amount change (custody_changed).

Why use RIA Change Radar?

The teams that sell to, recruit from, and acquire RIAs all run the same manual play: watch Form ADV for the moment a target firm's situation turns into a buying signal. A firm crossing $100M must move to SEC registration (a custodian and compliance-vendor opportunity). New advisers added, or a succession-flavored disclosure, flags an M&A or recruiting target. The enterprise databases bundle this alert into a full CRM suite commonly priced in the low five figures a year; the alternative is an analyst diffing snapshots by hand. This actor prices the same metered, MCP-consumable delta far below that: a portfolio watch runs from the low tens to the low hundreds of dollars a month by size, and a one-off cohort report is a flat $29 (see Pricing).

How to use RIA Change Radar

  1. Try a check first. Run with {"mode":"check","firms":[105958]} (Vanguard, a large adviser always present in the SEC feed). You get one ADV record row for that firm. Add more CRDs to check several at once, e.g. {"mode":"check","firms":[105958,152998]} (adds UNDERDOG WEALTH).
  2. Start a watch. Set mode to watch and list your firms by CRD (or {name, state}). The first run stores a baseline snapshot per firm and alerts begin on the next run; this warm-up is by design.
  3. Put it on a schedule (important). Open the Actor's Schedules tab and add a daily schedule for this watch. Each run compares your firms against the latest SEC filing and delivers only what changed. You do not sit and poll; the schedule does.
  4. Optionally add a webhook. Set webhookUrl to an https endpoint to get a best-effort POST of each run's changes. The dataset is always the durable record.
  5. Run a cohort report with {"mode":"report","cohortFilter":{"state":"MA","minAum":100000000}} for a forwardable exposure artifact over a window. Pin the two endpoints with reportStartDate / reportEndDate, or leave them blank for a trailing default window. A window with fewer than two distinct snapshots, an empty cohort, or zero filed changes returns a free "nothing to report" result and is not charged.

Input

FieldWhat it does
modecheck / watch / unwatch / list-events / report (default check).
firmsCRD numbers or {name, state} objects. A name resolves to a CRD only on an unambiguous match; an ambiguous name returns a needs_confirmation row and is not watched or charged.
cohortFilter{state, minAum, maxAum, registrationScope} for report / cohort watch. In report mode the filter is applied at both feed endpoints and the CRD union is diffed.
confirmCohortA cohort watch enrolls only when true; otherwise it returns a free preview (matched count + monthly price).
reportStartDate / reportEndDateReport mode only: the two SEC feed snapshots to diff (YYYY-MM-DD). Leave blank for a trailing default window ending at the newest available feed.
triggersSubset of the trigger types to fire (default all).
aumBandsThresholds for crossed_aum_threshold: a firm fires it only when its filed RAUM crosses a band upward (old < band <= new); a move inside one band fires regulatory_aum_changed instead. Default [100M, 250M, 1B, 5B].
webhookUrlOptional https endpoint for change alerts.
watchIdNames this watch's memory namespace (one per portfolio you track).

Output

Example event rows from the 2026-07-01 → 2026-07-06 diff. UNDERDOG WEALTH newly appears in the SEC feed, so it fires new_registrant plus a regulatory_aum_changed row recording the filed RAUM it entered with (the null old_value marks first appearance, and aum_band_crossed is null, so no band was crossed):

[
{
"row_type": "event",
"event_type": "new_registrant",
"firm_name": "UNDERDOG WEALTH MANAGEMENT, LLC",
"crd": "152998",
"field": "sec_feed_presence",
"old_value": "absent",
"new_value": "in_feed",
"checked_at": "2026-07-06",
"source_url": "https://adviserinfo.sec.gov/firm/summary/152998"
},
{
"row_type": "event",
"event_type": "regulatory_aum_changed",
"firm_name": "UNDERDOG WEALTH MANAGEMENT, LLC",
"crd": "152998",
"field": "regulatory_aum",
"old_value": null,
"new_value": 111880222,
"aum_band_crossed": null,
"checked_at": "2026-07-06",
"source_url": "https://adviserinfo.sec.gov/firm/summary/152998"
}
]

You can download the dataset in JSON, HTML, CSV, or Excel.

Demo datasets

Two public datasets, readable by anyone with the link:

  • Check-mode demo: https://api.apify.com/v2/datasets/zvNeNv9omnoIuEAwH/items?format=json&clean=true. Two point-in-time Form ADV check rows (Vanguard and UNDERDOG WEALTH), each showing the filed CRD, firm name, registration status, latest filing date, regulatory AUM, adviser and employee counts, custody fields, disclosure flag, checked date, and SEC source URL.
  • Historical cohort-exposure report sample: https://api.apify.com/v2/datasets/Oai3ZWwSNRHvKyxmL/items?format=json (or format=html). A report-mode run over a reduced six-firm fixture slice of the SEC feed, filed as of 2026-07-01 and 2026-07-06, filtered to SEC-registered advisers above $100M. It shows the two dated feed URLs, the 6-firm cohort union, 5 firms that filed a change (9 change events: a same-band RAUM move for COLLER, RAUM + advisers for MISSION, RAUM + advisers + custody for WESTFIELD, UNDERDOG entering the feed above $100M, WARNKE leaving the feed), 1 unchanged firm, and a summary row with the window provenance and limitations. It is a bounded sample of the output shape, not a live run or the national feed.

Data fields

row_type, event_type, firm_name, crd, field, old_value, new_value, aum_band_crossed, regulatory_aum, discretionary_aum, total_accounts, total_employees, advisory_employees, custody_status, custody_amount, registration_type, registration_status, disclosure_flag, latest_filing_date, matched_firms, computed_monthly_price, billed, note, checked_at, source_url. Report summary rows additionally carry report_window_start, report_window_end, start_gen_on, end_gen_on, cohort_predicate, start_matches, end_matches, union_matches, firms_with_events, events_fired, unchanged_firms, start_source_url, end_source_url, and limitations.

Pricing

Pay-per-event. Compute is bundled into these prices; there is no separate usage pass-through.

EventPriceFires
firm_watch_month$0.75Once per watched firm per month (firms 1–100 of a watch). Bundles that firm's trigger rows, attestation and webhook. Skipped in your first free month; deferred while the feed is stale.
firm_watch_month_volume$0.40The volume step-down for firms 101–500 of a watch.
adv_check$0.02Once per firm result returned in check mode.
cohort_report$29Once per delivered cohort-exposure report, charged only after a report with at least one filed change lands. A window with fewer than two distinct snapshots, an empty cohort, zero changes, or more than 500 firms returns a free result and is not charged.
Actor start$0No start fee.

Worst-case monthly bill for a watch: portfolio size × the per-firm rate, once per month, plus any adv_check pulls. A 25-firm daily watch is ~$18.75/month (the watch fee is charged once per firm per month regardless of how often you run). A cohort watch bills per matched firm, so it runs a free preview first (matched count + computed price), enforces a 500-firm hard cap, and applies the volume step-down above 100 firms, so an unguarded state-wide filter can never silently overshoot. Your run's max-charge setting is always respected: if the budget cannot cover the run, the actor stops cleanly and tells you, rather than partially charging.

Tips

  • One watchId per portfolio. Each watchId is an independent memory namespace. Use default for your main list and separate ids for other books.
  • Daily is plenty. The feed refreshes daily. Running hourly does not multiply your bill: a run whose feed is unchanged since the last run does no money-tier work and charges nothing.
  • The first run is a baseline. Alerts start on the second run; that is the warm-up, stated honestly.

FAQ, disclaimers, and support

  • Where does the data come from? Public SEC records: the Form ADV compilation feed (reports.adviserinfo.sec.gov) and the IAPD firm-search API (api.adviserinfo.sec.gov). Both are keyless and accessed politely with a declared User-Agent at fair request rates, per the SEC's scripted-access guidance. Commercial databases resell the same public record. This is public SEC data accessed politely, not a claim of unrestricted redistribution rights.
  • Is this investment advice? No. It reports what firms filed with the SEC; it does not evaluate advisers.
  • Known limitation: custodian-name displacement is a stated v1.5 (Schedule D), not a v1 trigger.
  • Support: open an issue on the Actor's Issues tab. Custom cohorts and off-store reports are available on request.