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

# imessage_conversations() / imessage_messages()

> Download iMessage conversation and message data

```python theme={null}
client.imessage_conversations() -> pd.DataFrame
client.imessage_messages() -> pd.DataFrame
```

Download iMessage data recovered from the Epstein archive, split into conversations (contacts) and individual messages.

## Example

```python theme={null}
from jmail import JmailClient

client = JmailClient()
convos = client.imessage_conversations()
messages = client.imessage_messages()

# All messages from a specific conversation
ghislaine = messages[messages.conversation_slug == "ghislaine-maxwell"]

# Messages sent by Epstein
sent = messages[messages.sender == "me"]

# Join messages with conversation metadata
merged = messages.merge(
    convos[["slug", "name"]],
    left_on="conversation_slug",
    right_on="slug",
    how="left"
)
```

## Conversation Columns

| Column              | Type   | Description                                       |
| ------------------- | ------ | ------------------------------------------------- |
| `id`                | int    | Unique conversation ID                            |
| `slug`              | string | URL-safe conversation identifier                  |
| `name`              | string | Contact name                                      |
| `bio`               | string | Contact bio/description                           |
| `photo`             | string | Contact photo URL                                 |
| `last_message`      | string | Preview of the last message                       |
| `last_message_time` | string | Timestamp of last message                         |
| `pinned`            | bool   | Whether the conversation was pinned               |
| `confirmed`         | bool   | Whether the contact identity is confirmed         |
| `source_files`      | json   | Source files this conversation was extracted from |
| `message_count`     | int    | Total messages in this conversation               |

## Message Columns

| Column              | Type      | Description                                 |
| ------------------- | --------- | ------------------------------------------- |
| `id`                | string    | Unique message ID (`{slug}#{index}`)        |
| `conversation_slug` | string    | FK to conversations (slug)                  |
| `message_index`     | int       | Message position within conversation        |
| `text`              | string    | Message text content                        |
| `sender`            | string    | `me` (Epstein) or `them` (contact)          |
| `time`              | string    | Original timestamp string                   |
| `timestamp`         | timestamp | Parsed timestamp                            |
| `source_file`       | string    | Source file this message was extracted from |
| `sender_name`       | string    | Display name of sender                      |

## Direct URLs

```
https://data.jmail.world/v1/imessage_conversations.parquet
https://data.jmail.world/v1/imessage_conversations.ndjson.gz
https://data.jmail.world/v1/imessage_messages.parquet
https://data.jmail.world/v1/imessage_messages.ndjson.gz
```
