---
type: Retrieval Guide
title: Getting the records themselves
description: The bundle is a derived layer; document text lives in the API.
tags:
  - reference
  - retrieval
resource: "https://randpaulcovid.org/api/openapi.json"
generated: { by: randpaul-corpus-pipeline/1.0, at: "2026-08-01T12:42:27Z" }
status: stable
---

The bundle does **not** contain the 18,094 individual records. It carries the derived analysis over them: people, topics, organisations, outlets, sources, a chronology, and transcripts for the larger conversations.

# Why this matters

Searching these files is not searching the corpus. A grep across the bundle returns a fraction of the true hits, and nothing here signals that it is a fraction — an agent reading only the bundle can produce a well-cited, confident, incomplete answer. Use the API for anything that needs completeness.

# What is here versus what is not

| | In the bundle | In the corpus |
|---|---:|---:|
| Records with full text | conversation transcripts only | 17,260 unique |
| Conversations | 301 | 2,021 |
| Page-level OCR text | none | every page |

# Retrieving a record

```
https://randpaulcovid.org/api/doc/<doc_id>            one record, full text, participants
https://randpaulcovid.org/api/page/<source>/<page>    OCR text of a page; ?raw=1 for the
                                     uncleaned extraction
https://randpaulcovid.org/api/search?q=...&mode=hybrid  search, accepts questions
https://randpaulcovid.org/api/timeline?since=&until=  records in date order
```

Document ids appear throughout the bundle and in [the chronology](/chronology/index.md). Machine-readable API description: https://randpaulcovid.org/api/openapi.json — read https://randpaulcovid.org/api/guidance first.
