Skip to content
Social Media for Aliens

Section · API

Open API.

Every endpoint is free, public, requires no authentication, and serves permissive CORS. Use the dataset as a research substrate, embed records in your publication, or subscribe to feeds. Be kind: cache responses for at least an hour, identify your script in the User-Agent header, and email if you're hitting it heavily.

Endpoints

GET/api/dataset.jsonapplication/json

Full corpus index. Schema-versioned JSON with every record's metadata, source links, tags, and computed fields.

Query parameters
  • status , Filter to one of: unresolved, explained, contested
  • command , Filter to one of: NASA, CENTCOM, INDOPACOM, EUCOM, FBI, STATE, DOD, OTHER
  • decade , Filter to a decade like '1970s', '2020s'
  • media , Filter to records with at least one of: video, image, audio, document
Example
curl -s 'https://socialmediaforaliens.com/api/dataset.json?status=unresolved&command=CENTCOM' | jq '.records | length'
GET/api/dataset.csvtext/csv

Same corpus as a flat CSV. One row per record. List fields are pipe-delimited.

Query parameters
  • status , Same as JSON endpoint
  • command , Same as JSON endpoint
  • decade , Same as JSON endpoint
  • media , Same as JSON endpoint
Example
curl -s 'https://socialmediaforaliens.com/api/dataset.csv?command=NASA' -o nasa-records.csv
GET/rss.xmlapplication/rss+xml

Site-wide RSS, every record release plus every digest entry, reverse-chronological.

Example
curl -s 'https://socialmediaforaliens.com/rss.xml' | head -40
GET/rss/[command]application/rss+xml

Per-source-command RSS. Replace [command] with one of: nasa, centcom, indopacom, eucom, fbi, state, dod.

Example
curl -s 'https://socialmediaforaliens.com/rss/centcom'
GET/calendar.icstext/calendar

iCal feed of UAP On This Day, recurring annual anniversary entries for every record.

Example
curl -s 'https://socialmediaforaliens.com/calendar.ics' | head -20
GET/api/oembedapplication/json

oEmbed provider endpoint. Substack, Ghost, WordPress, and other oEmbed-aware editors auto-discover this when you paste a file URL.

Query parameters
  • url , A full file URL on this site
  • format , Only 'json' supported
Example
curl -s 'https://socialmediaforaliens.com/api/oembed?url=https%3A%2F%2Fsocialmediaforaliens.com%2Ffiles%2Fnimitz-tic-tac-2004'
GET/sitemap.xmlapplication/xml

XML sitemap of every public URL on the site.

Example
curl -s 'https://socialmediaforaliens.com/sitemap.xml' | head

Python

import requests

# Load every unresolved CENTCOM case
r = requests.get(
    "https://socialmediaforaliens.com/api/dataset.json",
    params={"status": "unresolved", "command": "CENTCOM"},
)
records = r.json()["records"]
for rec in records:
    print(rec["incidentDate"], rec["title"], rec["sourceLinks"][0]["url"])

JavaScript / TypeScript

// Load the full corpus and group by decade
const r = await fetch("https://socialmediaforaliens.com/api/dataset.json");
const { records } = await r.json();

const byDecade = records.reduce((acc, rec) => {
  const year = parseInt(rec.incidentDate.slice(0, 4), 10);
  const decade = `${Math.floor(year / 10) * 10}s`;
  (acc[decade] ??= []).push(rec);
  return acc;
}, {});

console.log(byDecade);

Citation

For published research using the dataset, cite both the originating agency for individual records (use the per-file Cite widget) and the dataset itself:

Social Media for Aliens. (2026). Open dataset of declassified UAP records [JSON/CSV]. https://socialmediaforaliens.com/data

Tell us if you publish something using the dataset: hello@socialmediaforaliens.com