Metadata-Version: 2.4
Name: acquiscan
Version: 0.1.0
Author-email: Mohammed Diaa <md@mhmdiaa.com>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Requires-Dist: openai>=1.0.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: pyyaml>=6.0

# AcquiScan

Extract acquisition and subsidiary information from SEC filings.

## Features

- No API keys required. AcquiScan works directly with SEC EDGAR's public API. LLM integration is optional.
- Exhibit parsing (`exhibits` mode) extracts subsidiaries from structured EX-21 and EX-8 exhibit documents attached to annual filings. This mode is fast and deterministic.
- LLM-powered extraction (`llm` mode) finds acquisition-related excerpts across 10-K, 10-Q, 8-K, 20-F, and 6-K filings using keyword matching, then sends them to an LLM to extract the company name, acquisition date, ownership structure (full or partial), strategic rationale, any rebranding or integration into other products, and subsequent divestitures.
- Date filtering with `--from-date` and `--to-date` to scope results to a specific time range for ongoing monitoring.

## Modes

### `exhibits` (default)

Parses EX-21 and EX-8 exhibit documents from 10-K/20-F filings to extract a list of subsidiaries.

```bash
$ acquiscan 'apple' --mode exhibits --from-date 2025

[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Asia LLC
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Asia Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Canada Inc.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Computer Trading (Shanghai) Co., Ltd.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Distribution International Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple India Private Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Insurance Company, Inc.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Japan, Inc.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Korea Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Operations International Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Operations Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Operations Mexico, S.A. de C.V.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Pty Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Services Pte. Ltd.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple South Asia (Thailand) Limited
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple South Asia Pte. Ltd.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Apple Vietnam Limited Liability Company
[Apple Inc.] [exhibits] [10-K] [2025-10-31] Braeburn Capital, Inc.
[Apple Inc.] [exhibits] [10-K] [2025-10-31] iTunes K.K.
```

### `llm`

Scans 10-K, 10-Q, 8-K, 20-F, and 6-K filings for acquisition-related text excerpts using keyword matching and sends them to an LLM to extract structured acquisition data. Requires `llm_api_key` in the config.

```bash
$ acquiscan ‘uber’ --mode llm --from-date 2026

[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Careem
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Careem Technologies
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Postmates
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Cornershop
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] The Drizly Group, Inc. (Drizly)
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Transplace
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Freight Holding (Uber Freight subsidiary)
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Delivery Hero SE (investment)
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Foodpanda Taiwan (Delivery Hero’s Foodpanda Taiwan)
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Trendyol GO
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Getir (pending acquisition of delivery portfolio in Türkiye)
[Uber Technologies, Inc] [llm] [10-K] [2026-02-13] Uber Payments B.V.
```

## Coverage

- `exhibits` parses structured subsidiary lists from EX-21/EX-8 exhibits of 10-K and 20-F filings, but these exhibits only include subsidiaries that are significant enough to require disclosure. Smaller acquisitions and recently completed deals may not appear.
- `llm` extracts acquisitions mentioned in the narrative text of 10-K, 10-Q, 8-K, 20-F, and 6-K filings and picks up deals that are discussed in context. However, companies are not required to discuss every entity they acquire or own. Acquisitions that were completed quietly may not appear in any filings. LLM responses may also contain inaccuracies and you should treat them as leads for further research.

## Installation

```bash
pip install acquiscan
```

On first run, AcquiScan creates a config file at `~/.acquiscan.yaml` where you set your SEC user-agent and (optionally) an OpenAI API key.

## Usage

| Option | Description |
|---|---|
| `--mode, -m` | `exhibits` or `llm` (default: `exhibits`) |
| `--json, -j` | Output as JSON |
| `--output, -o` | Output file path (default: stdout) |
| `--silent, -s` | Suppress progress output |
| `--from-date` | Only include filings on or after this date (YYYY-MM-DD) |
| `--to-date` | Only include filings on or before this date (YYYY-MM-DD) |
| `--include-filings` | Include per-filing breakdown in JSON output (LLM mode only) |
| `--include-excerpts` | Include excerpts in JSON output (LLM mode only, implies `--include-filings`) |
