UFO Sighting Scraper avatar

UFO Sighting Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
UFO Sighting Scraper

UFO Sighting Scraper

Scrape 160,000+ UFO/UAP sighting reports from NUFORC. Filter by shape, US state, country, date range, and credibility tier. Returns full witness narratives, structured metadata, and pilot reports. Works as a scraper and MCP tool for AI agents.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

mick_

mick_

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

20 hours

Issues response

7 days ago

Last modified

Share

πŸ›Έ UFO/UAP Sighting Scraper (NUFORC)

The only NUFORC scraper on Apify β€” 160,000+ UFO/UAP sighting reports with full witness narratives, structured metadata, credibility tiers, and batch search

🌟 Why Choose This Scraper?

The UFO/UAP Sighting Scraper is the definitive tool for accessing the world's largest public database of UFO sightings β€” the National UFO Reporting Center (NUFORC). Whether you're building an AI research agent, running investigative data journalism, or feeding LLM pipelines with structured paranormal data, this is your source.

Monopoly position: There is no other NUFORC scraper on Apify. This is the only tool that gives you programmatic access to 160,000+ sighting reports dating back to 1974.

Complete NUFORC Database Access: Filter by UFO shape, US state, country, date range, credibility tier, and special categories like pilot reports and highlights.

Full Witness Narratives: Every sighting includes the complete witness account β€” not a truncated summary. Toggle detail fetching to get the full narrative, duration, number of observers, color, estimated size/speed, viewing angle, and more.

Credibility Tiers: NUFORC assigns credibility tiers to reports β€” Tier 1 (dramatic/credible), Tier 2 (unusual), Tier 3 (unexplained), Tier 4 (likely explainable). Filter for only the most credible sightings or analyze the full spectrum.

Pilot & Aviation Reports: Access a dedicated collection of sightings by pilots, military personnel, and aviation professionals β€” the most credible UFO reports in the database.

Enterprise-Grade Reliability: Built-in request pacing (respects NUFORC's volunteer-run servers), batch dataset push, JavaScript-rendered DataTables pagination, and Apify state persistence for resumable runs.


πŸš€ What's New (v1.1.0)

Search multiple UFO shapes in a single run. Pass shapesList: ["Triangle", "Disk", "Orb"] and the scraper collects results across all specified shapes, merges them, and deduplicates. No more running separate jobs per shape.

Date Presets

Stop calculating YYYYMM values manually. Use datePreset to select Last 30 Days, Last 90 Days, or Last Year β€” the scraper converts to the correct date range automatically.

Keyword Filter

Filter results by any word or phrase in the narrative or summary β€” client-side, no extra requests. Set keywordFilter: "hovering" and only sightings where a witness mentioned hovering behavior will be returned. Works for any term: "military", "silent", "missing time", "triangular".

Emoji Input Labels

All input fields now have emoji labels for faster navigation in the Apify console.


🎯 Use Cases

πŸ”¬ Researchers & Analysts

The NUFORC database is one of the richest public datasets for anomalous phenomena research. With 160,000+ structured records spanning 50 years, it supports:

  • Pattern analysis: Correlate sighting shape, location, and date to identify geographic clusters and temporal trends
  • NLP research: Apply sentiment analysis, named entity recognition, or LLM embeddings to 160,000+ witness narratives
  • Academic studies: Study witness reporting behavior, credibility distributions, and geographic spread across decades
  • Cross-referencing: Match NUFORC sightings with AARO (All-domain Anomaly Resolution Office) reports, FOIA documents, or military base locations
  • Geospatial intelligence: Map sighting hotspots, cluster by county, correlate with flight paths or restricted airspace

Example research query: Get all Tier 1 sightings (most credible) from the last year with full narratives for NLP analysis:

{
"tier": "1",
"datePreset": "last_year",
"includeDetails": true,
"maxResults": 500
}

πŸ€– AI Agents & LLM Pipelines

This actor is built for the agent economy. Structured JSON output with consistent field schemas makes it a drop-in data source for AI pipelines:

  • Research agents: Ask your AI agent to pull and analyze UAP sightings matching specific criteria
  • MCP integration: Use via the Apify MCP server β€” your LLM can call this actor as a tool during inference
  • RAG pipelines: Index witness narratives into a vector database for semantic search over UFO reports
  • Autonomous research: Agent identifies a shape or location of interest, calls this actor, analyzes patterns, generates a report
  • Claude / GPT tool use: Wire as a function call β€” your model retrieves structured data without scraping manually

Keyword filter is particularly useful for agents β€” they can narrow a large dataset to only records mentioning a specific phenomenon without fetching additional pages.

Example agent query: Batch pull disc and triangle sightings from the last 90 days for an LLM trend analysis:

{
"shapesList": ["Disk", "Triangle"],
"datePreset": "last_90_days",
"includeDetails": true,
"maxResults": 200
}

πŸ“Š Data & Investigative Journalism

  • Interactive maps: Pull sightings by US state or country and plot on a map with shape and tier data
  • Timeline investigations: Date range search lets you focus on specific incidents or time windows
  • Government transparency: Cross-reference with AARO releases, Pentagon UAP reports, and declassified documents
  • Incident deep-dives: Use keyword filter to extract all reports mentioning specific locations, military terms, or behaviors
  • News hook: Filter highlights category for the most dramatic, NUFORC-verified cases

Example investigation: All pilot reports from the last year mentioning "formation":

{
"category": "pilot_reports",
"datePreset": "last_year",
"keywordFilter": "formation",
"includeDetails": true,
"maxResults": 100
}

πŸ“– Usage Examples

Example 1: Triangle Sightings β€” Last 90 Days

{
"shape": "Triangle",
"datePreset": "last_90_days",
"includeDetails": true,
"maxResults": 100
}

Example 2: Batch Shape Search (Triangle + Disk + Orb)

{
"shapesList": ["Triangle", "Disk", "Orb"],
"includeDetails": true,
"maxResults": 300
}

Example 3: Keyword Filter β€” "hovering" Sightings

{
"keywordFilter": "hovering",
"datePreset": "last_year",
"includeDetails": true,
"maxResults": 100
}

Example 4: Most Credible Reports β€” Tier 1

{
"tier": "1",
"includeDetails": true,
"maxResults": 100
}

Example 5: Pilot Reports

{
"category": "pilot_reports",
"includeDetails": true,
"maxResults": 50
}

Example 6: California Sightings

{
"usState": "CA",
"includeDetails": true,
"maxResults": 100
}

Example 7: Custom Date Range

{
"dateFrom": "202401",
"dateTo": "202406",
"includeDetails": true,
"maxResults": 200
}

Example 8: Fast Listing-Only Mode (No Detail Pages)

{
"shape": "Fireball",
"includeDetails": false,
"maxResults": 500
}

Example 9: UK Disk Sightings

{
"shape": "Disk",
"country": "United Kingdom",
"includeDetails": true,
"maxResults": 50
}

πŸ” Input Parameters

ParameterTypeDefaultDescription
shapestring"all"Single UFO shape filter. Ignored when shapesList is provided
shapesListarray[]NEW β€” Batch search multiple shapes. Overrides shape
countrystring""Country name as it appears on NUFORC (e.g. "United Kingdom")
usStatestring""US state code (e.g. "CA", "NY", "TX")
datePresetstring"custom"NEW β€” last_30_days, last_90_days, last_year, or custom
dateFromstring""Start month YYYYMM (ignored when datePreset is not custom)
dateTostring""End month YYYYMM (ignored when datePreset is not custom)
tierstring"all"Credibility tier: 1 (dramatic), 2 (unusual), 3 (unexplained), 4 (explainable)
categorystring"all"highlights (most notable), pilot_reports (aviation pros), or all
keywordFilterstring""NEW β€” Filter by keyword in narrative/summary. Case-insensitive
includeDetailsbooleantrueFetch full detail pages. Set false for faster listing-only mode
maxResultsinteger100Maximum sightings to return (1–10,000). Free tier: 25 per run
requestIntervalSecsnumber1.0Seconds between requests (0.5–10.0)
proxyConfigobjectβ€”Proxy config. Keep disabled β€” NUFORC blocks all proxy IPs via Cloudflare

πŸ“Š Output Format

Each sighting is pushed as a separate dataset item. Download as JSON, CSV, or Excel directly from the Apify dataset UI.

{
"schema_version": "1.0",
"sighting_id": "185039",
"sighting_url": "https://nuforc.org/sighting/?id=185039",
"occurred_date": "2024-01-15 21:30",
"reported_date": "2024-01-16",
"posted_date": "2024-03-15",
"duration": "5 minutes",
"number_of_observers": 3,
"observer_type": "",
"city": "Phoenix",
"state": "AZ",
"country": "USA",
"location_details": "Suburban neighborhood, clear skies",
"shape": "Triangle",
"color": "Orange/Red",
"estimated_size": "Football field",
"estimated_speed": "Slow, hovering",
"viewed_from": "Land",
"direction_from_viewer": "NW",
"angle_of_elevation": "45 degrees",
"closest_distance": "500 feet",
"characteristics": ["Lights", "Silent", "Hovering"],
"summary": "Large triangular object with orange lights hovering silently over neighborhood",
"narrative": "My wife and I were walking the dog around 9:30 PM when we noticed three orange lights forming a triangle in the northwest sky...",
"has_media": "N",
"explanation": "",
"tier": "1",
"scraped_at": "2025-02-15T12:00:00+00:00"
}

Output Fields

  • sighting_id / sighting_url: Unique NUFORC sighting ID and direct link to the report
  • occurred_date / reported_date / posted_date: When it happened, when it was reported, when NUFORC posted it
  • duration: How long the sighting lasted (free text)
  • number_of_observers / observer_type: Who saw it and their background (pilot, military, etc.)
  • city / state / country / location_details: Geographic information
  • shape / color / estimated_size / estimated_speed: Object physical description
  • viewed_from / direction_from_viewer / angle_of_elevation / closest_distance: Observation geometry
  • characteristics: Array of object behaviors (e.g. ["Lights", "Silent", "Hovering"])
  • summary: One-line summary from the listing page
  • narrative: Full witness account from the detail page (only when includeDetails is true)
  • has_media / explanation: Whether images exist and NUFORC's explanation (if any)
  • tier: NUFORC credibility rating β€” 1 (most credible) through 4 (likely explainable)

πŸ€– MCP Integration

Wire this actor directly into your AI agent pipeline via the Apify MCP server. Add to your MCP client config:

{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}

Then ask your AI: "Find all credible triangle UFO sightings in Arizona from the last 90 days and summarize the patterns"

The actor returns structured JSON that LLMs can reason over directly β€” shapes, locations, dates, credibility tiers, and full witness narratives in a consistent schema.


πŸ’° Pricing

Pay-per-result at $0.0005 per sighting ($0.50 per 1,000 sightings).

Free tier: 25 results per run at no cost β€” enough to test your integration and verify the data shape.


πŸ“ Notes

  • Data Source: All data from NUFORC (National UFO Reporting Center), a volunteer-run nonprofit
  • Request Pacing: Default 1-second interval. Please be respectful β€” NUFORC is volunteer-operated
  • Two Scraping Modes: includeDetails: false is ~10x faster but returns only summary fields from listing pages
  • Date Defaults: With no date range or preset specified, the actor scrapes the last 3 months of reports
  • Deduplication: Results are automatically deduplicated by sighting ID within a single run
  • State Persistence: Supports Apify state persistence for resumable long-running scrapes
  • No API Key Needed: NUFORC is a public website β€” no registration or API key required
  • Export Formats: Download results as JSON, CSV, or Excel from the Apify dataset UI

⚠️ Proxy Configuration

As of March 2026, NUFORC uses Cloudflare which blocks all proxy IPs. The scraper automatically disables proxies regardless of your input settings.

  • Proxies are not required and will cause timeouts if enabled
  • Direct connections work reliably and are faster
  • If you see timeout errors, ensure you're running the latest version

See ./TROUBLESHOOTING.md for detailed debugging steps.


Made with ❀️ for UFO researchers, data journalists, AI builders, and curious minds

The truth is in the data. Scrape it.