Show HN: Scry, programmable internet search w/ congestion pricing
Introducing Scry: Programmable Internet Research via Congestion Pricing
Scry is currently in open alpha—a "one-person vibe coding" project designed to tame the vastness of the digital wilderness.
At its core, Scry is a Model Context Protocol (MCP) server. It empowers AI agents to execute complex programs across billions of web documents, transforming the internet from a collection of pages into a queryable database for both curiosity and commercial gain.
🌐 The Data Landscape
Scry indexes a massive array of high-signal sources:
- Community Hubs: Reddit, Hacker News, LessWrong, Stack Exchange.
- Knowledge Bases: Wikipedia, arXiv.
- Speculative Markets: Various prediction markets.
Millions of new entries are ingested daily. Instead of scraping a few pages, agents can pull thousands of rows or compute a final answer derived from every matching document in the corpus.
📊 Scale and Velocity
As of 19:15 UTC, the estate looks like this:
| Metric | Value (LaTeX) | Frequency |
|---|---|---|
| Queryable Rows | Counted every 5 min | |
| Total Held Estate | Counted every 5 min | |
| 24h Growth | Live capture & backfill | |
| Ingestion Rate | Daily average |
🚀 Performance Benchmarks
When tested against Google's DeepSearchQA (using 900 research questions with exact-set grading), Scry demonstrated superior precision:
The Result: An agent utilizing Scry achieved a 71.8% full-correctness rate. In comparison, Google's Kaggle leaderboard lists the Gemini Deep Research Agent at 66.1%.
Note: This was achieved using the same judge model and grading prompts. All transcripts are available on the DeepSearchQA page.
🛠️ How It Works
People search for pages Agents query underlying records.
Instead of repeated searches and fragile scraping, Scry treats the web as a set of relations.
The Workflow:
- Schema Discovery: The agent fetches the live schema via
GET /v1/scry/schema. - Relation Selection: It identifies a source-native relation and any available vector helpers.
- Bounded Execution: It writes a single query involving:
- Phrase matching
- Temporal windows
- Joins
- Vector composition
Each statement is read-only and constrained by a deadline, a memory ceiling, and a row limit.
Integration Checklist:
- Add MCP server:
https://mcp.scry.io - Compatible with ChatGPT
- Compatible with Claude / Claude Code
- Compatible with Codex / Cursor
🧬 Deep Dive: The Reddit Relation
The reddit.posts table acts as a near-census of submissions from 2005-06-23 to 2026-09-18.
Schema Definition:
| Column | Type | Description |
|---|---|---|
id | String | Global base36 counter |
subreddit | String | The community name |
author | String | User who posted |
created_utc | DateTime | Timestamp |
title | String | Post headline |
selftext | String | Body text (empty for links) |
score | Int32 | Net upvotes |
num_comments | Int32 | Total replies |
upvote_ratio | Float32 | Ratio of up/down votes |
domain | String | Target domain for link posts |
url | String | The destination link |
search_text_lc | String | lower(title + selftext), token-indexed |
The comment tree is stored in reddit.comments, joined via link_id = concat('t3_', id).
💻 Programmatic Examples
1. Graph Traversal (The "Who is Hiring" Problem)
To find the depth of a thread, Scry uses a fixpoint over the reply graph rather than a simple search.
The Query:
POST /v1/scry/query
{
"program" : {
"relations" : {
"seed" : { "bodies" : [[{ "ids" : [ "49522897" ]}]]},
"thread" : {
"bodies" : [
[{ "rel" : "seed" }],
[{ "rel" : "thread" }, { "edge" : "hackernews.children" }]
]
}
},
"out" : [],
"depth" : 16
}
}
Result: 417 nodes reached in 354ms across 10 statements.
2. Vector Composition (Finding Concepts)
Can you find a failure mode without naming it? By averaging three descriptive vectors (metrics, classrooms, reward hacking) and ranking LessWrong posts while excluding the term "Goodhart's Law," Scry identified "specification gaming" and "fitness-seeking AIs" as top results.
POST /v1/scry/embed
{
"name" : "metric",
"text" : "Once a measure becomes a target, people improve the reported number instead of the outcome..."
}
🎯 Mission & Access
Mission Statement: Scry is public-benefit infrastructure. It is subsidized for independent, non-commercial research and sustained by commercial partnerships. The goal is to enable search over public evidence where every result is fully traceable.
Access Tiers:
- Public: Standard queryable relations.
- Reviewed: Some sources are in the "held estate" but require approved access.
- Commercial: For custom builds, large-scale evals, or dataset access, contact
hi@scry.io.
Feedback: Send requests to POST https://api.scry.io/v1/feedback (no credentials required).