Skip to content

For AI agents

Problems grouped from public posts on Hacker News, Reddit, Stack Overflow, GitHub issues, community forums, Bluesky, Mastodon, YouTube, App Store reviews and other fru.dev sites, each with daily counts, momentum and a link to every post. It grows every day.

Scanned daily at 05:25 UTC, with a lighter pass at 17:25 UTC

Point your agent here

Call the API

  • GET /api/problemscategory?, company?, source?, view?, sort?, q?, verified?, since?, limit?, offset?problems with id, statement, category, company, companies named, posts, people, places, posts in the last 7 and previous 7 days, momentum (rising, new, steady, fading), persistent, days active, frustration 0 to 3, first and last post, daily posts for 30 days, source kinds, top 3 links, an evidence line, verified and the page URL
  • GET /api/problems/{id}idthe problem with daily_posts (every day with posts), posts_list (url, source, title, short excerpt, public handle, date, score, companies), related problems, provenance and history
  • GET /api/companiessince?, limit?, offset?companies with slug (registry slug when known), site_slug, name, kind (company, product, project), parent, domain, in_registry, the page here, problems, posts, posts in the last 7 days, first seen, updated, and items (each problem with type, date, title, url, source, verified, posts, momentum)
  • GET /api/statsnonegrowth (problems, corroborated, posts, posts in 7 days, companies, sources), categories and source kinds with problems, posts and posts this week, and daily posts
  • GET /api/sourcesnonesources with id, name, kind, URL, scope, status (active, policy, needs-key, failing, dropped), found by, first seen, last ok, items read and problem posts added
  • GET /api/changessince?, limit?, offset?changes with time, item type, item, field, old and new value, source URL and who made it (daily, midday, seed, admin, model)
  • GET /api/searchq, limit?up to 20 ranked results with title, link and one line

GET/api/problems

Problems, rising first, with filters

  • categoryOnly this category
  • companyOnly problems about or naming this company or product (slug)
  • sourceOnly problems seen on this kind of source
  • viewrising, persistent, new or all
  • sortposts (most posts first) or recent (latest post first); default rising first
  • qWords in the statement or company names
  • verifiedtrue for corroborated problems only
  • sinceOnly rows active or first seen at or after this date (YYYY-MM-DD)
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://problems.fru.dev/api/problems?view=rising&limit=3"
Sample response
JSON
{
  "problems": [
    {
      "id": "claude-issues",
      "statement": "Claude app gets 1 and 2 star reviews",
      "category": "llm-apps",
      "issue": "general",
      "company": {
        "slug": "claude",
        "name": "Claude",
        "domain": "anthropic.com",
        "url": "https://problems.fru.dev/companies/claude"
      },
      "companies": [
        {
          "slug": "claude",
          "name": "Claude",
          "domain": "anthropic.com",
          "posts": 34
        },
        {
          "slug": "chatgpt",
          "name": "ChatGPT",
          "domain": "openai.com",
          "posts": 6
        }
      ],
      "posts": 34,
      "people": 34,
      "places": 11,
      "last_7_days": 28,
      "previous_7_days": 2,
      "momentum": "rising",
      "persistent": true,
      "days_active": 13
    },
    {
      "id": "chatgpt-issues",
      "statement": "ChatGPT app gets 1 and 2 star reviews",
      "category": "llm-apps",
      "issue": "general",
      "company": {
        "slug": "chatgpt",
        "name": "ChatGPT",
        "domain": "openai.com",
        "url": "https://problems.fru.dev/companies/chatgpt"
      },
      "companies": [
        {
          "slug": "chatgpt",
          "name": "ChatGPT",
          "domain": "openai.com",
          "posts": 23
        },
        {
          "slug": "openai-codex",
          "name": "Codex",
          "domain": "openai.com",
          "posts": 6
        }
      ],
      "posts": 23,
      "people": 23,
      "places": 5,
      "last_7_days": 17,
      "previous_7_days": 1,
      "momentum": "rising",
      "persistent": true,
      "days_active": 11
    }
  ],
  "total": 45,
  "limit": 3,
  "offset": 0,
  "next": "/api/problems?view=rising&limit=3&offset=3",
  "note": "From public posts only: short, attributed excerpts that link to the originals. Problems are grouped by rules; verified=true means at leas..."
}

GET/api/problems/{id}

One problem with every linked post, its posts per day, related problems and change history

  • idProblem id, as in /problems/<id>
Shell
curl -s "https://problems.fru.dev/api/problems/rate-limits"
Sample response
JSON
{
  "problem": {
    "id": "rate-limits",
    "statement": "API rate limits and usage caps block real work",
    "category": "llm-apps",
    "issue": "rate-limits",
    "company": null,
    "companies": [
      {
        "slug": "deepseek",
        "name": "DeepSeek",
        "domain": "deepseek.com",
        "posts": 4
      },
      {
        "slug": "ollama",
        "name": "Ollama",
        "domain": "ollama.com",
        "posts": 3
      }
    ],
    "posts": 16,
    "people": 16,
    "places": 8,
    "last_7_days": 3,
    "previous_7_days": 3,
    "momentum": "steady",
    "persistent": true,
    "days_active": 12
  },
  "note": "From public posts only: short, attributed excerpts that link to the originals. Problems are grouped by rules; verified=true means at leas..."
}

GET/api/companies

Companies and products with problems, with their problems as dated items (the companies.fru.dev registry feed)

  • sinceOnly rows active or first seen at or after this date (YYYY-MM-DD)
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://problems.fru.dev/api/companies?since=2026-09-01&limit=2"
Sample response
JSON
{
  "companies": [
    {
      "slug": "github",
      "site_slug": "github",
      "name": "GitHub",
      "kind": "company",
      "parent": null,
      "domain": "github.com",
      "in_registry": true,
      "url": "https://problems.fru.dev/companies/github",
      "problems": 146,
      "posts": 352,
      "last_7_days": 73,
      "first_seen": "2026-09-25 12:30:30",
      "updated": "2026-09-25",
      "items": [
        {
          "type": "problem",
          "date": "2026-09-25",
          "first_date": "2026-08-28",
          "title": "Claude app gets 1 and 2 star reviews",
          "url": "https://problems.fru.dev/problems/claude-issues",
          "source": "appstore,github,reddit,discourse,stackoverflow",
          "verified": true,
          "posts": 34,
          "momentum": "rising"
        },
        {
          "type": "problem",
          "date": "2026-09-24",
          "first_date": "2026-08-27",
          "title": "Upgrades and new releases break working setups",
          "url": "https://problems.fru.dev/problems/breaking-changes",
          "source": "github,reddit,discourse",
          "verified": true,
          "posts": 20,
          "momentum": "rising"
        }
      ]
    },
    {
      "slug": "anthropic",
      "site_slug": "claude",
      "name": "Claude",
      "kind": "product",
      "parent": "anthropic",
      "domain": "anthropic.com",
      "in_registry": false,
      "url": "https://problems.fru.dev/companies/claude",
      "problems": 56,
      "posts": 134,
      "last_7_days": 56,
      "first_seen": "2026-09-25 12:30:30",
      "updated": "2026-09-25",
      "items": [
        {
          "type": "problem",
          "date": "2026-09-25",
          "first_date": "2026-08-28",
          "title": "Claude app gets 1 and 2 star reviews",
          "url": "https://problems.fru.dev/problems/claude-issues",
          "source": "appstore,github,reddit,discourse,stackoverflow",
          "verified": true,
          "posts": 34,
          "momentum": "rising"
        },
        {
          "type": "problem",
          "date": "2026-09-25",
          "first_date": "2026-09-20",
          "title": "Cursor users keep asking for help",
          "url": "https://problems.fru.dev/problems/cursor-issues",
          "source": "discourse",
          "verified": true,
          "posts": 17,
          "momentum": "new"
        }
      ]
    }
  ],
  "total": 146,
  "limit": 2,
  "offset": 0,
  "next": "/api/companies?since=2026-09-01&limit=2&offset=2"
}

GET/api/stats

Counts: growth, categories, source kinds and problem posts per day for 30 days

Shell
curl -s "https://problems.fru.dev/api/stats"
Sample response
JSON
{
  "growth": {
    "problems": 327,
    "corroborated": 198,
    "posts": 1706,
    "posts7d": 472,
    "added7d": 0,
    "added30d": 0,
    "companies": 146,
    "sources": 177,
    "sourcesAdded30d": 2,
    "rising": 45
  },
  "categories": [
    {
      "key": "llm-apps",
      "problems": 49,
      "posts": 328,
      "last7": 119,
      "rising": 12
    },
    {
      "key": "dev-tooling",
      "problems": 34,
      "posts": 256,
      "last7": 78,
      "rising": 5
    }
  ],
  "sources": [
    {
      "key": "github",
      "problems": 263,
      "posts": 1068,
      "last7": 195,
      "rising": 0
    },
    {
      "key": "reddit",
      "problems": 84,
      "posts": 142,
      "last7": 67,
      "rising": 0
    }
  ],
  "daily_posts_30d": [
    {
      "day": "2026-08-27",
      "posts": 60
    },
    {
      "day": "2026-08-28",
      "posts": 75
    }
  ],
  "registry": {
    "enrolled": 761,
    "withProblems": 77
  },
  "built_at": "2026-09-25 12:51:30",
  "note": "Counts grow every run. posts are problem posts (a post that states a pain and was grouped)."
}

GET/api/sources

The growing list of places the scan reads, with when each last answered and what it yielded

Shell
curl -s "https://problems.fru.dev/api/sources"
Sample response
JSON
{
  "sources": [
    {
      "id": "appstore:6448311069",
      "name": "ChatGPT App Store reviews",
      "kind": "appstore",
      "url": "https://apps.apple.com/us/app/id6448311069",
      "scope": "1 and 2 star reviews (Apple public RSS)",
      "status": "active",
      "foundBy": "seed",
      "foundAtUrl": "",
      "firstSeen": "2026-09-25 12:30:30",
      "lastChecked": "2026-09-25 12:39:52",
      "lastOk": "2026-09-25 12:39:52",
      "lastError": "",
      "yield": 11,
      "added": 11
    },
    {
      "id": "appstore:6473753684",
      "name": "Claude App Store reviews",
      "kind": "appstore",
      "url": "https://apps.apple.com/us/app/id6473753684",
      "scope": "1 and 2 star reviews (Apple public RSS)",
      "status": "active",
      "foundBy": "seed",
      "foundAtUrl": "",
      "firstSeen": "2026-09-25 12:30:30",
      "lastChecked": "2026-09-25 12:39:52",
      "lastOk": "2026-09-25 12:39:52",
      "lastError": "",
      "yield": 28,
      "added": 28
    }
  ],
  "total": 179,
  "note": "The list grows: each daily run adds subreddits, repos, forums and tags it finds linked from posts."
}

GET/api/changes

The append-only history: problems added, momentum that changed, clusters corroborated, sources found

  • sinceOnly rows active or first seen at or after this date (YYYY-MM-DD)
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://problems.fru.dev/api/changes?since=2026-09-01&limit=3"
Sample response
JSON
{
  "changes": [
    {
      "at": "2026-09-25 12:51:30",
      "type": "problem",
      "item": "npm-issues",
      "field": "statement",
      "old": "npm users keep asking for help",
      "new": "npm users keep filing bugs",
      "source": "https://github.com/modelcontextprotocol/servers/issues/4721",
      "by": "seed"
    },
    {
      "at": "2026-09-25 12:51:30",
      "type": "problem",
      "item": "vercel-issues",
      "field": "statement",
      "old": "Vercel users keep asking for help",
      "new": "Vercel users keep filing bugs",
      "source": "https://github.com/vercel/next.js/issues/99109",
      "by": "seed"
    }
  ],
  "limit": 3,
  "offset": 0,
  "next": "/api/changes?since=2026-09-01&limit=3&offset=3",
  "note": "Append-only."
}

Add to your agent

System prompt
For the problems people post about in data, tech and AI (data engineering, LLM apps, MLOps, AI coding, cloud cost, DevOps, security, analytics, careers): what hurts, who says so, how often, which companies and products, and whether it is rising or persisting, fetch https://problems.fru.dev/llms.txt and use https://problems.fru.dev/api/problems (spec: https://problems.fru.dev/openapi.json). Cite "Problems (problems.fru.dev)" with a link.

Usage terms

  • Free to read, no key needed
  • Cite "Problems (problems.fru.dev)" with a link
  • Responses are cached; scanned daily at 05:25 UTC, with a lighter pass at 17:25 UTC
  • Keep to 60 requests a minute or fewer
  • Problems with verified=false are backed by fewer than 3 posts or by one person or place only. Statements are written by rules from the posts; a summary field, when present, is model-written and labelled so. Excerpts are short quotes of public posts; follow the url for the original.

Rising problems by email

Mondays: the problems in data, tech and AI that grew fastest that week.

Double opt-in. Unsubscribe any time.