← Back to posts

Releasebot API v1 Documentation

The Releasebot API lets you query vendors, products, and release notes programmatically. It's designed for developers building integrations, dashboards, or automations on top of Releasebot data.

Getting an API Key

Generate your API key on the Alerts & Integrations page. Your key starts with rb_ and is shown only once, so store it somewhere safe.

Pass it with every request as a Bearer token in the Authorization header:

Authorization: Bearer rb_your_key_here

Credits

API Credits are consumed on the /releases and /feed endpoint: 1 credit per release returned, with a minimum of 1 credit per request. The /search endpoint is free. The X-Credits-Remaining response header tells you your current balance after each call. Search is free and never consumes credits.

Credits reset monthly:

Plan Credits per month
Free 500
Pro 5,000
Max 100,000

Credits also apply to the MCP server. Both the API and MCP draw from the same pool.

Endpoints

Search

GET https://releasebot.io/api/v1/search

Search for vendors and products by keyword. This endpoint is free — it does not consume credits.

Query parameters:

Parameter Type Description
q string (required) Search query
limit integer Max results to return (default: 20, max: 100)
offset integer Pagination offset (default: 0)

Example:

GET /api/v1/search?q=apple&limit=10
Authorization: Bearer rb_...

Response:

{
  "query": "apple",
  "total": 6,
  "fallbackUsed": false,
  "results": [
    {
      "type": "vendor",
      "id": 2782,
      "display_name": "Apple",
      "slug": "apple",
      ...
    }
  ]
}

Releases

GET https://releasebot.io/api/v1/releases

Fetch releases for a vendor or product. Costs 1 credit per release returned.

Query parameters:

Parameter Type Description
vendorSlug string Vendor slug (e.g. apple)
vendorId integer Vendor ID
productSlug string Product slug (e.g. testflight)
productId integer Product ID
limit integer Max results (default: 20, max: 100)
offset integer Pagination offset (default: 0)
before ISO date string Only return releases discovered on or before this date

At least one of vendorSlug, vendorId, productSlug, or productId is required.

Example:

GET /api/v1/releases?vendorSlug=apple&limit=5&before=2026-01-01
Authorization: Bearer rb_...

Response:

{
  "releases": [
    {
      "id": 34284,
      "slug": "may-28-2026-79737",
      "releaseDate": "2026-05-28T00:00:00",
      "createdAt": "2026-05-30T01:19:56.136392+00:00",
      "releaseDetails": {
        "is_release": true,
        "release_name": "May 28, 2026",
        "release_summary": "..."
      },
      "formattedContent": "...",
      "product": {
        "id": 4222,
        "slug": "testflight",
        "name": "App Store Connect"
      },
      "vendor": { "id": 2782, "slug": "apple", "name": "Apple" },
      "source": { "id": 123, "url": "https://developer.apple.com/..." }
    }
  ],
  "nextOffset": 20,
  "total": 5
}

Pagination: Use nextOffset from the response as your next offset value. When nextOffset is null, you've reached the end.


Feed

GET https://releasebot.io/api/v1/feed

Fetch releases from your personal feed. This returns the same releases you see on your dashboard, based on the vendors and products you follow. Costs 1 credit per release returned.

Query parameters:

Parameter Type Description
limit integer Max results (default: 20, max: 100)
offset integer Pagination offset (default: 0)
before ISO date string Only return releases discovered on or before this date

Example:

GET /api/v1/feed?limit=10&before=2026-01-01
Authorization: Bearer rb_...

Response:

{
  "releases": [
    {
      "id": 34284,
      "slug": "may-28-2026-79737",
      "releaseDate": "2026-05-28T00:00:00",
      "createdAt": "2026-05-30T01:19:56.136392+00:00",
      "releaseDetails": {
        "is_release": true,
        "release_name": "May 28, 2026",
        "release_summary": "..."
      },
      "formattedContent": "...",
      "product": {
        "id": 4222,
        "slug": "testflight",
        "name": "App Store Connect"
      },
      "vendor": { "id": 2782, "slug": "apple", "name": "Apple" },
      "source": { "id": 123, "url": "https://developer.apple.com/..." }
    }
  ],
  "nextOffset": 20,
  "total": 10
}

Pagination: Use nextOffset from the response as your next offset value. When nextOffset is null, you've reached the end.

Error Responses

Status Meaning
400 Missing or invalid parameters
401 Invalid or missing API key
402 Credits exhausted
404 Vendor or product not found
500 Server error

Questions?

Reach out at [email protected].