BuzzRadr Public HOT API API

Anonymous read-only public trend API for BuzzRadr. No API key, no signup. Responses are CDN-cached for 1-5 minutes depending on the endpoint; abusive traffic may receive 429 with a retry-after header.

Operations 5

GET /api/public/hot/trends List public trend topics #
GET /api/public/hot/trends/{topicId} Get a public trend topic #
GET /api/public/hot/daily Get public daily trend digest #
GET /api/public/hot/sources List public source health #
GET /api/public/hot/rss Public RSS feed #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/buzzradr-com:buzzradr-public-hot-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

buzzradr-com-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: BuzzRadr Public HOT API
  version: 0.2.1
  description: >-
    Anonymous read-only public trend API for BuzzRadr. No API key, no signup.
    Responses are CDN-cached for 1-5 minutes depending on the endpoint;
    abusive traffic may receive 429 with a retry-after header.
servers:
  - url: https://buzzradr.com
security: []
paths:
  /api/public/hot/trends:
    get:
      operationId: listPublicTrendTopics
      summary: List public trend topics
      parameters:
        - $ref: "#/components/parameters/Vertical"
        - name: platforms
          in: query
          description: >-
            Comma-separated platform names, case-insensitive. A topic is kept
            when it matches any listed platform.
          schema:
            type: string
        - name: keywords
          in: query
          description: >-
            Comma-separated keywords, case-insensitive substring match against
            the topic title, topic keywords, and item titles. A topic is kept
            when it matches any keyword.
          schema:
            type: string
        - name: sort
          in: query
          schema:
            type: string
            enum: [hot, time]
            default: hot
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: locale
          in: query
          description: >-
            English summaries by default; "zh" opts into Chinese summaries
            when available.
          schema:
            type: string
            enum: [en, zh]
            default: en
      responses:
        "200":
          description: Public topic list
          content:
            application/json:
              schema:
                type: object
                required: [code, message, data]
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    required: [topics, meta]
                    properties:
                      topics:
                        type: array
                        items:
                          $ref: "#/components/schemas/PublicTopic"
                      meta:
                        type: object
                        required: [vertical, fetchedAt, topicCount, itemCount]
                        properties:
                          vertical:
                            type: string
                          fetchedAt:
                            type: string
                            format: date-time
                          topicCount:
                            type: integer
                          itemCount:
                            type: integer
        "429":
          $ref: "#/components/responses/RateLimited"
  /api/public/hot/trends/{topicId}:
    get:
      operationId: getPublicTrendTopic
      summary: Get a public trend topic
      parameters:
        - name: topicId
          in: path
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/Vertical"
      responses:
        "200":
          description: Public topic detail
          content:
            application/json:
              schema:
                type: object
                required: [code, message, data]
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  data:
                    $ref: "#/components/schemas/PublicTopic"
        "404":
          description: Topic not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "429":
          $ref: "#/components/responses/RateLimited"
  /api/public/hot/daily:
    get:
      operationId: getPublicDailyDigest
      summary: Get public daily trend digest
      parameters:
        - $ref: "#/components/parameters/Vertical"
      responses:
        "200":
          description: Daily digest
          content:
            application/json:
              schema:
                type: object
                required: [code, message, data]
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    required: [vertical, generatedAt, title, topics]
                    properties:
                      vertical:
                        type: string
                      generatedAt:
                        type: string
                        format: date-time
                      title:
                        type: string
                      emptyReason:
                        type: string
                        enum: [no_verified_topics]
                        description: Present when the verified-public rollout is enabled and no topic meets the evidence gate.
                      topics:
                        type: array
                        items:
                          $ref: "#/components/schemas/PublicTopic"
        "429":
          $ref: "#/components/responses/RateLimited"
  /api/public/hot/sources:
    get:
      operationId: listPublicSourceHealth
      summary: List public source health
      parameters:
        - $ref: "#/components/parameters/Vertical"
      responses:
        "200":
          description: Public source health
          content:
            application/json:
              schema:
                type: object
                required: [code, message, data]
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    required: [vertical, sources]
                    properties:
                      vertical:
                        type: string
                      sources:
                        type: array
                        items:
                          $ref: "#/components/schemas/PublicSource"
        "429":
          $ref: "#/components/responses/RateLimited"
  /api/public/hot/rss:
    get:
      operationId: getPublicRssFeed
      summary: Public RSS feed
      parameters:
        - $ref: "#/components/parameters/Vertical"
      responses:
        "200":
          description: RSS 2.0 XML feed (top 30 topics)
          content:
            application/rss+xml:
              schema:
                type: string
        "429":
          $ref: "#/components/responses/RateLimited"
components:
  parameters:
    Vertical:
      name: vertical
      in: query
      description: Unknown values fall back to "ai".
      schema:
        type: string
        enum: [ai, jobs, world-cup-2026, finance, real-estate]
        default: ai
  responses:
    RateLimited:
      description: Too many requests — minimum request interval exceeded.
      headers:
        retry-after:
          description: Seconds to wait before retrying.
          schema:
            type: string
      content:
        application/json:
          schema:
            type: object
            required: [error, message]
            properties:
              error:
                type: string
                const: too_many_requests
              message:
                type: string
  schemas:
    ApiError:
      type: object
      required: [code, message]
      properties:
        code:
          type: integer
        message:
          type: string
    PublicTopic:
      type: object
      required:
        - topicId
        - vertical
        - title
        - keywords
        - platforms
        - score
        - firstSeenAt
        - lastSeenAt
        - itemCount
        - trustedSourceCount
        - relatedItemCount
        - topItems
      properties:
        topicId:
          type: string
        vertical:
          type: string
        title:
          type: string
        summary:
          type: string
        summarySource:
          type: string
        aiWhy:
          type: string
          description: >-
            Locale-selected "why this matters" judgement produced by the AI
            enrichment pass. Absent when none was generated; there is no
            placeholder or fallback value.
        sourceClass:
          type: string
          enum: [official, media, dev_community, research, commentary, other]
        reason:
          type: string
          description: Signal-grounded one-liner on why the topic is trending.
        reasonSource:
          type: string
        reasonConfidence:
          type: string
        keywords:
          type: array
          items:
            type: string
        platforms:
          type: array
          items:
            type: string
        score:
          type: number
          description: Composite ranking score combining source, coverage, engagement and freshness signals; not 24-hour discussion heat.
        firstSeenAt:
          type: string
          format: date-time
        lastSeenAt:
          type: string
          format: date-time
        itemCount:
          type: integer
        trustedSourceCount:
          type: integer
          description: Compatibility field; under verified-public v2 this equals independentSourceCount.
        independentSourceCount:
          type: integer
          description: Distinct public content publishers supporting this topic.
        signalPublisherCount:
          type: integer
          description: Folded count of heat-signal publishers; identities are not exposed.
        verificationEvidence:
          type: object
          required: [anchorType, anchorCount]
          properties:
            anchorType:
              type: string
              enum: [authoritative, independent_corroboration]
            anchorCount:
              type: integer
            firstVerifiedAt:
              type: string
              format: date-time
        relatedItemCount:
          type: integer
        topItems:
          type: array
          maxItems: 3
          items:
            $ref: "#/components/schemas/PublicItem"
    PublicItem:
      type: object
      required: [itemId, title, platform, sourceType, firstSeenAt, lastSeenAt]
      properties:
        itemId:
          type: string
        title:
          type: string
        url:
          type: string
        author:
          type: string
        authorAvatar:
          type: string
        excerpt:
          type: string
        content:
          type: string
        contentSource:
          type: string
        translation:
          type: string
        imageUrl:
          type: string
        imageUrls:
          type: array
          items:
            type: string
        platform:
          type: string
        sourceType:
          type: string
        sourceClass:
          type: string
          enum: [official, media, dev_community, research, commentary, other]
          description: Classification of this item's source, independent of its collection method or verification status. May be absent in historical snapshots.
        engagement:
          type: object
          description: Raw engagement metrics; keys vary by platform.
          additionalProperties: true
        publishedAt:
          type: string
          format: date-time
        firstSeenAt:
          type: string
          format: date-time
        lastSeenAt:
          type: string
          format: date-time
        sourceId:
          type: string
          description: Absent for archived snapshots, which never persisted it.
    PublicSource:
      type: object
      required: [sourceId, sourceType, status]
      properties:
        sourceId:
          type: string
        vertical:
          type: string
        sourceType:
          type: string
        platform:
          type: string
        status:
          type: string
        lastFetchedAt:
          type: string
          format: date-time
        acceptedItemCount:
          type: integer
        filteredItemCount:
          type: integer
        message:
          type: string