> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pav.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Deals

> Biopharma M&A, licensing, collaborations, options and joint ventures, with terms, lifecycle and source documents.

## Overview

A deal is one biopharma transaction: an acquisition, merger, asset purchase,
licensing agreement, collaboration, option, joint venture or distribution
agreement. Each deal keeps one stable `deal_id` as new filings and releases
report on it, and carries its parties, its headline economics, its lifecycle
from proposal to completion or termination, and the source documents behind
every term.

Questions this dataset answers:

* What are the largest biopharma acquisitions by headline value?
* Which deals has Eli Lilly done this year, and on what terms?
* Which licensing deals were announced since January, and for which rights?
* Where does a stated upfront or milestone figure come from?

## Coverage

| Deals                   | Sources                                | Updated                                   |
| ----------------------- | -------------------------------------- | ----------------------------------------- |
| 3,100+ (September 2026) | SEC filings and company press releases | As new filings and releases are published |

Many deals disclose no value. `min_value_usd` and `sort=headline_value` only
consider deals with a stated USD headline value.

## Key fields

| Field                                           | Description                                                                                                                  |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `deal_id`                                       | Stable Pav deal id (UUID).                                                                                                   |
| `deal_name`, `summary`                          | Headline and a one-paragraph summary.                                                                                        |
| `deal_type`                                     | `acquisition`, `merger`, `asset_purchase`, `licensing`, `collaboration`, `option`, `joint_venture`, `distribution`, `other`. |
| `latest_event_type`                             | Current state: `proposed`, `announced`, `completed`, `amended`, `terminated`, or `update` (a report that changed no state).  |
| `announced_at`, `completed_at`, `activity_date` | Lifecycle dates (UTC).                                                                                                       |
| `companies[]`                                   | Parties linked to Pav companies, with their `roles`.                                                                         |
| `total_value`                                   | Headline value: `raw_text`, `amount`, `currency`, `not_disclosed`, and the `evidence` sentence it came from.                 |
| `source_document_count`, `event_count`          | How many documents and lifecycle events back the deal.                                                                       |

`GET /v1/deals/{deal_id}` adds `terms` (headline value, upfront, equity,
milestones, royalties, territories, rights), `events[]` with the source URL of
each lifecycle step, and `source_documents[]`.

## Endpoints

| Endpoint                  | Use                                           |
| ------------------------- | --------------------------------------------- |
| `GET /v1/deals`           | Search and filter deals.                      |
| `GET /v1/deals/{deal_id}` | One deal with full terms, events and sources. |

## Filters

All filters are optional and combine with AND. With no filters you get the most
recent deal activity.

| Parameter                        | Matches                                                                                                                                                                            | Example          |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| `q`                              | Every term must appear in the deal name, event headline, summary or rights (word forms such as plurals also match), or `q` is a substring of a party's name. No synonym expansion. | `ADC`            |
| `company_id`                     | Deals with this company as a party. Repeatable.                                                                                                                                    | `218`            |
| `deal_type`                      | Deal type. Repeatable.                                                                                                                                                             | `licensing`      |
| `event_type`                     | Current lifecycle state. Repeatable.                                                                                                                                               | `completed`      |
| `announced_from`, `announced_to` | Announcement date range, inclusive.                                                                                                                                                | `2026-01-01`     |
| `min_value_usd`                  | Minimum stated USD headline value.                                                                                                                                                 | `1000000000`     |
| `sort`                           | `latest_activity` (default), `announced_at`, `completed_at`, `headline_value`; newest or largest first.                                                                            | `headline_value` |
| `include_total`                  | Exact match count.                                                                                                                                                                 | `true`           |
| `limit`, `offset`                | Page size (1–100, default 25) and offset.                                                                                                                                          | `limit=50`       |

## Largest deals

<CodeGroup>
  ```bash cURL theme={null}
  curl -G https://api.pav.bio/v1/deals \
    -H "Authorization: Bearer $PAV_API_KEY" \
    --data-urlencode "min_value_usd=1000000000" \
    --data-urlencode "sort=headline_value" \
    --data-urlencode "limit=3"
  ```

  ```python Python theme={null}
  import os
  import requests

  resp = requests.get(
      "https://api.pav.bio/v1/deals",
      headers={"Authorization": f"Bearer {os.environ['PAV_API_KEY']}"},
      params={"min_value_usd": 1_000_000_000, "sort": "headline_value", "limit": 3},
  )
  resp.raise_for_status()
  for d in resp.json()["data"]:
      print(d["deal_name"], "|", d["total_value"]["raw_text"], "|", d["latest_event_type"])
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({ min_value_usd: "1000000000", sort: "headline_value", limit: "3" });
  const resp = await fetch(`https://api.pav.bio/v1/deals?${params}`, {
    headers: { Authorization: `Bearer ${process.env.PAV_API_KEY}` },
  });
  const { data } = await resp.json();
  for (const d of data) console.log(d.deal_name, "|", d.total_value.raw_text, "|", d.latest_event_type);
  ```
</CodeGroup>

```json Example response (trimmed) theme={null}
{
  "data": [
    {
      "deal_id": "4d5ce8f8-7d53-4c79-8d26-873e0d90166e",
      "deal_name": "Pfizer acquisition of Seagen",
      "deal_type": "acquisition",
      "latest_event_type": "completed",
      "announced_at": "2023-03-13T00:00:00Z",
      "completed_at": "2023-12-14T00:00:00Z",
      "companies": [
        { "company_id": 506, "short_name": "pfizer", "name": "Pfizer", "roles": ["acquirer"] },
        { "company_id": 10479, "short_name": "seagen", "name": "Seagen", "roles": ["acquired company"] }
      ],
      "total_value": {
        "raw_text": "approximately $43 billion",
        "amount": 43000000000.0,
        "currency": "USD",
        "not_disclosed": false,
        "evidence": "including approximately $43 billion for the acquisition of Seagen Inc."
      },
      "source_document_count": 24,
      "event_count": 14
    }
  ],
  "pagination": { "limit": 3, "offset": 0 }
}
```

## A company's deals

<CodeGroup>
  ```bash cURL theme={null}
  curl -G https://api.pav.bio/v1/deals \
    -H "Authorization: Bearer $PAV_API_KEY" \
    --data-urlencode "company_id=218" \
    --data-urlencode "include_total=true" \
    --data-urlencode "limit=3"
  ```

  ```python Python theme={null}
  import os
  import requests

  resp = requests.get(
      "https://api.pav.bio/v1/deals",
      headers={"Authorization": f"Bearer {os.environ['PAV_API_KEY']}"},
      params={"company_id": 218, "include_total": "true", "limit": 3},
  )
  resp.raise_for_status()
  body = resp.json()
  print("total:", body["pagination"]["total"])
  for d in body["data"]:
      value = d.get("total_value", {}).get("raw_text", "undisclosed")
      print(d["announced_at"][:10], "|", d["deal_type"], "|", d["deal_name"], "|", value)
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({ company_id: "218", include_total: "true", limit: "3" });
  const resp = await fetch(`https://api.pav.bio/v1/deals?${params}`, {
    headers: { Authorization: `Bearer ${process.env.PAV_API_KEY}` },
  });
  const body = await resp.json();
  console.log("total:", body.pagination.total);
  for (const d of body.data) {
    console.log(d.announced_at.slice(0, 10), "|", d.deal_type, "|", d.deal_name, "|", d.total_value?.raw_text ?? "undisclosed");
  }
  ```
</CodeGroup>

```json Example response (trimmed) theme={null}
{
  "data": [
    {
      "deal_id": "999d5ebf-4d13-46c4-a5d8-405367aad7c3",
      "deal_name": "Entered strategic research collaboration and license agreement with Eli Lilly to develop new medicines",
      "deal_type": "collaboration",
      "latest_event_type": "announced",
      "announced_at": "2026-09-24T00:00:00Z"
    },
    {
      "deal_id": "7dc2e65d-4188-4eed-81a0-e89ba3f3bb48",
      "deal_name": "QurCan and Eli Lilly enter exclusive research collaboration for CNS and PNS genetic medicines",
      "deal_type": "collaboration",
      "latest_event_type": "announced",
      "announced_at": "2026-09-15T00:00:00Z"
    }
  ],
  "pagination": { "limit": 3, "offset": 0, "total": 35 }
}
```

## Get one deal with terms and sources

```bash theme={null}
curl https://api.pav.bio/v1/deals/4d5ce8f8-7d53-4c79-8d26-873e0d90166e \
  -H "Authorization: Bearer $PAV_API_KEY"
```

```json Example response (trimmed) theme={null}
{
  "deal_id": "4d5ce8f8-7d53-4c79-8d26-873e0d90166e",
  "deal_name": "Pfizer acquisition of Seagen",
  "terms": {
    "headline_value": {
      "raw_text": "approximately $43 billion",
      "amount": 43000000000.0,
      "currency": "USD",
      "evidence": "including approximately $43 billion for the acquisition of Seagen Inc."
    },
    "territories": [],
    "rights_summary": "Pfizer acquired all outstanding common stock of Seagen."
  },
  "events": [
    {
      "event_type": "announced",
      "event_name": "Pfizer acquisition of Seagen",
      "effective_at": "2023-03-13T00:00:00Z",
      "source_url": "https://www.sec.gov/Archives/edgar/data/1060736/000119312523068474/d467472dex991.htm"
    }
  ],
  "source_documents": [
    {
      "source_kind": "sec_filing",
      "source_url": "https://www.sec.gov/Archives/edgar/data/1060736/000119312523068474/d467472dex991.htm",
      "published_at": "2023-03-13T07:27:57Z"
    }
  ]
}
```

## Related

* [Deal screening guide](/guides/deal-screening)
* [Companies](/datasets/companies): resolve a party name to `company_id`.
