Exportar como JSON estruturado
Além dos sete formatos de documento, a grade de arquivos — e o menu Exportar arquivo embutido de cada mensagem — oferece uma exportação JSON. Ao contrário dos outros, JSON não é um documento finalizado para leitura: é a conversa como dados legíveis por máquina, destinada a desenvolvedores que desejam alimentar um chat em um script, um banco de dados ou outra ferramenta sem precisar fazer a raspagem da página.
O arquivo é um único objeto JSON formatado — um bloco de metadados sobre a conversa, seguido por uma lista plana de suas mensagens.
- Metadados da conversa —
schema(um identificador versionado, atualmenteai-chat-extractor/conversation@2, para que um consumidor possa reconhecer o formato e sua versão),site,title,url,exported_at(um carimbo de data/hora ISO),content_format(sempremarkdown) emessage_count. messages— um array ordenado, uma entrada por mensagem, cada uma contendo seuindex, seurole(quem falou —userouassistant), e duas visualizações do texto:content, a mensagem completa como Markdown, econtents, a mesma mensagem dividida em partes tipadas.
As duas visualizações servem a dois tipos de consumidor. content é a mensagem inteira como uma string Markdown — tudo o que um script simples precisa. contents a divide em uma lista ordenada de segmentos tipados, para que um pipeline possa selecionar ou descartar partes por tipo sem reanalisar o Markdown: text para prosa, thinking para um bloco de raciocínio de um modelo, code para um bloco de código cercado (com uma language opcional), image para uma imagem (com sua url e texto alt — seja ela escrita como Markdown ou como uma tag HTML), e table para uma tabela Markdown, dividida em seus headers e rows para que um consumidor obtenha colunas reais em vez de um bloco de caracteres de barra vertical. AI Chat Clipper só emite um tipo de segmento que pode identificar honestamente da conversa — não inventará estrutura que não existe. Citações, por exemplo, chegam como links inline comuns sem um bloco próprio, então não há deliberadamente um tipo sources separado.
Uma breve resposta do assistente que contém um bloco de código é exportada assim:
{
"schema": "ai-chat-extractor/conversation@2",
"site": "claude",
"title": "Reversing a string",
"url": "https://claude.ai/chat/…",
"exported_at": "2026-07-18T10:32:00.000Z",
"content_format": "markdown",
"message_count": 2,
"messages": [
{ "index": 0, "role": "user", "content": "How do I reverse a string in Python?",
"contents": [ { "type": "text", "text": "How do I reverse a string in Python?" } ] },
{ "index": 1, "role": "assistant", "content": "Use a slice:\n\n```python\ns[::-1]\n```",
"contents": [
{ "type": "text", "text": "Use a slice:" },
{ "type": "code", "language": "python", "text": "s[::-1]" }
] }
]
}