TensorFeed API
Free, no-auth JSON API for AI news, status, and model data.
This API is Agent Fair-Trade certified.
AFTAOpen pricing, code-enforced no-charge on 5xx, breaker, schema fail, or stale data. Ed25519-signed receipts on every paid call. Read the full standard and machine-readable manifest at /.well-known/agent-fair-trade.json.
Rate Limits
No API key needed. CORS enabled. Cache responses appropriately. All endpoints return JSON unless otherwise noted. Base URL: https://tensorfeed.ai
Premium Agent API (paid, USDC on Base)
Pay-per-call premium tier for ranked model routing recommendations and computed intelligence. USDC on Base, no accounts, no API keys, no traditional processors. See the full payment flow, endpoints, and SDK examples.
Run live queries against every free endpoint in your browser. No login, no key. See the JSON, copy the curl.
Drop-in tools and document loaders for the three major Python agent frameworks. pip install tensorfeed[langchain].
Full machine-readable spec at /openapi.yaml and /openapi.json. Drop into Swagger UI, Postman, or any code generator.
Pre-built collection (33 requests, 20 folders) at /postman-collection.json. Import directly into Postman or any tool that speaks Collection v2.1.
Daily JSONL mirror at tensorfeed/ai-ecosystem-daily. 46 feeds, inference-only license. load_dataset(repo, "news").
Endpoints
/api/news?category=OpenAI&limit=10AI news articles from all major sources. Filter by category or limit results.
Cache for 5 minutes
Example response
{
"ok": true,
"articles": [
{
"title": "GPT-4.5 Now Available in API",
"source": "OpenAI Blog",
"url": "https://openai.com/...",
"category": "OpenAI",
"publishedAt": "2026-03-28T12:00:00Z"
}
]
}/api/statusReal-time operational status for all major AI services including Claude, OpenAI, Gemini, and more.
Cache for 2 minutes
Example response
{
"ok": true,
"services": [
{
"name": "Claude API",
"provider": "Anthropic",
"status": "operational",
"components": [
{ "name": "API", "status": "operational" },
{ "name": "Console", "status": "operational" }
],
"lastChecked": "2026-03-28T12:00:00Z"
}
]
}/api/status/summaryQuick summary of all service statuses. Lighter payload for dashboards and monitoring.
Cache for 2 minutes
Example response
{
"ok": true,
"summary": {
"total": 8,
"operational": 7,
"degraded": 1,
"down": 0
}
}/api/status/leaderboardCross-provider uptime ranking computed from minute-resolution counters (one sample every 2 minutes per provider, ~720 samples per provider per day). Returns providers ranked by uptime % DESC with downtime_minutes, hard_down_minutes, and per-bucket poll counts. Free tier capped at 7 days; the paid /api/premium/status/leaderboard extends to 90 days and adds incident_count + mttr_minutes per provider.
Cache for 5 minutes
Example response
// Query: ?days=7
{
"ok": true,
"range": { "from": "2026-04-28", "to": "2026-05-04", "days": 7 },
"generated_at": "2026-05-04T21:00:00Z",
"entry_count": 10,
"poll_interval_minutes": 2,
"entries": [
{
"provider": "Claude API",
"rank": 1,
"uptime_pct": 99.9802,
"polls": 5040,
"operational_polls": 5038,
"degraded_polls": 2,
"down_polls": 0,
"unknown_polls": 0,
"downtime_minutes": 4,
"hard_down_minutes": 0
}
]
}/api/modelsAI model pricing and specifications across all major providers. Input/output costs per 1M tokens, context windows.
Cache for 1 hour
Example response
{
"ok": true,
"lastUpdated": "2026-03-28",
"providers": [
{
"name": "Anthropic",
"models": [
{
"id": "claude-opus-4-6",
"name": "Claude Opus 4.6",
"inputPrice": 15.00,
"outputPrice": 75.00,
"contextWindow": 200000
}
]
}
]
}/api/capital-cycles?era=modernCurated registry of historical technology capital buildouts (UK and US railways, electrification, the Bell telephone network, the dotcom telecom-fiber overbuild, the 1920s radio mania), each summarized on a fixed metric skeleton. The current AI infrastructure buildout is mapped into the same shape (current_cycle) so it can be ranked against the historical set on the one cross-era-comparable axis, peak annual capex as a percent of national GDP. Filter by era (pre_1931 or modern).
Cache for 1 hour
Example response
// Query: ?era=modern
{
"ok": true,
"source": "tensorfeed.ai",
"count": 2,
"last_updated": "2026-06-07",
"gdp_denominator": {
"value_usd_t": 31.8,
"source_url": "https://fred.stlouisfed.org/series/GDP",
"as_of": "Q1 2026 nominal GDP, seasonally adjusted annual rate, BEA via FRED"
},
"cycles": [
{
"id": "dotcom-fiber",
"name": "Dotcom and Telecom-Fiber Overbuild",
"era": "modern",
"period": "1995-2002",
"lead_sector": "telecom and internet infrastructure",
"peak_capex_pct_gdp": 1.2,
"physical_unit": "miles of fiber laid in North America and Europe",
"physical_value": 80000000,
"peak_to_trough_drawdown_pct": 78.0,
"boom_to_bust_years": 7,
"confidence": "high"
}
],
"current_cycle": {
"id": "ai-buildout",
"name": "AI infrastructure buildout",
"era": "modern",
"peak_capex_pct_gdp": 1.887,
"annual_capex_usd_b": 600,
"capex_range_low_pct": 0.8,
"capex_range_high_pct": 2.4,
"physical_unit": "datacenter MW (disclosed)",
"physical_value": 24500,
"in_progress": true,
"captured_at": "2026-06-07T00:00:00Z"
},
"filters": { "era": "modern" }
}/api/agents/directoryDirectory of AI agents and autonomous systems with descriptions, categories, and links.
Cache for 15 minutes
Example response
{
"ok": true,
"agents": [
{
"name": "Devin",
"category": "Coding",
"description": "Autonomous software engineer...",
"url": "https://devin.ai"
}
]
}/api/agents/activityAgent traffic metrics and activity data showing how AI agents interact with TensorFeed.
Cache for 5 minutes
Example response
{
"ok": true,
"metrics": {
"totalRequests": 12450,
"uniqueAgents": 38,
"topEndpoints": ["/api/news", "/api/status"]
}
}/api/statsLifetime traction counter. usd_received and paid_settlements are the real-money figures: gross USD settled and the number of settlements, gross of our own test purchases. premium_responses_served counts every premium response served, including free-trial-served calls and our own automated testing, so it is not a measure of external paid demand. Each response returns a signed AFTA receipt when the receipt key is provisioned. Free, no auth.
Cache for 60 seconds
Example response
{
"ok": true,
"premium_calls_served": 1342,
"total_credits_charged": 1810,
"usd_received": 184.5,
"paid_settlements": 37,
"premium_responses_served": 1342,
"each_call_returns_signed_afta_receipt": true,
"first_at": "2026-04-27T00:00:00.000Z",
"last_at": "2026-05-17T16:44:09.512Z",
"headline": "$184.5 received across 37 settlements; 1342 premium responses served, each returning a signed AFTA receipt"
}/api/healthSimple health check endpoint. Returns 200 if the service is running.
No cache needed
Example response
{
"ok": true,
"status": "healthy",
"timestamp": "2026-03-28T12:00:00Z"
}/api/metaEndpoint discovery. Lists all available API routes, descriptions, and formats.
Cache for 1 hour
Example response
{
"ok": true,
"endpoints": [
{ "path": "/api/news", "method": "GET", "description": "AI news articles" },
{ "path": "/api/status", "method": "GET", "description": "Service status" }
]
}/api/meta/officialAnti-impersonation attestation. Canonical, machine-readable list of every authentic TensorFeed surface (packages, SDKs, MCP servers, repos, dataset, well-knowns, API) plus the one true Base payment address. Verify any package or payTo claiming to be TensorFeed against this list before trusting it.
Cache for 1 hour
Example response
{
"ok": true,
"site": "tensorfeed.ai",
"payment": { "network": "base", "pay_to": "0x549c82e6..." },
"count": 27,
"surfaces": [
{ "category": "mcp", "name": "TensorFeed data MCP server", "identifier": "@tensorfeed/mcp-server" }
]
}/feed.xmlRSS 2.0 feed of the latest AI news articles. Compatible with all standard feed readers.
Cache for 5 minutes
Example response
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>TensorFeed.ai</title>
<item>
<title>GPT-4.5 Now Available</title>
<link>https://openai.com/...</link>
</item>
</channel>
</rss>/feed.jsonJSON Feed 1.1 format. Same content as the RSS feed but in JSON for easier parsing.
Cache for 5 minutes
Example response
{
"version": "https://jsonfeed.org/version/1.1",
"title": "TensorFeed.ai",
"items": [
{
"id": "...",
"title": "GPT-4.5 Now Available",
"url": "https://openai.com/..."
}
]
}/api/gpu/pricingAggregated GPU rental pricing across cloud GPU marketplaces (RunPod when key configured + Lambda Labs public-pricing snapshot; CoreWeave, hyperscalers planned). Cheapest on-demand and spot price per canonical GPU class (H200, H100, A100, RTX 4090, MI300X, etc), normalized from heterogeneous provider naming. Refreshed every 4 hours. Daily snapshot powers the free /api/gpu/pricing/series endpoint.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"capturedAt": "2026-04-29T18:15:00Z",
"providers": ["vast", "runpod"],
"by_canonical": [
{
"canonical": "H100", "vram_gb": 80,
"provider_count": 2, "total_offers": 47,
"cheapest_on_demand": { "provider": "runpod", "usd_hr": 1.99, "gpu_raw": "H100 80GB SXM5" },
"cheapest_spot": { "provider": "vast", "usd_hr": 1.45, "gpu_raw": "H100" }
}
]
}
}/api/gpu/pricing/cheapest?gpu=H100&type=on_demand|spotTop 3 cheapest current GPU offers for one canonical GPU class. Designed as the agent-friendly entry point: an agent picking a GPU does not need the full snapshot, just where to rent this right now and for how much.
Cache for 5 minutes
Example response
{
"ok": true,
"gpu": "H100", "vram_gb": 80, "type": "on_demand",
"results": [
{ "provider": "runpod", "usd_hr": 1.99, "gpu_raw": "H100 80GB SXM5", "available_count": 2, "region": null },
{ "provider": "vast", "usd_hr": 2.10, "gpu_raw": "H100 PCIe", "available_count": 1, "region": "US-East" }
]
}/api/papers/ai-trendingDaily curated AI/ML research papers, sourced from Semantic Scholar and ranked by citation count. Five fan-out queries (large language model, transformer, RLHF, AI agents, diffusion model) merged and deduped by paperId. Each paper carries title, abstract, authors, year, venue, citation count, arxivId, doi, and fieldsOfStudy. Refreshed daily at 11:00 UTC.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"date": "2026-05-04",
"capturedAt": "2026-05-04T11:00:00Z",
"total_papers": 30,
"papers": [
{
"paperId": "...",
"title": "Attention Is All You Need",
"abstract": "...",
"authors": ["Vaswani", "Shazeer"],
"year": 2017,
"venue": "NeurIPS",
"citationCount": 100000,
"arxivId": "1706.03762",
"doi": "10.x/y",
"url": "https://...",
"fieldsOfStudy": ["Computer Science"]
}
],
"summary": {
"by_year": { "2025": 12, "2024": 9 },
"top_venues": [{ "venue": "NeurIPS", "count": 4 }],
"top_authors": [{ "author": "...", "count": 2 }]
}
}
}/api/todayComposite "AI ecosystem today" brief. Single edge-cached endpoint that fans out across every daily TensorFeed feed (news, 3 paper feeds, HF models/datasets/Spaces, hot GitHub issues, Reddit threads, OpenRouter catalog summary, provider status) and returns a structured response. Saves a client from orchestrating 9 separate calls. Optional ?sections=news,papers,hf,community,inference,status filter and ?limit=1-10 (default 3 items per subsection).
Cache for 5 minutes
Example response
{
"ok": true,
"generated_at": "2026-05-04T15:00:00.000Z",
"sections_included": ["news","papers","hf","community","inference","status"],
"limit_per_section": 3,
"news": { "available": true, "captured_at": "...", "data": { "items": [...] } },
"papers": { "available": true, "data": { "ai_trending": {...}, "arxiv_recent": {...}, "hf_daily": {...} } },
"hf": { "available": true, "data": { "models": [...], "datasets": [...], "spaces": [...] } },
"community": { "available": true, "data": { "github_issues": [...], "reddit": [...] } },
"inference": { "available": true, "data": { "total_models": 240, "cheapest_input": {...}, "free_tier_count": 8, ... } },
"status": { "available": true, "data": { "all_operational": true, "service_count": 14, "issues": [] } }
}/api/papers/hf-dailyHugging Face's editor-curated daily AI/ML papers feed, layered with community upvotes and discussion counts. Different signal from /api/papers/arxiv-recent (firehose of recent submissions) and /api/papers/ai-trending (citation-ranked all-time): this is editor picks of-the-day with HF community engagement on top. Each paper carries paperId, title (sanitized at capture time), summary, authors, upvotes, num_comments, hf_url, arxiv_url (when arxiv-style), github_repo, github_stars, ai_keywords. Refreshed daily at 14:15 UTC.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"date": "2026-05-04",
"capturedAt": "2026-05-04T14:30:00Z",
"total_papers": 30,
"papers": [
{
"paperId": "2401.12345",
"title": "...",
"summary": "...",
"authors": ["Alice", "Bob"],
"upvotes": 142,
"num_comments": 12,
"hf_url": "https://huggingface.co/papers/2401.12345",
"arxiv_url": "https://arxiv.org/abs/2401.12345",
"github_repo": "https://github.com/foo/bar",
"github_stars": 1500,
"ai_keywords": ["llm","reasoning"]
}
],
"summary": {
"by_keyword": [{ "keyword": "llm", "count": 12 }],
"most_upvoted": { "paperId": "...", "title": "...", "upvotes": 280 },
"most_discussed": { "paperId": "...", "title": "...", "comments": 45 }
}
}
}/api/papers/arxiv-recentMost recent arXiv submissions in cs.AI / cs.LG / cs.CL / cs.CV. Single call to the arXiv Atom API, parsed, deduped by arxivId, sorted by publication date. Each entry carries title, abstract, authors, primary category, all categories, publishedAt, updatedAt, htmlUrl, pdfUrl, and doi. Refreshed daily at 11:30 UTC. Pairs with /api/papers/ai-trending: arxiv-recent is the firehose of brand-new submissions, ai-trending is the citation-ranked top of the field.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"date": "2026-05-04",
"capturedAt": "2026-05-04T11:30:00Z",
"total_papers": 50,
"categories_queried": ["cs.AI", "cs.LG", "cs.CL", "cs.CV"],
"papers": [
{
"arxivId": "2401.12345",
"version": "v2",
"title": "...",
"abstract": "...",
"authors": ["Alice", "Bob"],
"primaryCategory": "cs.AI",
"publishedAt": "2026-05-04T09:00:00Z",
"htmlUrl": "https://arxiv.org/abs/2401.12345v2",
"pdfUrl": "https://arxiv.org/pdf/2401.12345v2"
}
]
}
}/api/research/authorsFree top-25 preview of AI researchers ranked by publication volume over the trailing 365 days, with h-index, citation count, primary affiliation, ORCID, and AI-publication share. Source: OpenAlex (CC0). The full top-100 is the paid /api/premium/research/authors.
Cache for 30 minutes
Example response
{
"ok": true,
"capturedAt": "2026-06-03T04:00:00Z",
"window_days": 365,
"concept": "Artificial intelligence",
"authors": [
{
"rank": 1,
"display_name": "Jane Researcher",
"orcid": "0000-0002-1825-0097",
"primary_affiliation": "Stanford University",
"ai_works_last_year": 42,
"total_works_count": 310,
"cited_by_count": 18000,
"h_index": 70,
"i10_index": 180,
"ai_share_pct": 88.0
}
],
"source": "OpenAlex (CC0)"
}/api/research/citation-velocityFree top-25 preview of AI papers from the last 2 years ranked by the share of their total citations that arrived in the most recent calendar year (what is being cited fastest now, not all-time most cited). OpenAlex (CC0), cross-checked against Semantic Scholar.
Cache for 30 minutes
Example response
{
"ok": true,
"capturedAt": "2026-06-03T04:00:00Z",
"papers": [
{
"rank": 1,
"title": "A Recent Influential Paper",
"publication_year": 2024,
"cited_by_count": 1200,
"citations_latest_year": 900,
"citations_latest_year_share": 0.75,
"venue": "NeurIPS",
"doi": "10.x/y",
"first_three_authors": ["Alice", "Bob", "Carol"],
"s2": { "tldr": "...", "influential_citation_count": 140 }
}
],
"source": "OpenAlex (CC0) + Semantic Scholar"
}/api/research/conference-acceptancesFree. Notable-tier (Oral and Spotlight) accepted papers from current top ML venues (ICLR, NeurIPS, ICML) via OpenReview public metadata. Each paper carries title, authors, decision tier, primary area, keywords, a clipped abstract, and the forum_url. Link and summarize, no full-text republish.
Cache for 30 minutes
Example response
{
"ok": true,
"capturedAt": "2026-06-03T00:00:00Z",
"venues": ["ICLR 2026", "NeurIPS 2025"],
"paper_count": 120,
"papers": [
{
"title": "An Accepted Paper",
"authors": ["Alice", "Bob"],
"venue_group": "ICLR 2026",
"tier": "Oral",
"primary_area": "representation learning",
"keywords": ["llm", "reasoning"],
"abstract_snippet": "...",
"forum_url": "https://openreview.net/forum?id=...",
"pdf_url": "https://openreview.net/pdf?id=..."
}
]
}/api/research/nlp-proceedingsFree. Recent papers from the current ACL, EMNLP, and NAACL proceedings via the ACL Anthology. Each paper carries title, authors, a clipped abstract, and the Anthology url. Abstracts CC-BY, link and summarize, no full-text republish.
Cache for 30 minutes
Example response
{
"ok": true,
"capturedAt": "2026-06-03T00:00:00Z",
"venues": ["ACL 2026", "EMNLP 2025"],
"paper_count": 80,
"papers": [
{
"title": "An NLP Paper",
"authors": ["Alice", "Bob"],
"venue_group": "ACL 2026",
"abstract_snippet": "...",
"url": "https://aclanthology.org/2026.acl-long.1/",
"doi": "10.x/y"
}
]
}/api/research/lab-blogsFree. Recent posts from major AI lab and academic research blogs (Google DeepMind, Google Research, Berkeley BAIR, MIT News AI, Hugging Face), aggregated newest-first. Each post carries title, source blog, a clipped snippet, published date, and the link. Aggregated public RSS, link and summarize, no full-text republish.
Cache for 30 minutes
Example response
{
"ok": true,
"capturedAt": "2026-06-03T00:00:00Z",
"post_count": 40,
"posts": [
{
"title": "A Research Blog Post",
"url": "https://deepmind.google/discover/blog/post",
"source": "Google DeepMind",
"snippet": "...",
"published_at": "2026-06-02T12:00:00Z"
}
]
}/api/research/milestonesFree top-25 preview of arXiv papers from the last 30 days flagged is_milestone_candidate by the TensorFeed offline extraction pipeline. Each paper carries the named benchmark plus quantified delta, model release, or novel architecture behind the flag. The full set is the paid /api/premium/research/milestones.
Cache for 30 minutes
Example response
{
"ok": true,
"capturedAt": "2026-06-03T00:00:00Z",
"window_days": 30,
"total": 25,
"papers": [
{
"arxiv_id": "2606.01234",
"date": "2026-06-01",
"subfield_tag": "reasoning",
"methodology_bucket": "benchmark",
"title": "A Milestone Paper",
"affiliations": ["A Lab"],
"milestone_reasoning": "Sets a new SWE-bench Verified high of X percent.",
"summary": "..."
}
]
}/api/research/emerging-keywordsFree top-25 preview of multi-word keyphrases across recent arXiv AI abstracts ranked by recent-vs-baseline lift, surfacing emerging research terminology before it shows up in citation counts. The top-50 full set is the paid /api/premium/research/emerging-keywords.
Cache for 30 minutes
Example response
{
"ok": true,
"capturedAt": "2026-06-03T00:00:00Z",
"recent_window_days": 14,
"baseline_window_days": 90,
"total": 25,
"keywords": [
{
"keyword": "test time compute",
"recent_count": 38,
"baseline_count": 6,
"lift": 6.3,
"example_arxiv_ids": ["2606.01234", "2606.05678"]
}
]
}/api/intelligenceFree headline ranking of the TensorFeed Model Intelligence Index (TFII): a versioned composite score (0 to 100) per AI model derived from public benchmarks (MMLU-Pro, HumanEval, GPQA-Diamond, MATH, SWE-bench) and discounted for contamination and saturation. The signed per-model breakdown is the paid /api/premium/model-intelligence.
Cache for 5 minutes
Example response
{
"ok": true,
"as_of": "2026-06-03",
"methodology_version": "1.x",
"methodology_url": "https://tensorfeed.ai/intelligence",
"count": 40,
"models": [
{ "rank": 1, "model_id": "claude-opus-4-8", "name": "Claude Opus 4.8", "provider": "Anthropic", "tfii": 87.4 }
]
}/api/hf/trendingTop Hugging Face models, datasets, and Spaces (the three asset classes). Models and datasets ranked by downloads (top 30 each); Spaces ranked by likes (top 30, since downloads is meaningless for hosted apps). Captured daily at 12:00 UTC against the public HF API (no auth). Once we have multiple days of snapshots, day-over-day deltas become a real "trending" signal. Pairs with the existing TensorFeed HF dataset (tensorfeed/ai-ecosystem-daily) which we publish back into the HF community.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"date": "2026-05-04",
"capturedAt": "2026-05-04T12:00:00Z",
"models": {
"sort": "downloads", "count": 30,
"items": [
{ "id": "sentence-transformers/all-MiniLM-L6-v2",
"downloads": 12000000, "likes": 1800,
"pipeline_tag": "sentence-similarity",
"tags": ["sentence-transformers"], "lastModified": "..." }
]
},
"datasets": { "sort": "downloads", "count": 30, "items": [...] },
"spaces": {
"sort": "likes", "count": 30,
"items": [
{ "id": "huggingface-projects/llama-3-8b-demo",
"author": "huggingface-projects", "sdk": "gradio",
"likes": 4200, "tags": ["chat","llm"],
"runtime_stage": "RUNNING", "hardware": "a10g-large" }
]
},
"summary": {
"top_pipeline_tags": [{ "tag": "text-generation", "count": 12 }],
"top_namespaces": [{ "namespace": "meta-llama", "count": 4 }],
"top_space_sdks": [{ "sdk": "gradio", "count": 21 }]
}
}
}/api/issues/hotCurrently-hot GitHub issues across the AI ecosystem, ranked by comment count. Five fan-out keyword-phrase searches ("large language model", "AI agent", transformer, "machine learning", LLM) filtered to is:issue is:open archived:false with comments>=10 and activity within the last 7 days. Deduped by URL, top 30 returned. Refreshed daily at 12:30 UTC. Companion to /api/trending-repos: that one shows which AI repos are gaining stars; this one shows where the active conversations are.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"date": "2026-05-04",
"capturedAt": "2026-05-04T12:30:00Z",
"total_issues": 30,
"topics_queried": ["llm", "ai-agents", "large-language-models", "machine-learning", "transformer"],
"recent_window_days": 7,
"comments_threshold": 10,
"issues": [
{
"url": "https://github.com/foo/bar/issues/42",
"repo": "foo/bar",
"number": 42,
"title": "...",
"author": "alice",
"state": "open",
"comments": 87,
"reactions_total": 42,
"labels": ["bug", "help wanted"],
"created_at": "2026-04-30T09:00:00Z",
"updated_at": "2026-05-04T11:15:00Z",
"matched_topic": "llm"
}
],
"summary": {
"by_topic": { "llm": 12, "ai-agents": 6 },
"top_repos": [{ "repo": "foo/bar", "count": 3 }]
}
}
}/api/openrouter/modelsDaily snapshot of OpenRouter's normalized cross-provider model catalog. 200+ models across 50+ inference providers (Anthropic, OpenAI, Google, Meta, Mistral, DeepSeek, Together, Fireworks, Groq, etc) with comparable per-token pricing (prompt, completion, image, request), context window, modality (e.g. text+image->text), instruct_type, tokenizer, top provider metadata (max_completion_tokens, is_moderated), and supported_parameters. Snapshot summary surfaces by_namespace, by_modality, cheapest_input/output (excluding free tier), largest_context, and free_tier_count. Pairs with /api/models: curated frontier-lab catalog there, OSS-on-cloud long tail here. Refreshed daily at 14:00 UTC.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"date": "2026-05-04",
"capturedAt": "2026-05-04T14:00:00Z",
"total_models": 240,
"models": [
{
"id": "anthropic/claude-3.5-sonnet",
"name": "Claude 3.5 Sonnet",
"context_length": 200000,
"modality": "text+image->text",
"instruct_type": "claude",
"pricing": { "prompt": 0.000003, "completion": 0.000015, "image": 0.0048, "request": 0 },
"top_provider": { "max_completion_tokens": 8192, "is_moderated": true },
"supported_parameters": ["temperature", "top_p", "tools"]
}
],
"summary": {
"by_namespace": [{ "namespace": "anthropic", "count": 4 }, { "namespace": "openai", "count": 12 }],
"by_modality": { "text->text": 180, "text+image->text": 35 },
"cheapest_input": { "id": "...", "usd_per_million": 0.07 },
"cheapest_output": { "id": "...", "usd_per_million": 0.21 },
"largest_context": { "id": "...", "tokens": 2000000 },
"free_tier_count": 8
}
}
}/api/reddit/trendingCurrently-hot threads in 7 AI-relevant subreddits (LocalLLaMA, MachineLearning, ClaudeAI, OpenAI, singularity, artificial, AI_Agents). Each subreddit polled via the public Reddit JSON endpoint, stickied and NSFW posts filtered, deduped by post id, top 30 by score. Refreshed daily at 13:00 UTC. Companion to /api/issues/hot: GitHub developer conversation vs Reddit community conversation. Titles pass through TensorFeed prompt-injection sanitization at capture time.
Cache for 10 minutes
Example response
{
"ok": true,
"snapshot": {
"date": "2026-05-04",
"capturedAt": "2026-05-04T13:00:00Z",
"total_posts": 30,
"subreddits_queried": ["LocalLLaMA","MachineLearning","ClaudeAI","OpenAI","singularity","artificial","AI_Agents"],
"posts": [
{
"id": "t3_abc123",
"subreddit": "LocalLLaMA",
"title": "...",
"author": "someone",
"score": 1500,
"upvote_ratio": 0.94,
"num_comments": 230,
"permalink": "https://reddit.com/r/LocalLLaMA/comments/abc123/...",
"url": "https://huggingface.co/...",
"created_utc": 1714824000,
"flair": "New Model",
"is_self": false,
"is_video": false
}
],
"summary": {
"by_subreddit": { "LocalLLaMA": 11, "MachineLearning": 6 },
"top_authors": [{ "author": "someone", "count": 2 }]
}
}
}/api/agents/news.jsonAlias for /api/news. Agent-friendly URL for news data.
Cache for 5 minutes
Example response
{ "ok": true, "articles": [...] }/api/agents/status.jsonAlias for /api/status. Agent-friendly URL for status data.
Cache for 2 minutes
Example response
{ "ok": true, "services": [...] }/api/agents/pricing.jsonAlias for /api/models. Agent-friendly URL for pricing data.
Cache for 1 hour
Example response
{ "ok": true, "providers": [...] }/api/history/newsDaily archive of TensorFeed deduped news articles for one UTC date. Free tier capped at 25 articles per day. Each daily snapshot is captured by every hourly RSS poll, so the value at lookup is the last poll before the day ended (or the most recent poll for today). Full untruncated archive and date ranges live behind the premium /api/premium/history/news/full endpoint.
Cache for 24 hours
Example response
// Query: ?date=2026-05-08&limit=10
{
"ok": true,
"tier": "free",
"date": "2026-05-08",
"captured_at": "2026-05-08T14:00:11Z",
"articles_count": 187,
"articles_returned": 10,
"articles": [{ "title": "...", "url": "...", "source": "..." }]
}/api/history/news/sourcesPer-source RSS poll reliability rollup for one UTC date. Each entry carries polls (total polls in the UTC day), polls_ok, polls_empty, polls_error, articles_total, reliability_pct, last_status, and last_error. Free, no auth. Sorted by reliability_pct descending. Multi-day series at the premium /api/premium/history/news/source-health endpoint.
Cache for 1 hour
Example response
// Query: ?date=2026-05-08
{
"ok": true,
"tier": "free",
"date": "2026-05-08",
"total_polls": 14,
"sources_count": 12,
"sources": [
{ "id": "anthropic", "name": "Anthropic Blog", "polls": 14, "polls_ok": 14, "polls_empty": 0, "polls_error": 0, "articles_total": 18, "reliability_pct": 100, "last_status": "ok" }
]
}/api/history/news/datesOrdered list of UTC dates with a daily news snapshot available. Free, no auth. Useful for paging the archive backward from today.
Cache for 1 hour
Example response
{ "ok": true, "tier": "free", "count": 3, "dates": ["2026-05-06", "2026-05-07", "2026-05-08"] }/api/history/news/sources/datesOrdered list of UTC dates with a source-health rollup available. Free, no auth.
Cache for 1 hour
Example response
{ "ok": true, "tier": "free", "count": 3, "dates": ["2026-05-06", "2026-05-07", "2026-05-08"] }/api/security/cve/{CVE-id}Single CVE Record v5.2 lookup, lazy-fetched from MITRE's open CVE Services API and cached 7 days. Path id is canonical CVE-YYYY-NNNNN form (case insensitive on input). License: MITRE CVE Terms of Use, commercial redistribution explicitly permitted; the response includes the standard attribution block.
Cache for 1 hour
Example response
// GET /api/security/cve/CVE-2024-3094
{
"ok": true,
"cve_id": "CVE-2024-3094",
"source": "cache",
"fetched_at": "2026-05-08T19:00:00Z",
"record": {
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": { "cveId": "CVE-2024-3094", "state": "PUBLISHED", "datePublished": "2024-03-29T16:51:12Z" },
"containers": { "cna": { "title": "xz: malicious code in distributed source" } }
},
"attribution": {
"source": "MITRE CVE List",
"source_url": "https://www.cve.org",
"license": "MITRE CVE Terms of Use",
"redistribution": "commercial-permitted"
}
}/api/security/cve/recentRing buffer of CVE IDs added or modified in the cvelistV5 GitHub repo over roughly the last 24 hours. Daily cron walks commit history and dedupes. Pair with /api/security/cve/{id} for the per-record body.
Cache for 5 minutes
Example response
// Query: ?limit=10
{
"ok": true,
"tier": "free",
"count": 10,
"cve_ids": ["CVE-2026-2042", "CVE-2026-2041", "CVE-2026-2040", "..."],
"last_capture": { "last_run": "2026-05-08T04:30:11Z", "newly_seen": 187, "scanned_commits": 42 }
}/api/security/cve/by-date/{YYYY-MM-DD}CVE IDs added or modified in cvelistV5 commits on one UTC day. Free, no auth. The data moat compounds with each daily run; older dates predate this endpoint.
Cache for 24 hours
Example response
// GET /api/security/cve/by-date/2026-05-08
{
"ok": true,
"tier": "free",
"date": "2026-05-08",
"count": 187,
"cve_ids": ["CVE-2026-1942", "CVE-2026-1943", "CVE-2026-1944", "..."]
}/api/security/cve/datesOrdered list of UTC dates with CVE-by-date data captured. Free, no auth. Useful for paging the archive backward from today.
Cache for 1 hour
Example response
{ "ok": true, "tier": "free", "count": 1, "dates": ["2026-05-08"] }/api/security/kevCISA Known Exploited Vulnerabilities catalog (top 50 most recent). Each entry carries cveID, vendorProject, product, vulnerabilityName, dateAdded, shortDescription, requiredAction, dueDate, knownRansomwareCampaignUse, notes, and CWE list. Refreshed daily at 06:30 UTC. License: US Government public domain.
Cache for 30 minutes
Example response
{
"ok": true,
"tier": "free",
"catalog_version": "2026.05.08",
"date_released": "2026-05-08T17:31:07Z",
"total_entries": 1590,
"returned": 50,
"most_recent": [
{
"cveID": "CVE-2026-42208",
"vendorProject": "BerriAI",
"product": "LiteLLM",
"vulnerabilityName": "BerriAI LiteLLM SQL Injection",
"dateAdded": "2026-05-08",
"knownRansomwareCampaignUse": "Unknown",
"cwes": ["CWE-89"]
}
]
}/api/security/kev/{CVE-id}Single KEV entry by CVE ID. Returns 404 if the CVE is not on the KEV catalog (which is the common case; only ~1500 of ~270K CVEs are on KEV). Pair with /api/security/cve/{id} for the underlying CVE Record.
Cache for 1 hour
Example response
// GET /api/security/kev/CVE-2026-42208
{
"ok": true,
"cve_id": "CVE-2026-42208",
"entry": {
"cveID": "CVE-2026-42208",
"vendorProject": "BerriAI",
"product": "LiteLLM",
"dateAdded": "2026-05-08",
"dueDate": "2026-05-11"
}
}/api/security/kev/added/{YYYY-MM-DD}KEV entries with dateAdded == one UTC day. Free, no auth. The data moat compounds with each daily run.
Cache for 24 hours
Example response
// GET /api/security/kev/added/2026-05-08
{ "ok": true, "tier": "free", "date": "2026-05-08", "count": 3, "entries": [...] }/api/security/kev/datesOrdered list of UTC dates with KEV-added entries captured. Free, no auth.
Cache for 1 hour
Example response
{ "ok": true, "tier": "free", "count": 1, "dates": ["2026-05-08"] }/api/security/epss/{CVE-id}EPSS (Exploit Prediction Scoring System) score for one CVE. Returns the daily probability (0 to 1) that the CVE will be exploited in the next 30 days plus a percentile rank within the EPSS corpus. Lazy-fetched from FIRST.org's API and cached 24 hours. License: FIRST.org's published policy permits free use, commercial redistribution permitted.
Cache for 1 hour
Example response
// GET /api/security/epss/CVE-2024-3094
{
"ok": true,
"tier": "free",
"cve_id": "CVE-2024-3094",
"source": "live",
"score": { "cve": "CVE-2024-3094", "epss": "0.850580000", "percentile": "0.993590000", "date": "2026-05-08" }
}/api/security/epss/topTop-N highest-EPSS CVEs as of the current daily snapshot. Free, no auth. Premium /api/premium/security/epss/top adds historical date filtering.
Cache for 30 minutes
Example response
// Query: ?limit=3
{
"ok": true,
"tier": "free",
"count": 3,
"top": [
{ "cve": "CVE-2023-23752", "epss": "0.945200000", "percentile": "1.000000000", "date": "2026-05-08" },
{ "cve": "CVE-2017-8917", "epss": "0.945130000", "percentile": "1.000000000", "date": "2026-05-08" },
{ "cve": "CVE-2018-7600", "epss": "0.944890000", "percentile": "1.000000000", "date": "2026-05-08" }
]
}/api/climate/power/dailyNASA POWER global meteorological and solar energy data for one point, daily resolution. 40+ years of history at 0.5-degree spatial resolution, sourced from MERRA2 reanalysis. Range capped at 365 days. License: NASA POWER open access, US Government public domain (17 USC 105).
Cache for 24 hours
Example response
// Query: ?latitude=34.0522&longitude=-118.2437¶meters=T2M,PRECTOTCORR&start=20260101&end=20260105
{
"ok": true,
"tier": "free",
"source": "live",
"query": { "latitude": 34.0522, "longitude": -118.2437, "parameters": ["T2M", "PRECTOTCORR"], "start": "20260101", "end": "20260105", "community": "AG", "temporal": "daily" },
"data": {
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-118.244, 34.052, 395.0] },
"properties": { "parameter": { "T2M": { "20260101": 13.57, "20260102": 14.07 }, "PRECTOTCORR": { "20260101": 21.84, "20260102": 5.71 } } },
"header": { "sources": ["MERRA2"] },
"parameters": { "T2M": { "units": "C", "longname": "Temperature at 2 Meters" } }
}
}/api/climate/power/parametersCurated catalog of the most-requested NASA POWER parameter codes with units, longnames, and recommended community (AG=agriculture, RE=renewable energy, SB=sustainable buildings). NASA exposes 100+ parameters; this catalog covers the common cases. Pass any documented code to /api/climate/power/daily even if not in this list.
Cache for 24 hours
Example response
{
"ok": true,
"tier": "free",
"count": 16,
"parameters": [
{ "code": "T2M", "units": "C", "longname": "Temperature at 2 Meters", "community": "AG" },
{ "code": "ALLSKY_SFC_SW_DWN", "units": "kWh/m^2/day", "longname": "All Sky Surface Shortwave Downward Irradiance", "community": "RE" }
]
}/api/health/fda/categoriesDirectory of supported openFDA categories with descriptions and per-endpoint TF paths. Free, no auth. License: CC0 1.0 Universal Dedication; the FDA has waived all copyright interests, commercial redistribution permitted with no attribution requirement.
Cache for 24 hours
Example response
{
"ok": true,
"tier": "free",
"count": 5,
"categories": [
{ "category": "drug/events", "tf_endpoint": "/api/health/fda/drug/events", "description": "FAERS adverse event reports..." }
]
}/api/health/fda/{category}OpenFDA query proxy. Category is one of: drug/events (FAERS adverse events, ~10M records), drug/labels (structured drug labels), drug/recalls (drug enforcement reports), food/recalls (food enforcement reports), device/events (MAUDE device adverse events). Lucene-style search via ?search=field:value+AND+field:value, plus ?limit=1-100, ?skip=, ?sort=field:asc|desc.
Cache for 1 hour
Example response
// GET /api/health/fda/drug/events?search=patient.drug.medicinalproduct:aspirin&limit=5
{
"ok": true,
"tier": "free",
"source": "live",
"data": {
"meta": { "last_updated": "2026-04-28", "results": { "skip": 0, "limit": 5, "total": 609465 } },
"results": [
{ "safetyreportid": "10003304", "primarysourcecountry": "US", "patient": { "drug": [{ "medicinalproduct": "ASPIRIN" }] } }
]
}
}/api/economy/eia/categoriesCurated catalog of high-demand EIA Open Data routes with descriptions, default frequencies, and example facet filters. Free, no auth. License: US Government public domain.
Cache for 24 hours
Example response
{
"ok": true,
"tier": "free",
"count": 6,
"routes": [
{ "route": "petroleum/pri/spt", "description": "Crude oil spot prices (WTI Cushing, Brent). Daily.", "default_frequency": "daily" },
{ "route": "electricity/retail-sales", "description": "Retail electricity sales by state and sector.", "default_frequency": "monthly" }
]
}/api/economy/eia/seriesEIA Open Data time-series proxy. Curated route allowlist covering petroleum spot prices, retail gasoline, natural gas, electricity retail sales, electricity generation by fuel, and total US energy. License: US Government public domain (17 USC 105). Requires the operator to set the EIA_API_KEY worker secret.
Cache for 1 hour
Example response
// GET /api/economy/eia/series?route=petroleum/pri/spt&frequency=daily&length=5
{
"ok": true,
"tier": "free",
"source": "live",
"data": {
"response": {
"frequency": "daily",
"total": 12345,
"data": [
{ "period": "2026-05-08", "value": 78.42 },
{ "period": "2026-05-07", "value": 78.19 }
]
}
}
}/api/ai-cves/latestMost-recent AI-stack CVE batch metadata plus the first 25 papers. Each paper carries cve_ids, affected_products, affected_version_ranges, fixed_versions, exploited_in_wild (stated_yes / stated_no / unstated), severity_label, and source_url. License: CC BY 4.0 (GitHub Security Advisories) with vendor advisories for non-GHSA rows; attribution shipped on every response.
Cache for 6 hours
Example response
{
"batch_id": "20260525-001634",
"extracted_at": "2026-05-25T07:23:58+00:00",
"window_start": "2025-01-01",
"window_end": "2026-01-01",
"total_papers": 387,
"ai_flagged_count": 10,
"papers": [
{
"cve_ids": ["CVE-2026-44580"],
"affected_products": ["Next.js"],
"fixed_versions": ["v15.5.16", "v16.2.5"],
"exploited_in_wild": "stated_yes",
"severity_label": "high",
"source_url": "https://github.com/advisories/GHSA-gx5p-jg67-6x7h"
}
],
"source_license": "CC BY 4.0",
"source_attribution": "GitHub Advisory Database (github.com/advisories) + vendor advisories"
}/api/ai-cves/feed?limit=25&offset=0Paginated raw papers from the most-recent AI-stack CVE batch. limit is capped at 50 (the premium /api/premium/ai-cves/ai-stack-cves returns the full AI-stack-filtered + categorized cohort in one call). License: CC BY 4.0.
Cache for 6 hours
Example response
{
"batch_id": "20260525-001634",
"total": 387,
"limit": 25,
"offset": 0,
"papers": [ /* same shape as /api/ai-cves/latest */ ],
"source_license": "CC BY 4.0",
"source_attribution": "GitHub Advisory Database (github.com/advisories) + vendor advisories"
}/api/ai-cves/statsAggregate counts across the most-recent AI-stack CVE batch: by_severity (critical, high, medium, low, unstated), by_exploitation (stated_yes, stated_no, unstated), top_vendors (top 10 by frequency, case-folded). License: CC BY 4.0.
Cache for 6 hours
Example response
{
"batch_id": "20260525-001634",
"total_papers": 387,
"by_severity": { "critical": 2, "high": 11, "medium": 13, "low": 3, "unstated": 358 },
"by_exploitation": { "stated_yes": 3, "stated_no": 0, "unstated": 384 },
"top_vendors": [
{ "vendor": "OpenClaw", "count": 40 },
{ "vendor": "AVideo", "count": 11 }
],
"source_license": "CC BY 4.0",
"source_attribution": "GitHub Advisory Database (github.com/advisories) + vendor advisories"
}/api/premium/ai-cves/ai-stack-cvesAI-stack CVE intelligence (1 credit). Filters the latest batch to papers whose affected_products match the curated AI_STACK_VENDORS list (7 categories: inference-stack, agent-framework, training-stack, vector-db, model-gateway, mcp-tool, other-ai). Each paper carries tf_ai_category + severity_rank, sorted with exploited_in_wild stated_yes first, then severity desc, then source_url asc. Strict-premium-gated; anonymous probes see x402 402 challenge, not 400.
Cache for 1 hour
Example response
{
"batch_id": "20260525-001634",
"total": 10,
"papers": [
{
"cve_ids": ["CVE-2026-44580"],
"affected_products": ["Next.js"],
"fixed_versions": ["v15.5.16", "v16.2.5"],
"exploited_in_wild": "stated_yes",
"severity_label": "high",
"source_url": "https://github.com/advisories/GHSA-gx5p-jg67-6x7h",
"tf_ai_category": "agent-framework",
"severity_rank": 3
}
],
"source_license": "CC BY 4.0",
"source_attribution": "GitHub Advisory Database (github.com/advisories) + vendor advisories"
}/api/premium/ai-cves/exploited-in-wildLive-threat subset (1 credit). Filters the AI-flagged batch to papers with exploited_in_wild = stated_yes, sorted by severity_rank desc. The "what is actively being weaponized in the AI stack right now" signal. Strict-premium-gated.
Cache for 1 hour
Example response
{
"batch_id": "20260525-001634",
"total": 3,
"papers": [ /* same shape, severity_rank attached */ ],
"source_license": "CC BY 4.0",
"source_attribution": "GitHub Advisory Database (github.com/advisories) + vendor advisories"
}/api/premium/ai-cves/cve?id=CVE-2026-44580Single-CVE resolve against the persistent index (1 credit). Pass id=CVE-YYYY-NNNNN, get the structured paper with all fields. Param-required; strict-premium-gated so anonymous probes see 402 not 400. Index spans the rolling 90-day batch retention window.
Cache for 1 hour
Example response
{
"cve_id": "CVE-2026-44580",
"found": true,
"batch_id": "20260525-001634",
"paper": {
"cve_ids": ["CVE-2026-44580"],
"affected_products": ["Next.js"],
"fixed_versions": ["v15.5.16", "v16.2.5"],
"exploited_in_wild": "stated_yes",
"severity_label": "high",
"source_url": "https://github.com/advisories/GHSA-gx5p-jg67-6x7h"
},
"source_license": "CC BY 4.0",
"source_attribution": "GitHub Advisory Database (github.com/advisories) + vendor advisories"
}/api/x402-index/summary?window=24h|7d|30dEcosystem-level x402 USDC settlement rollup on Base mainnet across the AI agent payments economy. Returns volume_usdc, count, unique_publishers, and change_vs_prior_window for one window (24h | 7d | 30d, default 24h). Forward-only index from 2026-05-28 onward, indexer cron every 5 minutes with a 30-block reorg safety margin (~6 minute worst-case freshness, 10 minute SLA). Source: Base mainnet USDC Transfer events filtered to wallets self-published in publisher /.well-known/x402.json manifests. License: CC BY 4.0 (TensorFeed editorial layer over public on-chain data).
Cache for 60 seconds
Example response
// Query: ?window=7d
{
"ok": true,
"window": "7d",
"captured_at": "2026-05-27T18:00:00Z",
"volume_usdc": "412.840000",
"count": 1873,
"unique_publishers": 6,
"change_vs_prior_window": {
"volume_pct": 18.42,
"count_pct": 11.07
}
}/api/x402-index/publishersCanonical list of x402-compliant publishers TensorFeed is currently indexing, auto-discovered from /.well-known/x402.json crawls. Daily manifest refresh at 06:35 UTC. Each entry: domain, pay_to_wallets, first_seen, last_crawled, last_event_at, last_crawl_error. Use this to enumerate which publishers can be queried via the premium per-publisher endpoint at /api/premium/x402-index/publisher/{domain}. License: CC BY 4.0.
Cache for 5 minutes
Example response
{
"ok": true,
"captured_at": "2026-05-27T18:00:00Z",
"count": 6,
"publishers": [
{
"domain": "tensorfeed.ai",
"manifest_url": "https://tensorfeed.ai/.well-known/x402.json",
"pay_to_wallets": ["0x549c82e6bfc54bdae9a2073744cbc2af5d1fc6d1"],
"first_seen": "2026-05-28T00:00:00Z",
"last_crawled": "2026-05-27T06:35:00Z",
"last_event_at": "2026-05-27T17:58:14Z",
"last_crawl_error": null
}
]
}/api/x402-index/leaderboard?window=24h|7d|30d&limit=1-25Top publishers by x402 USDC settlement volume across the window (24h | 7d | 30d). Each leader: rank, domain, volume_usdc, count, share_pct of the sliced total. Limit clamped 1 to 25 (default 10). Aggregated from per-day top_publishers within each DailyRollup. License: CC BY 4.0.
Cache for 60 seconds
Example response
// Query: ?window=7d&limit=5
{
"ok": true,
"window": "7d",
"captured_at": "2026-05-27T18:00:00Z",
"leaders": [
{
"rank": 1,
"domain": "tensorfeed.ai",
"volume_usdc": "287.420000",
"count": 1342,
"share_pct": 69.61
},
{
"rank": 2,
"domain": "terminalfeed.io",
"volume_usdc": "84.180000",
"count": 421,
"share_pct": 20.39
}
]
}/api/x402-index/recent?limit=1-50Most recent x402 USDC settlement events newest-first. Each event: tx_hash, block, ts, from_address, to_address, amount_usdc, publisher_domain, base_explorer_url (basescan.org). Limit clamped 1 to 50 (default 20). Backed by a 100-entry KV ring buffer updated on every indexer cron tick (every 5 min). License: CC BY 4.0.
Cache for 30 seconds
Example response
// Query: ?limit=2
{
"ok": true,
"captured_at": "2026-05-27T18:00:00Z",
"count": 2,
"events": [
{
"tx_hash": "0xabc123...",
"block": 23048517,
"ts": "2026-05-27T17:58:14Z",
"from_address": "0xagent...",
"to_address": "0x549c82e6bfc54bdae9a2073744cbc2af5d1fc6d1",
"amount_usdc": "0.020000",
"publisher_domain": "tensorfeed.ai",
"asset": "USDC",
"chain": "base",
"base_explorer_url": "https://basescan.org/tx/0xabc123..."
}
]
}/api/ai-crawler-access/summary.jsonAggregate map of which AI bots curated domains allow or block in robots.txt, plus llms.txt and ai.txt adoption percentages. We report stated policy, not enforcement. The crawl is rolling (about one seventh of the domain set per day), so domains_with_data climbs toward domains_tracked over the first week. No parameters.
Cache for 6 hours
Example response
{
"ok": true,
"captured_at": "2026-06-01T09:53:00Z",
"domains_tracked": 300,
"domains_with_data": 300,
"bot_blocked_pct": { "ClaudeBot": 69, "GPTBot": 62, "CCBot": 71 },
"bot_allowed_pct": { "ClaudeBot": 28, "GPTBot": 35, "CCBot": 26 },
"llms_txt_adoption_pct": 11,
"ai_txt_adoption_pct": 3,
"by_sector": { "ai-media": { "domains": 40, "llmsTxt": 6 } },
"snapshot_ready": true,
"source_attribution": "TensorFeed AI Crawler Access Map. Daily rolling crawl of curated domains, parsing public robots.txt, llms.txt, and ai.txt. We report stated policy, not enforcement."
}/api/ai-crawler-access/site?domain=example.comPer-site robots.txt verdict for each tracked AI bot (allowed, blocked, partial, or unknown), plus llms.txt and ai.txt presence, for one domain. Pass a bare registrable domain such as example.com. Verdicts reflect stated robots.txt policy, not enforcement.
Cache for 6 hours
Example response
// Query: ?domain=nytimes.com
{
"ok": true,
"domain": "nytimes.com",
"found": true,
"captured_at": "2026-06-01T09:53:00Z",
"record": {
"domain": "nytimes.com",
"sector": "publishing",
"checkedAt": "2026-06-01T09:53:00Z",
"robotsStatus": 200,
"bots": { "GPTBot": "blocked", "ClaudeBot": "blocked", "CCBot": "blocked" },
"hasLlmsTxt": false,
"hasAiTxt": false,
"llmsTxtBytes": null
},
"source_attribution": "TensorFeed AI Crawler Access Map. Daily rolling crawl of curated domains, parsing public robots.txt, llms.txt, and ai.txt. We report stated policy, not enforcement."
}/api/ai-crawler-access/check?domain=example.comLive, on-demand robots.txt verdict for any public domain that is not already in the tracked set. We crawl the domain at request time, parse its robots.txt, llms.txt, and ai.txt, and return the same per-bot record shape as the site endpoint (allowed, blocked, partial, or unknown). This reflects stated robots.txt policy, not bot traffic and not enforcement. Result is cached for one hour per domain. Pass a bare registrable hostname such as example.com; IP literals and internal hosts are rejected.
Cache for 1 hour
Example response
// Query: ?domain=example.com
{
"ok": true,
"domain": "example.com",
"found": true,
"tracked": false,
"record": {
"domain": "example.com",
"sector": "on-demand",
"checkedAt": "2026-06-02T14:21:09Z",
"robotsStatus": 200,
"bots": { "GPTBot": "allowed", "ClaudeBot": "allowed", "CCBot": "blocked" },
"hasLlmsTxt": false,
"hasAiTxt": false,
"llmsTxtBytes": null
},
"source_attribution": "TensorFeed AI Crawler Access Map. Live robots.txt, llms.txt, and ai.txt crawl. We report stated policy, not enforcement."
}/api/agent-ready/summary.jsonAgentic-web readiness across the curated domain set, derived from the crawler-access crawl. Returns per-surface adoption percentages (x402 manifest, agent.json, openapi, llms.txt, AI-bot-crawlable, ai.txt), the readiness-tier distribution (closed, emerging, ready, advanced), per-sector rollups, and a top-25 leaderboard. The readiness score is transparent: x402 +25, agent.json +20, openapi +20, llms.txt +15, crawlable +15, ai.txt +5. profiled climbs toward domains_tracked over the first week as the rolling crawl backfills agent surfaces. We report stated, published surfaces, not enforcement. No parameters.
Cache for 6 hours
Example response
{
"ok": true,
"captured_at": "2026-06-01T09:53:00Z",
"domains_tracked": 300,
"profiled": 142,
"adoption_pct": { "x402": 4, "agentJson": 6, "openapi": 12, "llmsTxt": 11, "crawlable": 38, "aiTxt": 3 },
"tier_distribution": { "closed": 88, "emerging": 31, "ready": 18, "advanced": 5 },
"by_sector": { "ai-native": { "profiled": 40, "ready_or_better": 14 } },
"leaderboard": [
{ "domain": "stripe.com", "sector": "payments", "score": 95, "tier": "advanced" }
],
"source_attribution": "TensorFeed Agent-Ready Web Map. Derived from the daily crawler-access crawl of curated domains. Scores agent readiness from public surfaces (x402, agent.json, openapi, llms.txt, robots policy, ai.txt). We report stated, published surfaces, not enforcement."
}/api/agent-ready/site?domain=example.comPer-domain agent-readiness profile: a transparent 0 to 100 score, a tier (closed, emerging, ready, or advanced), and which agent surfaces the site exposes (x402, agent.json, openapi, llms.txt, AI-bot-crawlable, ai.txt). Pass a bare registrable domain such as example.com. Derived from the crawler-access snapshot. We report stated, published surfaces, not enforcement.
Cache for 6 hours
Example response
// Query: ?domain=stripe.com
{
"ok": true,
"domain": "stripe.com",
"found": true,
"captured_at": "2026-06-01T09:53:00Z",
"readiness": {
"score": 95,
"tier": "advanced",
"surfaces": { "x402": true, "agentJson": true, "openapi": true, "llmsTxt": true, "crawlable": true, "aiTxt": false }
},
"record": {
"domain": "stripe.com",
"sector": "payments",
"checkedAt": "2026-06-01T09:53:00Z",
"robotsStatus": 200,
"bots": { "GPTBot": "allowed", "ClaudeBot": "allowed" },
"hasLlmsTxt": true,
"hasAiTxt": false,
"llmsTxtBytes": 812,
"agent": { "hasX402": true, "hasAgentJson": true, "hasOpenapi": true }
},
"source_attribution": "TensorFeed Agent-Ready Web Map. Derived from the daily crawler-access crawl of curated domains. Scores agent readiness from public surfaces (x402, agent.json, openapi, llms.txt, robots policy, ai.txt). We report stated, published surfaces, not enforcement."
}/api/eu-ai-act/notified-bodiesCurrent EU notified-body designations under the AI Act (Regulation (EU) 2024/1689), the Cyber Resilience Act (2024/2847), and EUCC (2024/482), from the European Commission NANDO / Single Market Compliance Space register (CC BY 4.0). Per-legislation totals plus every latest-version notification with body number, country, scope (products, procedures, annexes), and status, plus a 5-event designation-change preview. The AI Act count being zero is real data: the Digital Omnibus deferred the high-risk regime to Dec 2027 / Aug 2028, and this feed exists to catch the first designation the day it lands. Refreshed daily at 19:33 UTC. No parameters.
Cache for 5 minutes
Example response
{
"ok": true,
"captured_at": "2026-06-09T19:33:09.000Z",
"license": "CC BY 4.0 (European Commission reuse policy, Decision 2011/833/EU). TensorFeed aggregation and change-history derivation.",
"legislations": [
{ "legislation_id": 168380, "code": "Regulation (EU) 2024/1689", "name": "EU AI Act", "total": 0, "active": 0 },
{ "legislation_id": 167953, "code": "Regulation (EU) 2024/2847", "name": "Cyber Resilience Act", "total": 0, "active": 0 },
{ "legislation_id": 164702, "code": "Regulation (EU) 2024/482", "name": "EUCC cybersecurity certification scheme", "total": 38, "active": 35 }
],
"total": 38,
"bodies": [
{
"notification_id": 1019234,
"body_name": "Example Evaluation Facility GmbH",
"body_display": "NB 9999",
"body_type": "NB",
"country": "Germany",
"legislation_id": 164702,
"status": "Active",
"products": ["..."],
"procedures": ["..."],
"last_approval_date": "2026-03-23"
}
],
"recent_changes": []
}For AI Agents
TensorFeed is built as a primary data source for AI agents. No CAPTCHAs, no bot detection, no authentication. Agents are first-class citizens here.
Concise site overview for LLM context windows
Full documentation bundle with all page content
Append .md to any page URL to get a Markdown version (e.g., /about.md, /status.md)
Code Examples
// Fetch latest AI news
const res = await fetch('https://tensorfeed.ai/api/news?limit=5');
const data = await res.json();
data.articles.forEach(article => {
console.log(article.title, article.source);
});import requests
# Check AI service status
res = requests.get('https://tensorfeed.ai/api/status')
data = res.json()
for service in data['services']:
print(f"{service['name']}: {service['status']}")TensorFeed.ai and TerminalFeed.io share an AFTA federation and a single bearer token.