The Department of Justice Antitrust Division is the federal government's primary enforcer of competition law—responsible for reviewing thousands of mergers each year, prosecuting price-fixing cartels with criminal fines and prison sentences, and litigating some of the most economically consequential cases in the federal courts. Its enforcement actions, consent decrees, and court filings are largely public and form a detailed record of how concentrated markets become more concentrated, how cartels form and collapse, and how the government decides when to intervene.
The Antitrust Division and its statutory authority
The Antitrust Division was established within the Department of Justice in 1933, though the core statutes it enforces predate it by decades. The Sherman Antitrust Act of 1890—the first major federal competition statute—prohibits contracts, combinations, and conspiracies in restraint of trade (Section 1) and monopolization or attempted monopolization of any market (Section 2). The Clayton Act of 1914 added specific prohibitions on mergers and acquisitions whose effect “may be substantially to lessen competition, or to tend to create a monopoly” (Section 7), on price discrimination that injures competition (Section 2, as amended by the Robinson-Patman Act), and on certain exclusive dealing arrangements and tying agreements (Sections 3 and 7).
The most practically significant addition came in 1976: the Hart-Scott-Rodino Antitrust Improvements Act (HSR Act) created the pre-merger notification system that now governs virtually all large transactions in the US economy. Before HSR, the government could only challenge mergers after the fact—sometimes years after the deal closed, when unwinding the combined entity had become enormously disruptive and expensive. HSR inverted the process: large transactions must now be reported to the DOJ and FTC before closing, and the parties must observe a waiting period during which the agencies can investigate.
The Antitrust Division's annual budget is approximately $400 million, and it employs roughly 800 attorneys alongside economists, paralegals, and investigative staff. Enforcement authority is shared with the Federal Trade Commission, which has parallel civil merger review authority under the FTC Act and Clayton Act. The critical institutional difference: the DOJ has criminal enforcement authority under the Sherman Act, including the power to obtain grand jury subpoenas and to prosecute individuals and corporations for felony price-fixing and bid-rigging. The FTC has no criminal authority; it can only impose civil penalties and equitable relief. This makes the DOJ the only agency capable of sending executives to federal prison for antitrust violations.
HSR Act pre-merger notification
The Hart-Scott-Rodino pre-merger notification system requires any transaction that crosses the applicable size thresholds to be reported to both the DOJ and FTC before closing. The threshold system has two prongs: a size-of-transaction test and a size-of-person test. For 2024, the size-of-transaction threshold is $119.5 million— any acquisition of voting securities, assets, or non-corporate interests valued above this amount triggers the filing requirement if the parties also meet the size-of-person test (generally requiring that one party have net sales or total assets above $23.9 million and the other above $239 million, or that either party exceed $478.5 million). Thresholds are adjusted annually based on gross national product.
The filing itself—submitted on HSR Form 4A (for the acquiring person) and HSR Form 4B (for the acquired person)—is a detailed document that includes financial data about both parties, a description of the transaction, industry revenue data organized by North American Industry Classification System (NAICS) code, and in some cases documents from the parties' files describing their competitive situation and the rationale for the deal. The HSR filing is treated as strictly confidential: the substance of what was filed cannot be disclosed by the agencies, and even the fact that a filing was made is not publicly announced. The only public signal that an HSR filing exists is when the parties themselves disclose it, which public companies are required to do in SEC filings.
The HSR Act triggers a 30-day initial waiting period—extended in 2023 from the prior system where early termination of the waiting period was routinely granted. During this period the agencies review the filing and decide whether to issue a Second Request or grant early termination. DOJ and FTC receive approximately 1,500 to 2,000 HSR filings per year depending on M&A market conditions. Roughly 3% receive a Second Request. The vast majority of reviewed transactions are cleared after the initial waiting period with no action, either because they present no competitive concerns or because the agencies determine the concerns do not rise to the level warranting a challenge. Parties who fail to file an HSR notification when required face civil penalties of up to $51,744 per day for each day of noncompliance— a penalty that has been imposed in cases where foreign acquirers failed to recognize the US nexus of a transaction.
The DOJ publishes the HSR Annual Report, which provides aggregate statistics on filings received, Second Requests issued, investigations opened, consent decrees entered, and litigation commenced. Individual HSR filings remain confidential, but the aggregate report allows year-over-year tracking of enforcement intensity. Filing volume tracks M&A market activity broadly: filings peaked in 2021 at approximately 3,500 during the pandemic-era M&A boom before declining as interest rates rose through 2022 and 2023.
The merger review process: Phase 1 to litigation
Merger review proceeds through a structured sequence. In Phase 1 (the initial 30-day waiting period), staff economists and attorneys analyze the HSR filing, publicly available information about the markets and parties, and any third-party input received from competitors, customers, or suppliers who contact the reviewing agency. If the transaction raises no significant competitive concerns, the parties receive clearance—implicitly (by waiting period expiry) or explicitly (early termination, though this is less routinely granted post-2023 reform)—and may close.
If Phase 1 review surfaces competitive concerns, the reviewing agency issues a Second Request—a massive document and data production demand that can require the parties to produce millions of documents, structured data from financial and operational systems, and detailed market analyses. Second Requests typically demand documents from specific custodians (usually senior executives and key commercial personnel) over a multi-year period, along with data files covering sales by product, customer, and geography. Complying with a Second Request costs large companies tens of millions of dollars and takes three to nine months. The waiting period is extended until the parties certify substantial compliance, after which a new waiting period (typically 30 days) begins during which the agency conducts its full Phase 2 investigation.
Phase 2 involves depositions of company witnesses, third-party subpoenas to customers and competitors, and economic analysis of market definition, competitive effects, barriers to entry, and efficiencies claimed by the merging parties. If the agency concludes the transaction would substantially lessen competition, it has two paths: negotiate a consent decree with behavioral or structural remedies (typically requiring divestitures of specific business units or product lines to a buyer approved by the agency), or file a civil complaint in federal district court to block the transaction.
High-profile DOJ merger challenges illustrate the range of outcomes. In 2011, DOJ challenged Google's proposed acquisition of ITA Software, settling with a consent decree requiring Google to make ITA's flight data available to competing travel search sites on non-discriminatory terms. In 2018, DOJ challenged AT&T's acquisition of Time Warner—a vertical merger between a distributor and a content company—arguing that the combined firm would raise programming costs for rival distributors. DOJ lost at trial in June 2018 in a decision that was widely read as limiting vertical merger theory. In 2024, DOJ challenged UnitedHealth Group's proposed acquisition of Change Healthcare, arguing that the combination of the largest US health insurer with the dominant health insurance claims processing company would give UnitedHealth access to competitively sensitive data about rivals. The district court blocked the merger in September 2024. Also in 2024, the DOJ blocked JetBlue's proposed acquisition of Spirit Airlines, finding that the elimination of Spirit as the leading ultra-low-cost carrier would raise fares on routes where Spirit competed with the major legacy carriers.
The 2023 Merger Guidelines and HHI analysis
The Horizontal Merger Guidelines, jointly issued by the DOJ and FTC, are the agencies' public statement of how they analyze mergers for competitive harm. The original guidelines were issued in 1968, revised in 1982 and 1984 under Reagan, significantly updated in 1992 and again in 1997 (to add the Efficiencies section), and substantially overhauled in 2010 to reflect economic learning from the prior two decades. In 2023, the Biden-era DOJ and FTC issued new Merger Guidelines that expanded the analytical framework and expressed a more skeptical posture toward mergers than the 2010 version.
The Herfindahl-Hirschman Index (HHI) remains the primary quantitative tool for market concentration analysis. The HHI is calculated as the sum of the squared market shares of all firms in a market. A market with one firm has an HHI of 10,000 (100 squared); a market with ten equal-sized firms has an HHI of 1,000 (10 times 10 squared). Under the 2023 Merger Guidelines, markets with an HHI above 1,800 are considered concentrated; above 2,500, highly concentrated. A merger that increases the HHI by more than 200 points in a concentrated market (HHI above 1,800) raises a presumption of competitive harm. The 2010 Guidelines used a threshold of 2,500 for “highly concentrated;” the 2023 Guidelines lowered the concentrated market threshold to 1,800 and the presumptive harm delta to 100 points in highly concentrated markets, reflecting the agencies' view that concentration concerns warranted earlier intervention.
The 2023 guidelines also articulated concerns about mergers that eliminate a “maverick” competitor (one whose aggressive pricing or innovation disciplines the rest of the market), mergers involving multi-sided platforms, mergers that create concerns in labor markets (where the combined firm becomes a dominant employer in a geographic area, suppressing wages), and mergers that are part of a pattern of serial acquisitions by which a firm rolls up market share through many individually small transactions. The labor market concentration concern was new: the 2023 Guidelines explicitly stated that antitrust analysis applies to markets for workers, not just markets for products.
The academic literature has documented rising concentration across much of the US economy. Grullon, Larkin, and Michaely (2019, “Are US Industries Becoming More Concentrated?”) found that approximately 75% of US industries showed higher concentration in 2012 than they had 20 years earlier, based on Compustat data on revenues and profits by four-digit SIC code. Industries showing the most dramatic concentration increases included banking, airlines, hospitals, pharmaceuticals, and telecom. Whether rising concentration reflects efficient consolidation, anticompetitive mergers, or the natural dynamics of winner-take-most technology markets is a central empirical debate in antitrust economics.
Criminal cartel enforcement and the leniency program
The Antitrust Division's criminal enforcement program targets hard-core cartel conduct: price-fixing, bid-rigging, and market allocation among competitors. These are per se illegal under Sherman Act Section 1—there is no balancing of competitive effects; proof of the agreement itself is sufficient for liability. Criminal Sherman Act violations are felonies. Corporations face fines of up to $100 million per violation, or up to twice the gain from the offense or twice the loss to victims if greater. Individual executives face fines of up to $1 million and prison sentences of up to 10 years per count.
The most significant enforcement tool in the criminal cartel program is the Corporate Leniency Policy, adopted in 1993 and revised periodically since. Under the leniency program, the first company in a cartel to report its participation to the Antitrust Division and cooperate fully with the investigation receives automatic leniency: no criminal fines and no criminal prosecution of cooperating executives. There is no discretion; if the applicant meets the criteria (first in, self-reporting before an investigation has begun, and full cooperation including producing documents and making witnesses available), leniency is guaranteed. Subsequent applicants may receive negotiated reductions in fines but not automatic immunity.
The leniency program is widely credited as the most powerful cartel detection mechanism in modern antitrust enforcement globally— over 50 countries have adopted similar programs. By creating a race to self-report, it destabilizes cartels from within: each cartel member knows that if any co-conspirator reports first, the others face full criminal exposure. The cartel cannot trust its partners, which shortens cartel duration and makes new cartels harder to form. The Antitrust Division does not publicly disclose leniency applications or report the number of pending applications, but has stated that the program generates the substantial majority of its corporate investigations.
The auto parts cartel of 2011–2016 represents the largest criminal cartel prosecution in DOJ history. Over the course of five years, the Division charged more than 50 companies and 40 individuals with price-fixing and bid-rigging in the supply of automotive parts to major US and foreign automobile manufacturers. Total corporate fines exceeded $2.9 billion. The affected components included wire harnesses (the largest single category), bearings, anti-vibration rubber parts, instrument panel clusters, heater control panels, and spark plugs. Nearly all of the charging companies were Japanese, South Korean, or German suppliers. Many of the individual executives charged received prison sentences.
Other major criminal enforcement episodes include the liquid crystal display (LCD) panel cartel (2008–2012), in which major Asian manufacturers of flat-panel displays—including Samsung, LG, AU Optronics, Hitachi, Sharp, and Toshiba affiliates—were charged with price-fixing. Total fines exceeded $1.4 billion and several executives received prison sentences. The shipping container cartel enforcement has proceeded in waves since 2012, with multiple ocean carriers charged with conspiring to fix rates on transpacific and transatlantic routes. The chicken/poultry industry price-fixing investigation, opened in 2019, resulted in charges against executives at Pilgrim's Pride, Koch Foods, and other major poultry producers, with allegations of coordinated pricing of broiler chickens sold to grocery chains and restaurant companies.
FTC coordination and agency clearance
Because both the DOJ and FTC have civil merger review authority under the Clayton Act, the two agencies coordinate through an informal “clearance” process to determine which agency will review any given transaction. When an HSR filing is received, staff at both agencies assess which is better positioned to review the deal based on institutional expertise, existing investigations, and prior experience in the relevant industry. One agency “clears” the other to proceed, and the cleared agency then conducts the investigation exclusively.
The clearance division is not formally codified but follows historical patterns. The DOJ has traditionally taken technology and telecommunications mergers (stemming from the Bell System breakup and the Microsoft litigation era), defense industry consolidation, and financial services mergers. The FTC has traditionally taken pharmaceutical mergers, consumer products, retail, and hospital consolidations. In practice the division has never been rigid, and in recent years both agencies have been aggressive across all sectors. The 2021–2024 Biden administration's DOJ under Assistant Attorney General Jonathan Kanter and the FTC under Chair Lina Khan represented an unusual period of simultaneous activist leadership at both agencies, resulting in a record number of merger challenges and new guidelines that departed significantly from the 2010 framework.
Public data sources for antitrust research
Unlike many federal data programs, DOJ antitrust enforcement data is not published as structured bulk downloads. The primary public data sources are:
- DOJ ATR Press Releases at justice.gov/atr/press-releases: every significant enforcement action, consent decree, criminal charge, plea agreement, and civil investigation announcement is published as a press release with a narrative description of the conduct, the parties, and the legal theory. Press releases are indexed by date and are machine-accessible via both HTML pagination and an RSS feed at justice.gov/atr/rss/press-releases.
- DOJ Antitrust Division Cases page: the Division maintains a civil cases database at justice.gov/atr/antitrust-case-filings, which lists the parties, docket numbers, district courts, and outcomes of civil merger complaints and Section 2 monopolization cases going back decades.
- PACER (Public Access to Court Electronic Records): the federal court filing system at pacer.gov. DOJ civil merger complaints (styled as United States v. [Defendant]) are filed in federal district courts and accessible via PACER at 8.5 cents per page. Complaints, answers, proposed consent decrees, competitive impact statements, and final judgments are all public. The competitive impact statement—a document the DOJ files when entering a consent decree—provides a detailed narrative of the competitive harm the remedy is designed to address and is often the most informative single document about a merger investigation.
- HSR Annual Reports: the DOJ and FTC publish a joint HSR Annual Report each year, providing aggregate statistics on filings, Second Requests, enforcement actions, and waiting period outcomes. Individual filings are confidential and never published, but the aggregate data allows year-over-year trend analysis of merger review activity.
- Federal Register notices: proposed consent decrees in merger cases are published in the Federal Register for a 60-day public comment period under the Tunney Act before the court enters the final judgment. These notices include the full text of the proposed decree and the competitive impact statement, making the Federal Register a second access path for consent decree documents.
- GAO antitrust enforcement reports: the Government Accountability Office periodically publishes studies of antitrust enforcement activity, merger review outcomes, and criminal enforcement trends that synthesize data across both agencies. These are available at gao.gov.
- FTC Annual Highlights and Merger Data: the FTC publishes an Annual Highlights report and, on a lag, detailed merger challenge data in its Fiscal Year Highlights that tracks the number of merger investigations opened, Second Requests issued, consent decrees entered, and litigation outcomes.
- Academic and civil society datasets: Stanford Law School's Computational Antitrust project maintains databases of US antitrust cases and decisions. The American Bar Association Antitrust Section publishes merger challenge data in its annual review. OECD Competition Policy Statistics provides cross-country comparative data on merger review and enforcement activity.
The DOJ ATR RSS feed at justice.gov/atr/rss/press-releases is typically limited to the 20 most recent press releases. For historical depth, the HTML press release archive at justice.gov/atr/press-releases is paginated in groups of 25 entries and can be scraped for titles, dates, and links going back to the late 1990s. Criminal case summaries, plea agreements, and charging documents for completed criminal matters are linked from the relevant press releases or filed in PACER under the district where the prosecution occurred.
Python example: classifying DOJ enforcement actions from the RSS feed
The following script demonstrates how to pull the DOJ ATR press release RSS feed, classify each item into one of four enforcement categories (criminal, consent decree, merger challenge, or civil investigation), and identify the industries most commonly targeted in criminal enforcement. The script also shows a commented-out path for scraping the HTML press release archive when historical data beyond the RSS window is needed. The classification uses keyword pattern matching against press release titles; a production pipeline would augment this with full-text retrieval of the linked press release pages.
import re
import time
import xml.etree.ElementTree as ET
from collections import Counter, defaultdict
from datetime import datetime
import requests
# ---------------------------------------------------------------------------
# DOJ Antitrust Division: enforcement action classification via RSS feed
# Feed URL: https://www.justice.gov/atr/rss/press-releases
# No API key required. Feed returns ~20 most recent press releases.
# For historical depth, paginate through the HTML press release archive.
# ---------------------------------------------------------------------------
ATR_RSS = "https://www.justice.gov/atr/rss/press-releases"
# HTML archive path for pagination (25 items per page)
ATR_HTML_BASE = "https://www.justice.gov/atr/press-releases"
# Classification keyword patterns
CRIMINAL_PATTERNS = [
r"price.fix",
r"bid.rig",
r"market.alloc",
r"cartel",
r"price.?fixing",
r"plea",
r"indicted",
r"indictment",
r"convicted",
r"leniency",
r"amnesty",
r"charged with",
]
MERGER_BLOCK_PATTERNS = [
r"sues to block",
r"files suit",
r"complaint.*merger",
r"merger.*complaint",
r"acquisition.*suit",
r"challenges.*merger",
r"challenges.*acquisition",
r"blocks",
]
CONSENT_DECREE_PATTERNS = [
r"consent decree",
r"consent judgment",
r"proposed.*settlement",
r"final judgment",
r"competitive impact",
r"divest",
r"divestitures",
]
CIVIL_INVESTIGATION_PATTERNS = [
r"civil investigative demand",
r"CID",
r"opens investigation",
r"second request",
r"merger review",
r"withdrawal.*notification",
]
# Industries for criminal enforcement pattern matching
INDUSTRY_PATTERNS = {
"Auto Parts": [r"auto part", r"automotive part", r"vehicle part", r"spark plug", r"bearing"],
"Construction": [r"construct", r"road", r"pav", r"asphalt", r"bid.rig.*contract"],
"Financial": [r"bank", r"financ", r"currency", r"forex", r"libor", r"bond", r"treasury"],
"Shipping": [r"shipping", r"freight", r"vessel", r"container", r"cargo"],
"Poultry/Chicken": [r"chicken", r"poultry", r"broiler"],
"Technology": [r"software", r"tech", r"semiconductor", r"chip", r"circuit"],
"Healthcare": [r"health", r"pharma", r"drug", r"hospital", r"medical", r"nurse"],
"Defense": [r"defense", r"military", r"government contract", r"federal contract"],
}
def classify_action(title: str, summary: str = "") -> str:
"""
Classify a DOJ ATR press release into one of four enforcement categories.
Returns the category string.
"""
text = (title + " " + summary).lower()
if any(re.search(p, text) for p in CRIMINAL_PATTERNS):
return "Criminal"
if any(re.search(p, text) for p in MERGER_BLOCK_PATTERNS):
return "Merger Challenge"
if any(re.search(p, text) for p in CONSENT_DECREE_PATTERNS):
return "Consent Decree"
if any(re.search(p, text) for p in CIVIL_INVESTIGATION_PATTERNS):
return "Civil Investigation"
return "Other"
def classify_industry(title: str, summary: str = "") -> str | None:
"""Identify an industry for criminal enforcement actions."""
text = (title + " " + summary).lower()
for industry, patterns in INDUSTRY_PATTERNS.items():
if any(re.search(p, text) for p in patterns):
return industry
return None
def fetch_rss_feed(url: str, timeout: int = 30) -> list[dict]:
"""
Download and parse the DOJ ATR RSS feed.
Returns a list of dicts with keys: title, link, pubDate, summary.
"""
resp = requests.get(url, timeout=timeout,
headers={"User-Agent": "antitrust-research/1.0"})
resp.raise_for_status()
root = ET.fromstring(resp.content)
ns = {"dc": "http://purl.org/dc/elements/1.1/"}
items = []
for item in root.findall(".//item"):
title = (item.findtext("title") or "").strip()
link = (item.findtext("link") or "").strip()
pub_date = (item.findtext("pubDate") or "").strip()
summary = (item.findtext("description") or "").strip()
items.append({
"title": title,
"link": link,
"pubDate": pub_date,
"summary": summary,
})
return items
def parse_year(pub_date: str) -> int | None:
"""Extract 4-digit year from an RSS pubDate string (RFC 2822 format)."""
# Try RFC 2822: 'Mon, 01 Jan 2024 00:00:00 +0000'
for fmt in ("%a, %d %b %Y %H:%M:%S %z", "%a, %d %b %Y %H:%M:%S %Z"):
try:
return datetime.strptime(pub_date.strip(), fmt).year
except ValueError:
pass
# Fallback: extract 4-digit year from string
m = re.search(r"\b(20\d{2})\b", pub_date)
return int(m.group(1)) if m else None
def fetch_historical_html(years: list[int], max_pages_per_year: int = 8,
delay: float = 1.5) -> list[dict]:
"""
Scrape the DOJ ATR HTML press release archive to get historical data
beyond what the RSS feed exposes.
The archive URL pattern:
https://www.justice.gov/atr/press-releases?q=&items_per_page=25&page=N
This is a lightweight scrape using regex to extract titles and dates;
a production pipeline would use BeautifulSoup for more robust parsing.
"""
items: list[dict] = []
year_pattern = "|".join(str(y) for y in years)
page = 0
while page < max_pages_per_year * len(years):
url = f"{ATR_HTML_BASE}?q=&items_per_page=25&page={page}"
try:
resp = requests.get(url, timeout=30,
headers={"User-Agent": "antitrust-research/1.0"})
resp.raise_for_status()
except requests.RequestException as exc:
print(f" Warning: page {page} fetch failed: {exc}")
break
html = resp.text
# Extract press release titles via link text in the archive listing
title_matches = re.findall(
r'class="[^"]*views-field-title[^"]*"[^>]*>.*?<a[^>]*>(.*?)</a>',
html, re.DOTALL
)
date_matches = re.findall(
r'class="[^"]*views-field-field-pr-date[^"]*"[^>]*>.*?'
r'<span[^>]*>(.*?)</span>',
html, re.DOTALL
)
if not title_matches:
break # No more pages
for title_raw, date_raw in zip(title_matches, date_matches):
title_clean = re.sub(r"<[^>]+>", "", title_raw).strip()
date_clean = re.sub(r"<[^>]+>", "", date_raw).strip()
# Only keep entries from target years
if re.search(year_pattern, date_clean):
items.append({
"title": title_clean,
"link": "",
"pubDate": date_clean,
"summary": "",
})
page += 1
time.sleep(delay)
return items
def analyze_actions(items: list[dict], target_years: list[int]) -> None:
"""
Classify and summarize DOJ ATR enforcement actions.
Produces:
1. Actions by year and category (2018-2024)
2. Criminal enforcement industry breakdown
3. Top enforcement trends
"""
by_year: dict[int, Counter] = defaultdict(Counter)
criminal_industries: Counter = Counter()
all_criminal: list[str] = []
for item in items:
year = parse_year(item["pubDate"])
if year is None or year not in target_years:
continue
category = classify_action(item["title"], item["summary"])
by_year[year][category] += 1
if category == "Criminal":
all_criminal.append(item["title"])
industry = classify_industry(item["title"], item["summary"])
if industry:
criminal_industries[industry] += 1
# --- Table 1: Actions by year and category ---
categories = ["Criminal", "Consent Decree", "Merger Challenge",
"Civil Investigation", "Other"]
print("\nDOJ Antitrust Division Enforcement Actions by Year")
print("=" * 72)
header = f"{'Year':<6}" + "".join(f"{c[:13]:>14}" for c in categories) + f"{'Total':>8}"
print(header)
print("-" * 72)
for year in sorted(target_years):
counts = by_year.get(year, Counter())
row = f"{year:<6}"
total = sum(counts.values())
for cat in categories:
row += f"{counts.get(cat, 0):>14}"
row += f"{total:>8}"
print(row)
print()
# --- Table 2: Criminal enforcement by industry ---
if criminal_industries:
print("Criminal Enforcement Actions by Industry (all years combined)")
print("=" * 50)
for industry, count in criminal_industries.most_common():
bar = "#" * count
print(f" {industry:<20} {count:>4} {bar}")
print()
# --- Table 3: Sample criminal action titles ---
if all_criminal:
print("Sample Criminal Enforcement Action Titles:")
print("-" * 60)
for title in all_criminal[:10]:
print(f" - {title[:78]}")
def main() -> None:
target_years = list(range(2018, 2025)) # 2018-2024
print("Fetching DOJ ATR RSS feed...")
rss_items = fetch_rss_feed(ATR_RSS)
print(f" RSS feed returned {len(rss_items)} items.")
# For a deeper historical pull, uncomment the HTML scraper:
# print("\nFetching historical HTML archive (this will take ~30 seconds)...")
# html_items = fetch_historical_html(target_years, max_pages_per_year=6)
# print(f" HTML archive returned {len(html_items)} items.")
# all_items = rss_items + html_items
all_items = rss_items
if not all_items:
print("No items retrieved. Check network connectivity.")
return
analyze_actions(all_items, target_years)
if __name__ == "__main__":
main()
Running this against the live RSS feed returns the 20 most recent DOJ ATR press releases. Classification accuracy for criminal actions is high because the Division uses consistent terminology in press release titles (“pleads guilty,” “indicted for price fixing,” “charged with bid rigging”). Consent decree announcements reliably reference “proposed final judgment” or “consent decree.” Merger challenges are identifiable by “sues to block” or “challenges.” For 2018–2024 trend analysis, scraping the full HTML archive produces several hundred to over one thousand press releases depending on enforcement activity in those years. Plotting annual counts by category would show the surge in merger challenge activity during 2021–2023 under the Biden administration and the persistent volume of criminal prosecutions, particularly in the construction and food-processing industries where bid-rigging and price-fixing investigations have continued throughout the period.
Industry-level criminal enforcement patterns are stable over multi-year periods because cartel investigations take years from initiation to resolution: auto parts prosecutions that began with leniency applications in 2010 produced plea agreements and verdicts through 2016. The poultry price-fixing matter opened in 2019 has produced indictments, acquittals of some defendants, and convictions of others through 2023 and beyond. Tracking press release dates provides the public enforcement timeline; the underlying investigative timeline stretches back years earlier and is only partially inferred from the facts described in charging documents.
For the Federal Register rulemaking context that governs how DOJ and FTC publish proposed merger consent decrees for public comment under the Tunney Act—including the APA notice-and-comment process and Regulations.gov docket linkage—see Federal Register: The Official Rulemaking Journal Behind 90,000 Pages of Annual US Regulatory Activity, covering the APA rulemaking sequence, OIRA review, and the Federal Register API.
For the campaign finance data that reveals which industries and executives fund the officials who appoint the DOJ and FTC leadership responsible for merger enforcement intensity, see FEC Committee Filings: The Campaign Finance Database Behind $14 Billion in Election Spending, covering Super PAC structure, the OpenFEC API, and the FEC bulk individual contributions file.