# Litigation Signals API — Lawsuits, Settlements & Investigations (`insight.solutions/litigation-signals-api`) Actor

Who is being sued, settling or investigated: one row per legal matter per public company, from SEC 10-K, 10-Q and 8-K disclosures, press wires and SEC, FTC, CFPB and DOJ notices, with type, status, court, case number and amount. Individuals redacted. No key.

- **URL**: https://apify.com/insight.solutions/litigation-signals-api.md
- **Developed by:** [Insight Solutions](https://apify.com/insight.solutions) (community)
- **Categories:** Lead generation, News
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 litigation signals

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Litigation Signals API — Lawsuits, Settlements & Investigations

**Who is being sued, settling, or under investigation — per public company, one row per legal matter.** Give this Actor a list of companies (names, tickers or SEC CIKs) and get back every lawsuit, class action, settlement, verdict and government investigation they disclose: the **type**, the **status** (new, ongoing, resolved), the **court**, the **case number**, the **amount**, the **organisations on the other side**, a redacted **excerpt** and the filing it came from. Plus one row per document read and a free summary per company. JSON, CSV or Excel.

Public companies must disclose material litigation in their SEC filings: Item 3 of the 10-K, Part II Item 1 of the 10-Q, the litigation note those items point to, and 8-Ks for anything new. Companies and plaintiffs' firms announce suits and settlements on the press wires; the SEC, the FTC the CFPB and the Department of Justice announce enforcement. This Actor reads all three — HTTP only, no browser, no login, no API key.

**Company-level data only.** Courts, regulators and companies stay; people never appear: a plaintiff in a caption, an executive, a judge, class counsel and signatories are replaced by `[individual]` or `[judge]` before a row is written. **$5.00 per 1,000 litigation signals** plus **$1.00 per 1,000 documents read** on the FREE tier.

### Try it in 30 seconds

This is the Store prefill; paste it and run:

```json
{ "mode": "companies", "companies": ["Tesla", "Boeing", "Johnson & Johnson", "3M", "Coinbase"], "months": 12, "filingsPerCompany": 2, "userAgentContact": "Insight Solutions austinhughhillis@gmail.com" }
```

Five companies, each one's latest 10-K and newest 10-Q, their litigation 8-Ks of the last year, the press wires and the regulator feeds. On the pinned copies of those filings in our test suite the periodic filings alone give **128 signals from 6 documents** — 3M's 10-Q 86 (PFAS, earplugs, respirators), Johnson & Johnson's 27 (talc, a dozen patent suits, antitrust class actions), Tesla's 12 across its 10-K and 10-Q, Coinbase 2, Boeing 1 — and a live run adds the documents the suite does not pin.

`userAgentContact` is required by the SEC on every request: your organisation and an address it can reach. The form pre-fills the publisher's contact so the example runs; replace it with yours.

The whole market, for new 8-K class actions and settlements in the last week:

```json
{ "mode": "market", "queries": ["\"class action\"", "\"settlement agreement\""], "forms": ["8-K"], "marketDays": 7, "maxFilings": 50, "userAgentContact": "Acme Research data@acme.com" }
```

Only settlements and judgments for a watchlist:

```json
{ "companies": ["JNJ", "MMM", "BA"], "types": ["settlement", "judgment"], "filingsPerCompany": 3, "userAgentContact": "Acme Research data@acme.com" }
```

**From code** — `client.actor("insight.solutions/litigation-signals-api").call(run_input={"companies": ["Tesla"], "userAgentContact": "Acme Research data@acme.com"})` with `apify-client`, or `POST https://api.apify.com/v2/acts/insight.solutions~litigation-signals-api/run-sync-get-dataset-items`.

### What comes back

A **signal** row (from the pinned Tesla 10-Q; null columns cut):

```json
{
  "rowType": "signal",
  "input": "Tesla",
  "company": "Tesla, Inc.",
  "cik": "1318605",
  "ticker": "TSLA",
  "source": "sec-10-Q",
  "sourceTitle": "Tesla, Inc. 10-Q for the period ended 2026-09-30",
  "url": "https://www.sec.gov/Archives/edgar/data/1318605/000162828026066775/tsla-20260930.htm",
  "date": "2026-10-22",
  "periodEnd": "2026-09-30",
  "form": "10-Q",
  "types": ["lawsuit", "class-action", "securities"],
  "status": "ongoing",
  "title": "Securities class action, W.D. Tex.",
  "heading": "Other Litigation Related to Our Products and Services",
  "excerpt": "On August 4, 2025, a proposed class action was filed in the U.S. District Court for the Western District of Texas against Tesla, Inc., [individual], and certain current and former Company executives. The complaint alleges that the defendants violated federal securities laws …",
  "court": "W.D. Tex.",
  "jurisdiction": "United States (federal), Texas",
  "matterKey": "d|w d tex|2025-08-04",
  "filings": ["0001628280-26-066775", "0001628280-26-003952"],
  "confidence": "high"
}
```

`filings` lists both the 10-Q and the 10-K: the same matter in both is **one** signal, carrying the newest text.

An 8-K settlement, from the market-mode run in the suite:

```json
{
  "rowType": "signal",
  "company": "Zillow Group, Inc.",
  "source": "sec-8-K",
  "date": "2026-10-28",
  "types": ["lawsuit", "class-action", "securities", "settlement", "judgment"],
  "status": "resolved",
  "title": "Settlement — securities class action, W.D. Wash.",
  "excerpt": "On October 27, 2026, Zillow Group, Inc. … entered into a stipulation of settlement … to resolve all claims … in the previously disclosed consolidated securities class action litigation captioned [individual] v. Zillow Group, Inc., et al., Case No. 2:21-cv-01551-TSZ (W.D. Wash.) …",
  "amountUsd": 212500000,
  "court": "W.D. Wash.",
  "caseNumber": "2:21-cv-01551-TSZ",
  "confidence": "high"
}
```

A **document** row (paid) for each filing, release or notice read — `signalCount`, `sectionChars` (how much litigation text it held) and `section` (`Part II, Item 1. Legal Proceedings; Note 11 — Commitments and Contingencies`). A free **company** row per input company:

```json
{
  "rowType": "company",
  "input": "Tesla",
  "company": "Tesla, Inc.",
  "cik": "1318605",
  "ticker": "TSLA",
  "matchedOn": "name",
  "documentsRead": { "sec-10-K": 1, "sec-10-Q": 1, "sec-8-K": 0, "press-release": 0, "regulator-sec": 0, "regulator-ftc": 0, "regulator-cfpb": 0, "regulator-doj": 0 },
  "signalsByType": { "lawsuit": 12, "class-action": 6, "securities": 6, "appeal": 6, "judgment": 4, "dismissal": 4, "settlement": 3, "investigation": 3 },
  "signals": 12
}
```

Anything that could not be read — a name SEC does not list, a filing that moved, a feed that is down, SEC refusing the run — comes back as a free **diagnostic** row (`errorType`, `error`) instead of a charge.

### Use cases

- **Law-firm business development** — which companies just got sued, in which court, over what: securities, antitrust, product liability, employment. `status: new` is the list of matters filed in your window.
- **Insurers and underwriters** — litigation load per insured or prospect: how many open matters, how many class actions, what has settled and for how much.
- **Credit and supplier risk** — a counterparty with a fresh class action, a DOJ inquiry or a Chapter 11 at a key supplier, before it reaches the ratings.
- **Investors and analysts** — every matter a filer discloses across its 10-K and 10-Qs, deduplicated, with the amounts it states, in one table per watchlist.
- **Journalists and researchers** — market mode surfaces the week's 8-K settlements and class actions across all filers; the regulator feeds add enforcement.

### How it compares

- **From the disclosures themselves.** Every row points at the filing, release or notice it was read from, and the excerpt is the company's or regulator's own words. Nothing is modelled or scored from outside data.
- **Matters, not mentions.** A Legal Proceedings section is split into the disputes it describes, and the same dispute in a 10-K and three 10-Qs is one row listing all four filings — so counts mean something.
- **Three source kinds, one schema.** SEC filings, press-wire releases and regulator notices come back in the same columns, so a class action that a plaintiffs' firm announces and the company later settles in an 8-K sits in one table.
- **A grade and a status on every row.** `confidence` says what the row rests on; `status` says whether it is new in your window, still open or resolved.
- **Company-level by design.** No court records about individuals are read, and individuals are redacted from everything that is.

For the other side of the ledger — who just raised money — [Funding Signals API](https://apify.com/insight.solutions/funding-signals-api) reads SEC Form D filings, the same press wires and Google News into one row per funding round.

### Where the signals come from

1. **SEC filings** — direct from sec.gov, never through a proxy, with the descriptive `User-Agent` the SEC requires (`ApifyEdgarActor/1.0 (<your contact>)`) and **at most 8 requests per second** across the whole run, shared by every request (SEC allows 10).
   - A company is resolved through SEC's own `company_tickers.json` (a name, a ticker or a CIK), then its `submissions` document lists its filings.
   - **10-K: Item 3. Legal Proceedings.** **10-Q: Part II, Item 1. Legal Proceedings.** Every filing names the item twice — once in the table of contents, once as the real heading — and the occurrence with the disclosure behind it is the one read (an occurrence followed by the next item within 200 characters is the table of contents).
   - Both usually say "see Note 13" or "incorporated by reference to Note 11": **that note is read too** — or, with no number given, the note headed Legal Proceedings, Legal Matters, Litigation or Commitments and Contingencies — and only its litigation part (a contingencies note's purchase obligations, guarantees, letters of credit and tax sections are skipped).
   - `filingsPerCompany` periodic reports: the latest 10-K plus the newest 10-Qs filed after it.
   - **8-Ks** from the last `months`, found with EDGAR full-text search (`"class action" OR lawsuit OR "settlement agreement" OR subpoena OR "legal proceedings" OR "complaint was filed"`, that company's CIK, form 8-K), up to 6 documents per company. The 8-K's item sections are read without the cover page, the forward-looking-statements boilerplate, the exhibit table and the signatures; **Items 5.02 (officer changes), 5.07 (votes), 2.02 (results) and 9.01 (exhibits) are never read**, and a hit carrying only those items is not fetched. Exhibits the search finds (a settlement agreement, a press release) are read from their opening; one that restates its 8-K's matter is merged into it.
   - **Market mode**: your full-text queries over the last `marketDays`, on `forms`, up to `maxFilings` documents, each read for the section its form carries.
   - Documents above **12 MB** are skipped (a free `parse-failed` row). The captured 10-Ks and 10-Qs are 1.6–3.2 MB; only the sections above are kept and the rest is dropped at once.
2. **Press wires** — GlobeNewswire and PR Newswire keyword search, through the proxy you configure (Apify datacenter by default): `<company> class action`, `<company> lawsuit`, `<company> settlement`, first page each. A release counts when its headline or teaser names the company and is about litigation — the company's own announcement, or a plaintiffs' firm's "class action filed on behalf of investors of <Company>". Only the listing is read; release bodies, which end in media contacts, never are. Phone numbers and e-mail addresses are removed.
3. **Regulators** — read direct once per run: the SEC's, the FTC's and the CFPB's press-release RSS feeds (the SEC's with the SEC User-Agent and inside the same 8-per-second limit), and the Department of Justice's public press-release API (`justice.gov/api/v1/press_releases.json`, newest first, 50 a page, paged until it reaches past your window, at most 10 pages — 500 releases). Companies mode keeps the notices whose headline or summary names your companies; market mode keeps every notice in the window whose **headline** is enforcement (a charge, a suit, a settlement, a penalty, a guilty plea). **A notice about a person** — someone charged, sentenced or pleading guilty, with no organisation in the headline and none opening the release's first sentence — **is never a signal**, whatever company it names ("Medical Clinic Owner Pleads Guilty" is skipped; "Tyson Foods Pleads Guilty", whose first sentence names Tyson Foods Inc., is kept). A feed that cannot be read is one free `source-unavailable` row, never a failed run.

### How matters are classified, and the confidence scale

**Matters, not sentences.** A section is split at its sub-headings ("Litigation Relating to 2018 CEO Performance Award", "PFAS — California", "INVEGA SUSTENNA") and at any paragraph that opens with a date and says something was filed, brought, initiated, served or decided in a named court or by a named agency ("On October 21, 2022, a lawsuit was filed in the Delaware Court of Chancery…"). The paragraphs after it — "On July 14, 2023, the parties filed a Stipulation…" — are the same matter's history. Boilerplate ("we are subject, from time to time, to various legal proceedings…"), pointers ("see Note 13") and accounting sub-sections (accruals, insurance receivables, the note's own introduction) are not matters.

**One matter, one row.** Each matter gets a `matterKey` — court + case number when the text gives one, else court + the first date it names, else its first 120 characters normalised — and the same matter in a 10-K and its 10-Qs is one signal: the newest filing's text, every filing in `filings`.

**Types** (a matter may carry several): `lawsuit` (complaint, filed, sued, alleging), `class-action`, `securities` (10b-5, shareholder, derivative), `settlement` (settle, agreed to pay, resolution), `judgment` (verdict, jury, final judgment), `dismissal`, `appeal`, `investigation` (subpoena, inquiry, civil investigative demand, the DOJ, SEC, FTC, CFPB, state attorneys general), `regulatory` (consent order, cease-and-desist, penalty, fine), `antitrust`, `patent`, `employment`, `product-liability`, `environmental`, `arbitration`, `bankruptcy` (Chapter 11 or 7 — the company's or a counterparty's). The words of filing boilerplate — "Private Securities Litigation Reform Act", "settlement date" — never count.

**Status:** `new` — filed or announced inside your `months` window (for a 10-K or 10-Q, the matter's first date; for an 8-K, a release or a notice, the announcement itself); `resolved` — settled, dismissed or decided, with nothing still pending said after it; `ongoing` — everything else.

**Facts:** `amountUsd` is the first "$X million/billion" the matter states; `court` is the court or forum in short form (`N.D. Cal.`, `W.D. Wash.`, `Delaware Court of Chancery`, `California Superior Court, Alameda County`, `Court of Appeals, Eleventh Circuit`, `Unified Patent Court`, `JAMS`), with `jurisdiction`; `caseNumber` is the docket (`2:21-cv-01551-TSZ`, `2018-0408-KSJM`, `MDL 2873`); `counterparties` are the **organisations and agencies** the matter names other than the company — never a person.

**The confidence scale:**

| `confidence` | What it rests on | Example |
|---|---|---|
| `high` | The text states a case number, a court or an amount | "…class action … in the U.S. District Court for the Western District of Texas" |
| `medium` | A litigation type and the company, or a matter under its own filing sub-heading | "…initiated a Statement of Claim … against generic manufacturers" under "INVEGA SUSTENNA" |
| `low` | A single keyword, with no court, case, amount or second type | "…eight additional landowner plaintiffs filed a new lawsuit…" with no court named |

On the prefill's pinned filings, 108 of the 128 signals are `high` and 20 `medium`.

**Individuals are redacted, always.** In every excerpt, title and heading: a party in a caption with no corporate token (Inc, Corp, LLC, Ltd, plc, Co, Company, Group, Holdings, Trust, Fund, Partners, Bank, Insurance, Technologies, Systems, Industries, Foundation, Association, Agency, Department, Commission, Board, State of, City of, County of, People of, United States, …) becomes `[individual]` (`Smith v. Acme Corp` → `[individual] v. Acme Corp`); so do `Mr./Ms./Mrs./Dr. <Surname>`, `<First Last>, our CEO` and its kin, the name after `filed by`, `brought by`, `on behalf of`, `plaintiff`, `against`, a given name followed by a surname anywhere, and every later use of a surname already seen (`Mr. Musk` takes `Kimbal Musk` with it). `Judge <Name>`, `the Honorable <Name>` and `Hon. <Name>` become `[judge]`. `In re <Company> Securities Litigation` names a company and stays; so do law firms by firm name. Excerpts are at most 600 characters after redaction.

### Input reference

| Field | Type | Default | What it does |
|---|---|---|---|
| `mode` | select | `companies` | `companies` reads the list below; `market` reads recent filings, releases and notices for any company. |
| `companies` | string\[] | prefill: 5 companies | Names (`Tesla`), tickers (`TSLA`) or CIKs (`1318605`), up to 200. Resolved through SEC's ticker file; a name SEC does not list is still searched on the wires and in regulator notices. One filer listed twice is read once. |
| `months` | integer | 12 | 1–36. The window for 8-Ks, releases and notices, and for `status: new`. |
| `filingsPerCompany` | integer | 2 | 1–8 periodic reports: the latest 10-K plus the newest 10-Qs filed after it. |
| `includeFilings` | boolean | `true` | SEC 10-K, 10-Q and 8-K disclosures. |
| `includePressReleases` | boolean | `true` | GlobeNewswire and PR Newswire search listings. |
| `includeRegulators` | boolean | `true` | SEC, FTC and CFPB press-release feeds and the DOJ press-release API. |
| `types` | string\[] | `[]` | Return only signals carrying one of these types. Documents still come back (and bill). |
| `queries` | string\[] | `[]` | Market mode: EDGAR full-text queries. Empty: `"class action" OR "settlement agreement" OR "legal proceedings"`. |
| `forms` | string\[] | `8-K`, `10-Q`, `10-K` | Market mode: the forms searched. |
| `maxFilings` | integer | 50 | Market mode: 1–500 SEC documents read at most. |
| `marketDays` | integer | 7 | Market mode: 1–90 days back. |
| `userAgentContact` | string | — (prefilled) | **Required for SEC.** Your organisation and a reachable address (`Acme Research data@acme.com`). Empty, the shipped placeholder, or a documentation address (`example.com` and the like) stops the run before any request. |
| `maxConcurrency` | integer | 2 | 1–5 companies at once. SEC's 8-per-second limit is shared whatever this is. |
| `maxRunSecs` | integer | 240 | 30–3,600. Rows already returned are kept — and billed — when it runs out. |
| `proxyConfiguration` | object | `{ "useApifyProxy": true }` | For the press wires only. SEC and the regulator feeds always go direct. |

A run with nothing usable — no company in companies mode, every source switched off, an unknown `types` or `forms` value, an unusable `userAgentContact` — finishes **FAILED** before a single request, with a free `invalid-input` row saying why.

### Output reference

Every row has the same columns, `null` where a column does not apply, so the dataset exports as one table. `rowType` is `signal`, `document`, `company` or `diagnostic`.

**On every row:** `ok`, `rowType`, `input` (your entry, as typed), `company`, `cik`, `ticker`, `source` (`sec-10-K` · `sec-10-Q` · `sec-8-K` · `press-release` · `regulator-sec` · `regulator-ftc` · `regulator-cfpb` · `regulator-doj`), `scrapedAt`.

**Signal and document rows:** `sourceTitle`, `url`, `date` (filing date, or the release's or notice's publication time), `periodEnd` (10-K and 10-Q), `form`, `accessionNumber`.

**Signal rows** (paid): `types[]`, `status`, `title` (generated, or the headline), `heading` (the filing's own sub-heading for the matter), `excerpt` (redacted, ≤ 600 characters), `amountUsd`, `court`, `caseNumber`, `counterparties[]` (organisations and agencies only), `jurisdiction`, `matterKey`, `filings[]` (every accession that describes the matter), `confidence`.

**Document rows** (paid): `signalCount`, `sectionChars`, `section`.

**Company rows** (free): `matchedOn`, `documentsRead` (per source), `signalsByType`, `signals`, `unresolved` (why the entry is not an SEC filer).

**Diagnostic rows** (free): `errorType`, `error`, and `url` where one applies.

| `errorType` | Meaning |
|---|---|
| `invalid-input` | The input cannot be used: see *Input reference*. The run is then FAILED. |
| `unresolved` | The entry is not a name, ticker or CIK in SEC's ticker file (a private or foreign company), or SEC has no filing list for it. |
| `source-unavailable` | A filing that is not on sec.gov, a wire search or a regulator feed that could not be read, or SEC refusing this run's User-Agent. |
| `rate-limited` | SEC refused the run for its request rate (SEC's "Request Rate Threshold Exceeded" page). No further SEC request is sent in that run. |
| `timeout` | The run's `maxRunSecs` ran out before something was reached. Rows already returned are kept. |
| `parse-failed` | A document above 12 MB, or a 10-K or 10-Q in which no Legal Proceedings item and no litigation note were found. |
| `internal` | This Actor's own error. The run is then FAILED. |

### Pricing

| Event | What it is | FREE | BRONZE | SILVER | GOLD |
|---|---|---|---|---|---|
| `actor-start` | Once per run, only after the run has returned a paid row | $0.001 | $0.001 | $0.001 | $0.001 |
| **`signal`** | One legal matter in one filing, release or notice | **$0.005** | **$0.005** | **$0.004** | **$0.003** |
| `document` | One filing, release or notice read and returned | $0.001 | $0.001 | $0.001 | $0.001 |

**$5.00 per 1,000 litigation signals**, plus $1.00 per 1,000 documents read.

| Run | Cost |
|---|---|
| The prefill as the offline test suite runs it — 6 documents, 128 signals | **$0.647** |
| One company with a quiet docket: a 10-K and a 10-Q with 2 matters, no 8-K, no release | **$0.013** |
| A watchlist of 20 at ≈ 10 matters and ≈ 4 documents each | **≈ $1.08** |
| The same at GOLD | **≈ $0.68** |
| Market mode, 50 8-Ks of which 15 carry a matter | **$0.126** |

Charging is charge-after-push: rows are in your dataset before the event is recorded. A document is delivered **whole or not at all** — its document row and all of its signal rows are checked against `ACTOR_MAX_TOTAL_CHARGE_USD` together — and the run stops reading when the next document would not fit, finishing SUCCEEDED and saying so. Never charged: company rows, diagnostic rows, signals outside your `types` filter, documents that could not be read, and a run that returns nothing (start fee included). A run that read documents and found no litigation is SUCCEEDED — "Read N documents, no litigation signals found" — and its document rows bill.

### Limits

- **Not court records.** This Actor reads what companies disclose to the SEC, what is announced on two press wires, and what four federal regulators publish. A suit a company does not consider material, a state-court case nobody announces, and court dockets themselves are not seen.
- **Disclosures lag.** A 10-Q describes litigation as of its quarter end and is filed weeks later; a 10-K once a year. 8-Ks, releases and notices are the fast sources, and `months` bounds how far back they are read.
- **Individuals are redacted by design**, not by accident: an excerpt may read "a lawsuit filed by \[individual] against the Company". A company name built from a person's name (a family firm without a corporate suffix) can be redacted too; organisation names with a suffix — and law firms by firm name — are kept.
- **Splitting is heuristic.** Matters are split at sub-headings and at dated filings in a named forum. A filing that describes two disputes in one paragraph yields one signal; one that tells one dispute's history under several sub-headings can yield more than one.
- **The amount is the first stated.** `amountUsd` is the first "$X million/billion" in the matter — a settlement, a verdict, a reserve or a claimed sum. Read it with the excerpt.
- **Wires: listings only, first page.** Three searches per wire per company (`class action`, `lawsuit`, `settlement`); releases further down the results, and anything said only in a release body, are not seen.
- **Regulators: the current feed.** The SEC (25), FTC (10) and CFPB (about 25) feeds carry only their most recent releases; older notices inside `months` that have scrolled off a feed are not seen. The DOJ API is paged back through your window, up to 500 releases. A feed that is unreachable is reported, free, and the rest of the run carries on.
- **SEC limits:** at most 8 requests per second for the whole run; up to 6 8-K documents per company; documents above 12 MB are skipped; only filings listed in a filer's recent `submissions` (about the last thousand) are considered.
- **English, US filers.** The lexicon is English and the filing structure is the US one (10-K, 10-Q, 8-K); 20-F and 6-K filers are not read in companies mode.
- Not affiliated with the SEC, the FTC, the CFPB, the Department of Justice, GlobeNewswire, PR Newswire, or any company named in the output. Names are used descriptively, to say what was read and what was found.

### Use it from an AI agent, or from code

One JSON object in, one flat array out — the shape agent runtimes want. The Actor runs with **limited permissions** and **pay-per-event** pricing and never enters Standby, so it works over the Apify MCP server (`mcp.apify.com`) and with agentic (x402) payments. The **Integrations** tab pushes results to Slack, a webhook, Zapier, Make, Google Sheets, Snowflake or BigQuery, and Apify Schedules run it unattended — weekly with `months: 1`, `status: new` is what changed.

```bash
curl -X POST "https://api.apify.com/v2/acts/insight.solutions~litigation-signals-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"companies":["Tesla","JNJ"],"filingsPerCompany":2,"userAgentContact":"Acme Research data@acme.com"}'
```

```python
## pip install apify-client
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("insight.solutions/litigation-signals-api").call(run_input={
    "companies": ["Tesla", "Boeing", "Johnson & Johnson"],
    "filingsPerCompany": 3,
    "userAgentContact": "Acme Research data@acme.com",
})

for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    if row["rowType"] == "signal" and row["confidence"] == "high":
        print(row["company"], row["date"], row["title"], row["status"], row["amountUsd"], row["url"], sep=" | ")
```

**Building an app with Lovable?** Apify's Lovable connector runs any Actor from inside a Lovable project with your Apify token. Connect Apify in Lovable once, then ask it: *"Use Apify to run insight.solutions/litigation-signals-api on my target accounts and build a legal-risk dashboard around the results."* A run of a handful of companies finishes well inside Lovable's 300-second synchronous limit at the default settings, and every result is one JSON object per row, so the generated app needs no extra parsing. Usage bills to the Apify account whose token is connected.

### FAQ

**Why does a company I know is in court show few signals?**
It discloses only what it considers material, and often in a few sentences. Raise `filingsPerCompany` to read more 10-Qs, and keep the wires and regulators on: the fast sources catch what the annual report summarises.

**Why are some matters `ongoing` that settled years ago?**
The filing still describes them — often because an appeal, a fee dispute or a claims process is still open — and the status follows the last thing the text says. "The Court approved the settlement … the appeal is pending" is `ongoing`.

**What does "\[individual]" stand for?**
A person — a plaintiff, an executive, an attorney, a relator, a signatory. This Actor never returns people's names; `[judge]` stands for a judge. The company, the court, the agencies and the organisations on the other side are kept.

**Is a press release from a plaintiffs' firm a lawsuit?**
It says one was filed (or is being investigated) on behalf of a company's investors; `status: new` and the court, when the teaser names one, say how far it has gone. It is a signal about the company, not about the firm.

**Why do I have to give a contact for the SEC?**
The SEC requires every automated client to declare who it is and how to reach it, and refuses requests without that. It is not an API key and costs nothing; it is your name on your traffic.

**Can it read a private company?**
Its SEC filings, no — it has none. Its name is still searched on the press wires and in the regulator notices, and the company row says it did not resolve.

**Can I get only what is new since last week?**
Schedule it with `months: 1` and filter on `status: new`, or use market mode with `marketDays: 7`.

### Legal and data-protection notes

- **Public sources only.** SEC EDGAR filings, EDGAR full-text search, SEC's ticker file, the SEC's, FTC's and CFPB's press-release feeds, the DOJ's public press-release API, and two press wires' public search pages — all served to any anonymous visitor. It never logs in, never supplies cookies or session tokens, and never accepts credentials. SEC is accessed under its published fair-access rules: a declared User-Agent and at most 8 requests per second.
- **Companies, not people.** Rows describe companies, courts, agencies and organisations. People named in the source text are replaced before a row is written; executives named in 8-K Item 5.02 are never read; signature blocks, cover pages and release media contacts are dropped; `counterparties` holds organisations only. Court records about individuals are not a source.
- **No profiling of individuals.** There is no person search and no input that names a person; the Actor cannot be pointed at an individual.
- **We are not a data broker.** This Actor holds no database and sells no list. It reads public disclosures on demand and writes the result to *your* dataset on *your* account.
- **Not legal advice.** A signal is what a company or regulator published, as of its date; it is not a finding about the merits, the exposure or the outcome. Check the linked document before relying on it.
- **Not affiliated with, endorsed by or sponsored by** the SEC, the FTC, the CFPB, the Department of Justice, GlobeNewswire, PR Newswire, or any company named. Names and trademarks are used descriptively.
- **You are responsible for how you use the output**, including any outreach to the companies it names, under the GDPR, the CCPA, ePrivacy, CAN-SPAM, bar advertising and solicitation rules, and other applicable law.

### Our other Actors

Every Insight Solutions Actor is pay-per-result with no browser, no login and no API key, and every one of them returns free diagnostic rows instead of billing for failures. Prices are per 1,000 results.

**Video, audio & social**

- [YouTube Transcript API](https://apify.com/insight.solutions/youtube-transcript-api) — captions as timed segments, text, SRT or VTT, with language fallback and translation.
- [YouTube Comments API](https://apify.com/insight.solutions/youtube-comments-api) — comments and replies with likes, pinned and hearted flags, newest or top sort.
- [YouTube Channel API](https://apify.com/insight.solutions/youtube-channel-api) — a channel's videos, Shorts and live streams, plus YouTube search.
- [Podcast Search, Episodes & Charts API](https://apify.com/insight.solutions/podcast-api) — Apple Podcasts search, charts and full episode feeds.
- [Bluesky Scraper](https://apify.com/insight.solutions/bluesky-scraper) — profiles, posts, followers and follows from the public AT Protocol API.
- [Telegram Channel Scraper](https://apify.com/insight.solutions/telegram-channel-scraper) — posts, views and channel stats from public Telegram channels.
- [Substack Scraper](https://apify.com/insight.solutions/substack-scraper) — posts with full free text, comments and publication profiles.
- [Sponsor & Advertiser Finder — YouTube, Podcasts & Newsletters](https://apify.com/insight.solutions/sponsorship-intelligence-api) — which brands sponsor which YouTube channels, podcasts and Substack newsletters, with promo codes, offers and sponsor links, company-level only.
- [Google Ads Transparency API — Advertisers, Ads & Creatives](https://apify.com/insight.solutions/google-ads-transparency-api) — every ad a verified advertiser runs on Google, from the Ads Transparency Center, by brand name, AR id or domain: format, first and last shown, days shown and preview links, individuals excluded.
- [Hacker News API](https://apify.com/insight.solutions/hacker-news-api) — stories, comments, users, front page and a structured "Who is hiring?" parser from the official HN APIs.
- [GitHub Repos, Trending & Releases API](https://apify.com/insight.solutions/github-repos-api) — repository facts, trending lists, releases and search, no token needed for small runs.
- [Discourse Forum API](https://apify.com/insight.solutions/discourse-forum-api) — topics, posts and categories from any Discourse community via its own JSON endpoints, usernames only.

**News, documents & the web**

- [Google News Search, Topics & Real Article URLs](https://apify.com/insight.solutions/google-news-api) — news search and topic feeds with the publisher's real URL decoded.
- [Website to Markdown — Content Extractor for LLMs & RAG](https://apify.com/insight.solutions/website-content-extractor) — any site as clean Markdown, text and heading-aware chunks.
- [WordPress Posts & Pages API](https://apify.com/insight.solutions/wordpress-posts-api) — posts and pages from any WordPress site as clean text or Markdown, with categories, tags and images.
- [Website Metadata API](https://apify.com/insight.solutions/website-metadata-api) — any URL's meta tags, Open Graph, Twitter cards, hreflang, feeds, JSON-LD and microdata, with normalised Product, Article, Event and FAQ entities.
- [Subdomain Finder API](https://apify.com/insight.solutions/subdomain-finder-api) — every subdomain of a domain from certificate-transparency logs, resolved over DNS, with an optional live HTTP check.
- [Internet Archive API](https://apify.com/insight.solutions/internet-archive-api) — archive.org search, item metadata, files and reviews.
- [Wayback Machine Toolkit](https://apify.com/insight.solutions/wayback-toolkit) — archived URL inventories, snapshots and text diffs between dates.
- [Website Technology Detector](https://apify.com/insight.solutions/website-tech-detector) — the tech stack behind any site, with the evidence for each detection.
- [Domain Intelligence API](https://apify.com/insight.solutions/domain-intelligence-api) — DNS, RDAP registration, TLS certificate and HTTP facts in one row per domain.
- [SEO Page Audit](https://apify.com/insight.solutions/seo-page-audit) — sitemap crawl with on-page checks, structured data and broken-link reports.
- [Keyword Suggestions API](https://apify.com/insight.solutions/keyword-suggestions-api) — Google, YouTube, Bing, Amazon and eBay autocomplete with alphabet and question expansions.
- [Website Contact Extractor](https://apify.com/insight.solutions/website-contact-extractor) — emails, phone numbers and social profiles from any list of websites.
- [Company Contact Finder](https://apify.com/insight.solutions/company-contact-finder) — company names in, each one's verified website with its business emails, phone numbers and social profiles out.
- [Web Search Results API](https://apify.com/insight.solutions/web-search-api) — Bing and DuckDuckGo organic results with snippets, no key, no browser.
- [Company Enrichment API](https://apify.com/insight.solutions/company-enrichment-api) — a domain in, a company profile out: firmographics, contacts, tech stack, DNS and hiring signal.
- [Company Dossier API](https://apify.com/insight.solutions/company-dossier-api) — one company in, twelve sections out: profile, tech, contacts, DNS, open roles, news, SEC filings, federal awards, recalls, YC batch and apps.
- [Press Releases API](https://apify.com/insight.solutions/press-releases-api) — GlobeNewswire and PR Newswire releases plus any newsroom feed, by keyword, company, ticker or subject.
- [Federal Register API](https://apify.com/insight.solutions/federal-register-api) — rules, proposed rules, notices and the Public Inspection desk with dockets, comment deadlines and CFR references.
- [Academic Papers Search API](https://apify.com/insight.solutions/academic-papers-api) — OpenAlex, Crossref, arXiv and PubMed in one row per paper: abstract, citations, open-access PDF, authors and venue.
- [RSS & Atom Feed Monitor](https://apify.com/insight.solutions/rss-feed-monitor) — any RSS, Atom or JSON feed (or an OPML file) in, only the new items out, with keyword filters and a webhook.
- [Website Change Monitor](https://apify.com/insight.solutions/website-change-monitor) — watch any pages, diff the text between runs, get change rows with added/removed lines, keyword alerts and a webhook.
- [Wikipedia & Wikidata API](https://apify.com/insight.solutions/wikipedia-api) — article text, search, daily pageviews and Wikidata entity facts, any language edition.

**Business, finance & jobs**

- [Congress & Insider Trades API](https://apify.com/insight.solutions/congress-insider-trades-api) — STOCK Act periodic transaction reports and SEC Form 4 insider trades in one schema.
- [Federal Contracts, Grants & Lobbying API](https://apify.com/insight.solutions/federal-contracts-grants-api) — SAM.gov opportunities, USAspending awards, Grants.gov notices and Senate lobbying filings in one schema.
- [SEC EDGAR API](https://apify.com/insight.solutions/sec-edgar-api) — filings, XBRL financials and full-text search by ticker or CIK.
- [Funding Signals API — Rounds from SEC Form D, Wires & News](https://apify.com/insight.solutions/funding-signals-api) — who just raised money: one row per funding round from SEC Form D filings, press wires and Google News, with amount, round, investors, industry and state, company-level only.
- [Clinical Trials & FDA API](https://apify.com/insight.solutions/clinical-trials-fda-api) — ClinicalTrials.gov studies plus openFDA recalls, labels, approvals, 510(k)s and adverse-event reports.
- [Product & Vehicle Recalls API](https://apify.com/insight.solutions/product-recalls-api) — CPSC, NHTSA, FDA and USDA recalls, vehicle complaints and ratings, plus a VIN decoder.
- [Y Combinator Companies, Batches & Founders](https://apify.com/insight.solutions/yc-companies-directory) — the YC directory with founders and social links, filterable by batch, industry and hiring status.
- [Career Site Jobs API](https://apify.com/insight.solutions/ats-jobs-api) — jobs straight from Greenhouse, Lever, Ashby, Workable and 10+ other ATS career sites.
- [Workday Jobs API](https://apify.com/insight.solutions/workday-jobs-api) — every posting on any Workday career site, with facets, search, posted dates and full descriptions.
- [New Job Postings Monitor](https://apify.com/insight.solutions/job-postings-monitor) — new, closed and changed postings on the career sites you watch.
- [Hiring Signals API — Open Roles & Hiring Surge by Company](https://apify.com/insight.solutions/hiring-signals-api) — one row per company per run: open roles, what opened and closed, department and seniority breakdowns, and a hiring-surge flag.
- [Careers Page Jobs API — Open Roles from Any Company's Site](https://apify.com/insight.solutions/careers-page-jobs-api) — open roles from any company's own careers site: domain in, the platform recognised (Eightfold, Phenom, Jibe, iCIMS, Google, Amazon, 14 ATSs) or the site's structured data read, one row per job.
- [Remote Jobs API](https://apify.com/insight.solutions/remote-jobs-api) — RemoteOK, Remotive, We Work Remotely, Himalayas, Jobicy and more in one schema, deduplicated.
- [Shopify Products API](https://apify.com/insight.solutions/shopify-products-api) — any Shopify store's catalogue, variants, prices and stock signals.
- [WooCommerce Products API](https://apify.com/insight.solutions/woocommerce-products-api) — any WooCommerce store's catalogue, prices, variants and stock through its public Store API.
- [Price Tracker API — Prices, Stock & Changes from Any Retailer](https://apify.com/insight.solutions/price-tracker-api) — price, stock, list price and discount from any product URL, read from the page's structured data, with price-drop and restock rows between runs.
- [Shopify App Store API](https://apify.com/insight.solutions/shopify-app-store-api) — Shopify App Store listings by category, collection or developer: pricing plans, ratings and merchant reviews.
- [Luma Events API](https://apify.com/insight.solutions/luma-events-api) — upcoming Luma events by city, category or calendar: dates, venue, price, capacity and organiser calendar, no host names.
- [Shopify Store Monitor](https://apify.com/insight.solutions/shopify-store-monitor) — price drops, sales, restocks, sell-outs and new products on any Shopify store, one row per change.
- [Shopify Store Finder — Discover & Verify Stores by Niche](https://apify.com/insight.solutions/shopify-store-finder) — Shopify stores by niche and country, each verified on its own storefront, with product count, currency, country, price range and sample products.
- [Public Tenders API](https://apify.com/insight.solutions/public-tenders-api) — EU TED, UK Find a Tender and Contracts Finder notices by keyword, CPV code, country, stage and deadline.
- [Nonprofit & IRS 990 Lookup API](https://apify.com/insight.solutions/nonprofit-990-api) — search US nonprofits and get EIN, NTEE code and multi-year Form 990 financials.
- [OpenStreetMap Places API](https://apify.com/insight.solutions/osm-places-api) — businesses and points of interest by category and area from OpenStreetMap: name, address, coordinates, website, phone, opening hours.

**Apps & games**

- [App Store & Google Play Reviews API](https://apify.com/insight.solutions/app-reviews-api) — reviews from both stores with ratings, versions and developer replies.
- [App Store Top Charts & App Search API](https://apify.com/insight.solutions/app-charts-api) — Apple top charts by country and genre, plus app search and details.
- [App Store Keyword Rank Tracker](https://apify.com/insight.solutions/app-store-keyword-rank-tracker) — where any app ranks for any keyword on the App Store and Google Play, with rank changes and ASO suggestions.
- [Steam Reviews API](https://apify.com/insight.solutions/steam-reviews-api) — Steam reviews with playtime, helpfulness and game details.
- [Steam Game Data API](https://apify.com/insight.solutions/steam-store-stats-api) — prices, tags, review scores, live player counts and top charts.
- [Sports Scores & Schedules API](https://apify.com/insight.solutions/sports-scores-api) — scores, schedules, standings, teams and headlines for the NFL, NBA, MLB, NHL, soccer and more, no key.
- [App Store Monitor](https://apify.com/insight.solutions/app-store-monitor) — App Store and Google Play listings watched between runs: new versions with release notes, price, rating and listing changes, one row per change.

# Actor input Schema

## `mode` (type: `string`):

**companies** reads the companies in the list below: their latest 10-K and 10-Qs, their litigation 8-Ks, press-wire releases and regulator notices that name them. **market** needs no list: it runs EDGAR full-text searches over recent filings (see *Market mode*) and reads the press wires and regulator feeds for new litigation of any company.

## `companies` (type: `array`):

Public companies, one per line: a name (`Tesla`, `Johnson & Johnson`), a ticker (`TSLA`) or an SEC CIK (`1318605`). A name or ticker is resolved through SEC's own ticker file; one that SEC does not list (a private company) is still searched on the press wires and in regulator notices by the name as typed. A company listed twice — by name and by ticker — is read once.

## `months` (type: `integer`):

How far back 8-Ks, press releases and regulator notices are read, and what counts as `new` in a 10-K or 10-Q (a matter first filed inside this window). 1–36.

## `filingsPerCompany` (type: `integer`):

How many periodic reports are read per company: the latest 10-K, plus the newest 10-Qs filed after it, up to this many in all (newest first). The same matter in a 10-K and its 10-Qs is one signal, carrying the newest text and every filing it appears in.

## `includeFilings` (type: `boolean`):

10-K Item 3 and 10-Q Part II Item 1 (Legal Proceedings) with the litigation note they point to, and 8-Ks found by EDGAR full-text search. Direct from sec.gov, never through a proxy.

## `includePressReleases` (type: `boolean`):

GlobeNewswire and PR Newswire keyword search — `<company> class action`, `<company> lawsuit`, `<company> settlement` — keeping releases whose headline or teaser names the company and is about litigation, including plaintiffs' firms announcing class actions on behalf of a company's investors. Only the listing is read, never the release body.

## `includeRegulators` (type: `boolean`):

The SEC's, the FTC's and the CFPB's press-release feeds and the Department of Justice's press-release API (paged back through the look-back window, at most 10 pages of 50), filtered to notices that name your companies (market mode: every notice whose headline is enforcement, in the window). Notices about an individual — a person charged, sentenced or pleading — are never returned.

## `types` (type: `array`):

Optional filter: return only signals carrying at least one of these types. Documents are still read and returned, so coverage stays visible. Leave empty for every type.

## `queries` (type: `array`):

EDGAR full-text search phrases for market mode, one per line, in EDGAR's syntax (quotes for a phrase, `OR` between alternatives). Empty: `"class action" OR "settlement agreement" OR "legal proceedings"`.

## `forms` (type: `array`):

Which filings market mode searches: `8-K`, `10-Q`, `10-K`.

## `maxFilings` (type: `integer`):

How many SEC documents market mode reads, at most (each read document is one `document` row). 1–500.

## `marketDays` (type: `integer`):

Market mode's window, in days, for full-text search, press releases and regulator notices. 1–90.

## `userAgentContact` (type: `string`):

Your organisation and a working contact address, e.g. 'Acme Research data@acme.com'. The SEC requires every automated request to declare who is making it and how to reach them (sec.gov/os/accessing-edgar-data), and answers HTTP 403 without it. The pre-filled value is the publisher's own contact so the example run works out of the box; please replace it with yours for real use, so the SEC reaches you, not us, about your traffic. An empty value is not replaced by a shared identity: the run stops and says so.

## `maxConcurrency` (type: `integer`):

How many companies are read at once. Every SEC request in the run shares one limit of 8 per second whatever this is set to.

## `maxRunSecs` (type: `integer`):

Wall-clock budget for the whole run. When it is reached the Actor stops reading, keeps — and bills — every row it already wrote, and files a free `timeout` row for what it never reached.

## `proxyConfiguration` (type: `object`):

Used for the GlobeNewswire and PR Newswire searches only. SEC and the regulator feeds are always read directly, never through a proxy: SEC counts requests per requester, and a shared exit is the worst address to be counted against.

## Actor input object example

```json
{
  "mode": "companies",
  "companies": [
    "Tesla",
    "JNJ",
    "1679788"
  ],
  "months": 12,
  "filingsPerCompany": 2,
  "includeFilings": true,
  "includePressReleases": true,
  "includeRegulators": true,
  "types": [],
  "queries": [
    "\"securities class action\"",
    "\"civil investigative demand\""
  ],
  "forms": [
    "8-K",
    "10-Q",
    "10-K"
  ],
  "maxFilings": 50,
  "marketDays": 7,
  "userAgentContact": "Insight Solutions austinhughhillis@gmail.com",
  "maxConcurrency": 2,
  "maxRunSecs": 240,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Litigation signals from SEC filings, press wires and regulator notices, in one schema, plus document, company and diagnostic rows. Delivered as JSON items in the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "companies",
    "companies": [
        "Tesla",
        "Boeing",
        "Johnson & Johnson",
        "3M",
        "Coinbase"
    ],
    "months": 12,
    "filingsPerCompany": 2,
    "includeFilings": true,
    "includePressReleases": true,
    "includeRegulators": true,
    "types": [],
    "userAgentContact": "Insight Solutions austinhughhillis@gmail.com",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("insight.solutions/litigation-signals-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "companies",
    "companies": [
        "Tesla",
        "Boeing",
        "Johnson & Johnson",
        "3M",
        "Coinbase",
    ],
    "months": 12,
    "filingsPerCompany": 2,
    "includeFilings": True,
    "includePressReleases": True,
    "includeRegulators": True,
    "types": [],
    "userAgentContact": "Insight Solutions austinhughhillis@gmail.com",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("insight.solutions/litigation-signals-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "companies",
  "companies": [
    "Tesla",
    "Boeing",
    "Johnson & Johnson",
    "3M",
    "Coinbase"
  ],
  "months": 12,
  "filingsPerCompany": 2,
  "includeFilings": true,
  "includePressReleases": true,
  "includeRegulators": true,
  "types": [],
  "userAgentContact": "Insight Solutions austinhughhillis@gmail.com",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call insight.solutions/litigation-signals-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,insight.solutions/litigation-signals-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9VlAEi1MjnyEVBCaY/builds/xnRNewGbZaG2usbcj/openapi.json
