API Documentation

Programmatic access to validated business ideas, market signals, and trend data

Overview

The Trend Seeker API gives you programmatic access to our database of validated business ideas. Each idea is extracted from real online discussions and scored by evidence strength, market metrics, and validation confidence.

Base URL: https://api.trend-seeker.app/v1

All responses are JSON. The API uses standard HTTP status codes and returns errors in a consistent format.

Authentication

Pass your API key via the Authorization header or the X-API-Key header:

curl https://api.trend-seeker.app/v1/ideas \
  -H "Authorization: Bearer tskr_your_api_key"

You can also make unauthenticated requests. These are treated as free tier with lower rate limits and reduced data.

Generate API keys from the API Keys section on your profile page. Pro subscribers get higher rate limits and full data access.

Rate Limits
TierRate LimitMax ResultsData Access
Anonymous10 req/min20 per pageBasic fields only
Free (with key)10 req/min20 per page, max offset 100Basic fields only
Pro120 req/min100 per page, no offset limitFull data including scores and metrics

Rate limits reset on a rolling 60-second window. Exceeding limits returns HTTP 429.

Endpoints
MethodPathDescriptionTier
GET
/v1/ideasList business ideas
Free
Pro
GET
/v1/ideas/:idGet idea details
Free
Pro
GET
/v1/ideas/:id/postsGet source posts for an idea
Free
Pro
GET
/v1/categoriesList categories
Free
Pro

GET /v1/ideas

Returns a paginated list of business ideas, sorted by opportunity score.

Query Parameters
ParamTypeDescription
limitintegerResults per page (default 20, max 20 free / 100 pro)
offsetintegerPagination offset (max 100 for free tier)
categoriesstringComma-separated category filter (e.g. "saas,fintech")
keywordsstringComma-separated keyword filter
min_validation_scorefloatMinimum validation score (0.0 - 1.0)
created_afterstringFilter by date (YYYY-MM-DD)
created_beforestringFilter by date (YYYY-MM-DD)
sortstring"created_at", "validation_score", or default (opportunity score)
Example (Pro)
curl "https://api.trend-seeker.app/v1/ideas?limit=5&categories=saas" \
  -H "Authorization: Bearer tskr_your_key"

{
  "data": [
    {
      "id": 1234,
      "business_idea_id": "idea_abc123",
      "title": "AI-powered code review for small teams",
      "tagline": "Automated PR reviews that catch bugs before humans do",
      "evidence_strength": {
        "volume": 0.85,
        "urgency": 0.72,
        "specificity": 0.91
      },
      "market_metrics": {
        "competition_level": "medium",
        "monetization_potential": "high",
        "opportunity_score": 0.88
      },
      "validation_score": 0.82,
      "confidence_tier": "premium",
      "categories": ["saas", "developer-tools"],
      "created_at": "2026-03-01T12:00:00Z",
      "updated_at": "2026-03-05T08:30:00Z",
      "post_count": 47
    }
  ],
  "meta": {
    "total": 342,
    "limit": 5,
    "offset": 0,
    "has_more": true
  }
}
Example (Free)
curl "https://api.trend-seeker.app/v1/ideas?limit=5"

{
  "data": [
    {
      "business_idea_id": "idea_abc123",
      "title": "AI-powered code review for small teams",
      "tagline": "Automated PR reviews that catch bugs before humans do",
      "categories": ["saas", "developer-tools"],
      "confidence_tier": "premium",
      "created_at": "2026-03-01T12:00:00Z"
    }
  ],
  "meta": {
    "total": 342,
    "limit": 5,
    "offset": 0,
    "has_more": true
  }
}
GET /v1/ideas/:id

Returns full details for a single business idea. Pro users get all fields. Free users see solution_approach and why_now redacted for premium-tier ideas.

curl "https://api.trend-seeker.app/v1/ideas/idea_abc123" \
  -H "Authorization: Bearer tskr_your_key"
GET /v1/ideas/:id/posts

Returns source posts (Reddit discussions, forum posts) that contributed to an idea's evidence score. Free tier returns up to 5 posts, pro up to 100.

Query Parameters
limitintegerMax posts to return (default 10, max 5 free / 100 pro)
curl "https://api.trend-seeker.app/v1/ideas/idea_abc123/posts?limit=3" \
  -H "Authorization: Bearer tskr_your_key"

{
  "data": [
    {
      "id": "post_xyz",
      "title": "Need a better way to review PRs in my 3-person team",
      "content": "We spend hours on code review...",
      "platform": "reddit",
      "url": "https://reddit.com/r/webdev/...",
      "created_at": "2026-02-28T15:30:00"
    }
  ]
}
GET /v1/categories

Returns all categories with idea counts. Useful for building filters.

curl "https://api.trend-seeker.app/v1/categories"

{
  "data": [
    { "category": "saas", "count": 342 },
    { "category": "ai-ml", "count": 287 },
    { "category": "fintech", "count": 156 }
  ]
}
Error Responses

All errors follow the same format:

{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid API key"
  }
}
StatusCodeMeaning
401UNAUTHORIZEDInvalid or expired API key
404NOT_FOUNDResource not found
429-Rate limit exceeded
500INTERNAL_ERRORServer error