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.
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. 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
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
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
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
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.gzanddata/full_archive.posts.v1.parquet: full Trumpstruth-detail archive with36,170rows.data/full_archive.status_details.v1.jsonl.gzanddata/full_archive.status_details.v1.parquet: sanitized Trumpstruth detail-page metadata with36,170rows.data/derived_style_corpus.v1.jsonl.gzanddata/derived_style_corpus.v1.parquet: filtered Trumpstruth-only text style subset with11,786rows.
media/shards/media-*.tar: 3 WebDataset shards containing 8,004 image/metadata pairs.media/assets.v1.parquetandmedia/assets.v1.jsonl: asset hashes, dimensions, source URLs, lane counts, transformations, and shard keys.media/occurrences.v1.parquetandmedia/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:
{
"original": 28578,
"quote": 1934,
"reblog": 5658
}Source row counts:
{
"trumpstruth_status_detail": 36170
}Image coverage
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
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.
