CoolFace
Datasetpublic

Cameronk199/donald-trump-truth-social-posts

Donald Trump Truth Social Posts Archive Archive overview 36,170 public Truth Social posts associated with Donald J. Trump's @realDonaldTrump account. The release preserves source URLs, timestamps, post types, original HTML, extracted plain text, attachment provenance, and analysis-ready tables. It also includes streamable image media plus video metadata and transcripts where the source provides them. The package is source-linked and reconciled by archive ID.… See the full description on the dataset page: https://huggingface.co/datasets/Cameronk199/donald-trump-truth-social-posts.

sourceHugging Faceotherupdated 7d agoView on Hugging Face
3likes869downloads
Dataset Card

Donald Trump Truth Social Posts Archive

[image]

Archive overview

36,170 public Truth Social posts associated with Donald J. Trump's @realDonaldTrump account. The release preserves source URLs, timestamps, post types, original HTML, extracted plain text, attachment provenance, and analysis-ready tables.

It also includes streamable image media plus video metadata and transcripts where the source provides them.

The package is source-linked and reconciled by archive ID. Known gaps are recorded in the manifest and failure index rather than silently omitted.

8,004 verified image assets and 8,287 successful attachment occurrences. The release contains metadata-stripped WebP derivatives organized into 3 streamable WebDataset shards (1.14 GiB). Four source URLs returned empty bodies after bounded retries; those cases are documented in the failure index.

5,777 video attachment records. Video metadata, source URLs, transcripts/descriptions, thumbnails, timestamps, and post provenance are included for every source-declared video. Raw video binaries are not included in this release; no binary completeness claim is made.

Use it for political communication research, multimodal search, OCR and document analysis, NLP, retrieval, timeline analysis, quote/retruth analysis, and reproducible public-interest research.

Independent research dataset. Derived from public Trumpstruth detail pages. Not affiliated with or endorsed by Donald Trump, Truth Social, TMTG, a campaign, a government office, or any official entity.

Snapshot generated: 2026-09-14T13:03:13Z Coverage: 2022-02-14T15:54:00Z through 2026-08-31T12:09:00Z Integrity: 36,170 unique IDs · 0 duplicates detected

Start with the main archive

Hugging Face Datasets

python
from datasets import load_dataset

posts = load_dataset(
    "Cameronk199/donald-trump-truth-social-posts",
    "full_archive_posts",
    split="train",
)

print(posts.num_rows)
print(posts.select_columns(["created_at_utc", "post_type", "content_text"])[-3:])

Other viewer-ready configurations are full_archive_status_details and derived_style_corpus.

Pandas / Kaggle

python
import pandas as pd

posts = pd.read_parquet("data/full_archive.posts.v1.parquet")
posts["created_at_utc"] = pd.to_datetime(posts["created_at_utc"], utc=True)

daily = posts.groupby(posts["created_at_utc"].dt.date).size()
print(daily.tail())

Stream the images

python
from datasets import load_dataset

base_url = (
    "https://huggingface.co/datasets/Cameronk199/"
    "donald-trump-truth-social-posts/resolve/main/media/shards"
)
shards = [f"{base_url}/media-{index:05d}.tar" for index in range(3)]
images = load_dataset(
    "webdataset",
    data_files={"train": shards},
    split="train",
    streaming=True,
)

sample = next(iter(images))
image = sample["webp"]
metadata = sample["json"]
print(metadata["trumpstruth_ids"])

Each example uses one SHA-256 key shared by a .webp image and .json metadata record. Use the media_asset_index configuration for asset-level search and media_occurrence_index to join images back to posts, galleries, and source URLs.

Choose the right data

TableRowsUse it for
full_archive_posts36,170Most analysis, search, timelines, NLP, and post-type research
full_archive_status_details36,170Lower-level source/detail metadata and provenance work
derived_style_corpus11,786Original-post text analysis after quality and duplication filters
media_asset_index8,004Image hashes, dimensions, source URLs, WebDataset keys, and deduplication
media_occurrence_index8,291Post-to-image joins, gallery order, descriptions, and provenance lanes
video_attachment_index5,777Video source URLs, transcripts/descriptions, thumbnails, and post provenance

Start with full_archive_posts for most analysis. Move to the lower-level tables when the research question requires additional provenance or attachment detail.

Files and integrity

  • data/full_archive.posts.v1.jsonl.gz and data/full_archive.posts.v1.parquet: full Trumpstruth-detail archive with 36,170 rows.
  • data/full_archive.status_details.v1.jsonl.gz and data/full_archive.status_details.v1.parquet: sanitized Trumpstruth detail-page metadata with 36,170 rows.
  • data/derived_style_corpus.v1.jsonl.gz and data/derived_style_corpus.v1.parquet: filtered Trumpstruth-only text style subset with 11,786 rows.
  • media/shards/media-*.tar: 3 WebDataset shards containing 8,004 image/metadata pairs.
  • media/assets.v1.parquet and media/assets.v1.jsonl: asset hashes, dimensions, source URLs, lane counts, transformations, and shard keys.
  • media/occurrences.v1.parquet and media/occurrences.v1.jsonl: 8,291 attachment occurrences with post joins and provenance.
  • media/classified_failures.v1.jsonl: 4 explicit source-empty failures.
  • media/component-manifest.json: shard hashes, row counts, privacy transformation, lane coverage, and rights notice.
  • data/video_attachments.v1.jsonl.gz / data/video_attachments.v1.parquet: 5,777 video occurrences with source URLs, transcripts/descriptions, and provenance.
  • manifest.json: row counts and build metadata.
  • checksums.sha256: SHA-256 checksums for package files.

Coverage and counts

The full archive contains 36,170 rows and 36,170 unique Truth Social IDs, with 0 duplicate IDs detected during packaging.

Date range: 2022-02-14T15:54:00Z to 2026-08-31T12:09:00Z.

Post type counts:

json
{
  "original": 28578,
  "quote": 1934,
  "reblog": 5658
}

Source row counts:

json
{
  "trumpstruth_status_detail": 36170
}

Image coverage

Provenance laneQueuedSuccessfulClassified gapsMeaning
Original-direct7,5157,5123Images directly attached to original posts by @realDonaldTrump
Reposted media7767751Images carried by quote/repost occurrences; never labeled as originally authored media

Exact downloaded bytes were deduplicated by SHA-256 before publication. The public files are high-fidelity WebP derivatives with source metadata removed; raw_sha256 and published_sha256 keep the private-source and public-derivative identities distinct.

“Complete” here is snapshot-scoped: every queued occurrence in current-live-20260717T031707Z has either a successful asset join or one classified terminal source gap. It is not a claim that the archive contains every image ever posted on Truth Social or that the depicted/uploaded media is owned by Donald Trump.

Video coverage

The video index contains 5,777 source-declared video occurrences, including 4,814 rows with source-provided transcript or file information. The release preserves direct source URLs and thumbnail URLs for retrieval and audit. Raw binaries are not included because the current release does not have a verified public binary lane.

Fields

FieldMeaning
created_at_utcOriginal post timestamp normalized to UTC
content_textPlain text extracted with a structured HTML parser
content_htmlPreserved source HTML for richer analysis
post_typeoriginal, quote, or reblog
truth_id / truth_urlOriginal Truth Social identity and URL when available
trumpstruth_id / source_urlArchive identity and public detail-page provenance
attachments / media_urlsMedia references and available descriptions
trainingConvenience eligibility flag and exclusion reason
asset_id / raw_sha256 / published_sha256Deduplicated private-source identity and public-derivative identity
archive_laneSeparates original-direct media from quote/repost media
webdataset_shard / webdataset_keyDirect location of each streamable image example

What you can study

  • A searchable public-post archive with date and post-type filters.
  • A timeline of posting volume, quotes, and retruths.
  • Semantic search or retrieval-augmented research tools.
  • Phrase, topic, readability, and rhetorical-pattern analyses.
  • Multimodal search over post text, image descriptions, and image content.
  • OCR studies of statements, screenshots, flyers, charts, and memes.
  • Reproducible NLP notebooks using the cleaned original-post subset.
  • Provenance-preserving image timelines and duplicate-media analysis.

This release does not include trustworthy likes, replies, impressions, or other engagement metrics, so it should not be used for virality claims.

Source and methodology

This release is built from public Trumpstruth status detail records. The detail records are the authority for Truth Social IDs, original Truth Social URLs, original post timestamps, capture timestamps, post type labels, attachments, and caption-track references.

Local build paths and raw HTML file paths are removed from the public release artifacts.

Each refresh is reconciled by exact source ID. A release is promoted only when search targets equal parsed detail rows and the audit reports zero missing raw targets, parse failures, and duplicate IDs.

Responsible use

Use full_archive.posts for public-interest archive analysis, post type analysis, retrieval, and time-series work. Use derived_style_corpus only as a convenience subset for modeling or writing-style analysis; it intentionally excludes quote/reblog rows, URL-only or mostly-URL rows, too-short rows, too-long rows, duplicate text, and rows without usable letters.

Do not present generated outputs as Donald Trump, Truth Social, a campaign, a government office, or any official representative.

Updates and reproducibility

The archive is refreshed every Monday morning in America/Chicago, plus on demand when needed. Each run also refreshes this README and the platform metadata. manifest.json records the snapshot time, source prefix, row counts, date range, and post-type counts. checksums.sha256 supports file-level verification. Source URLs remain attached to rows so analyses can preserve provenance.

Limitations

  • This is an archive of public posts associated with @realDonaldTrump, not a dump of the entire Truth Social platform.
  • Source websites can change, remove, correct, or reprocess posts after this snapshot.
  • Attachment URLs and external links may rot or change.
  • Four queued image URLs returned empty bodies after bounded retries; they are classified in media/classified_failures.v1.jsonl.
  • Image descriptions come from source records and can be incomplete or inaccurate.
  • Reposted-media rows describe quote/repost provenance and do not imply original authorship or ownership.
  • This release does not include raw HTML snapshots, byte-identical private source images, model weights, or adapters.

Rights and attribution

See NOTICE.md. The package uses license: other because it contains public source content, derived metadata, and image derivatives whose underlying rights may belong to uploaders or third parties. Publication here does not assert ownership, public-domain status, endorsement, or a downstream redistribution license. Users are responsible for checking source terms, copyright, privacy, platform terms, and applicable law for their own use.