FeedBin Compatible

API Documentation

Full FeedBin API compatibility for third-party RSS clients and integrations.

01

Quick Start

Get connected to the API in three simple steps.

1 Use your Sublime Feed credentials

The API uses HTTP Basic Authentication with your Sublime Feed email and password. No special API tokens needed.

2 Test the connection

Make a GET request to verify your credentials work:

curl -u "[email protected]:password" \
     https://sublimefeed.com/api/v2/authentication.json

A successful response returns HTTP 200 OK with an empty body.

3 Start using the API

Use your Sublime Feed email and password with any FeedBin-compatible client or integration. Set the server URL to https://sublimefeed.com/api/v2.

02

Authentication

All API requests use standard HTTP Basic Authentication.

All API requests require HTTP Basic Authentication using your Sublime Feed credentials:

Authorization: Basic BASE64(email:password)

The API follows RFC 7617. Most HTTP clients handle this automatically.

Security Note

Always use HTTPS when connecting to the API.

03

Endpoints

Complete reference for the FeedBin-compatible API v2.

GET /api/v2/authentication.json

Verify credentials are valid. Returns HTTP 200 OK on success, 401 Unauthorized on failure.

curl -u "[email protected]:password" \
     https://sublimefeed.com/api/v2/authentication.json
GET /api/v2/subscriptions.json

List all your feed subscriptions.

Query Parameters

Parameter Description
since ISO 8601 timestamp to filter subscriptions created after this time

Response

[
  {
    "id": 123,
    "created_at": "2024-01-15T10:30:00.000Z",
    "feed_id": 456,
    "title": "My Custom Feed Name",
    "feed_url": "https://example.com/feed.xml",
    "site_url": "https://example.com"
  }
]
GET /api/v2/subscriptions/:id.json

Get details for a specific subscription.

curl -u "[email protected]:password" \
     https://sublimefeed.com/api/v2/subscriptions/123.json
POST /api/v2/subscriptions.json

Subscribe to a new feed. If multiple feeds are detected, returns 300 Multiple Choices with available options.

Request Body

{
  "feed_url": "https://example.com/feed.xml"
}

Response Status Codes

Status Meaning
201 Created New subscription created
302 Found Already subscribed
300 Multiple Choices Multiple feeds detected, choose one
404 Not Found No feed found at URL
PATCH /api/v2/subscriptions/:id.json

Update a subscription (e.g., rename it).

curl -X PATCH -u "[email protected]:password" \
     -H "Content-Type: application/json" \
     -d '{"title": "New Name"}' \
     https://sublimefeed.com/api/v2/subscriptions/123.json
DELETE /api/v2/subscriptions/:id.json

Unsubscribe from a feed. Returns 204 No Content on success.

curl -X DELETE -u "[email protected]:password" \
     https://sublimefeed.com/api/v2/subscriptions/123.json
GET /api/v2/feeds/:id.json

Get feed metadata.

Response

{
  "id": 456,
  "title": "Example Blog",
  "feed_url": "https://example.com/feed.xml",
  "site_url": "https://example.com"
}
GET /api/v2/entries.json

List all entries (posts) from your subscribed feeds.

Query Parameters

Parameter Default Description
per_page 20 Number of entries per page (max 100)
page 1 Page number
since ISO 8601 timestamp to filter entries
ids Comma-separated list of entry IDs (max 100)
read Filter by read status: true or false

Response

[
  {
    "id": 789,
    "feed_id": 456,
    "title": "Post Title",
    "url": "https://example.com/post",
    "author": "Author Name",
    "content": "

HTML content...

", "summary": "Plain text summary...", "published": "2024-01-15T10:30:00.000Z", "created_at": "2024-01-15T10:30:00.000Z" } ]
GET /api/v2/entries/:id.json

Get a single entry by ID.

curl -u "[email protected]:password" \
     https://sublimefeed.com/api/v2/entries/789.json
GET /api/v2/feeds/:feed_id/entries.json

List entries from a specific feed. Same pagination and filter parameters as /api/v2/entries.json.

curl -u "[email protected]:password" \
     "https://sublimefeed.com/api/v2/feeds/456/entries.json?per_page=50&page=2"
GET /api/v2/unread_entries.json

Get a list of unread entry IDs.

Response

[789, 790, 791, 792, 793]
POST /api/v2/unread_entries.json

Mark entries as unread (remove read status). Returns the IDs that were changed.

Request Body

{
  "unread_entries": [789, 790, 791]
}

Maximum 1,000 IDs per request.

DELETE /api/v2/unread_entries.json

Mark entries as read. Returns the IDs that were marked as read.

Request Body

{
  "unread_entries": [789, 790, 791]
}

Maximum 1,000 IDs per request.

04

FeedBin API

Sublime Feed implements the FeedBin API v2 for third-party client compatibility.

Base URL

Configure your FeedBin-compatible client to use this base URL:

https://sublimefeed.com/api/v2

Authentication

Use your Sublime Feed email address and password for HTTP Basic Authentication. Select "FeedBin" or "Feedbin" as the account type in your client if prompted.

Error Responses

Common HTTP status codes you may encounter.

Status Meaning
401 Unauthorized Invalid email or password
403 Forbidden Valid credentials but not authorized for this resource
404 Not Found Resource not found
400 Bad Request Missing required parameters
422 Unprocessable Validation error

Rate Limiting

The API has rate limiting to ensure fair usage. If you exceed the limits, you'll receive a 429 Too Many Requests response. Contact support if you need higher limits.

Need Help?

If you have questions about the API or need assistance with FeedBin-compatible integrations, feel free to reach out. We're here to help you get the most out of Sublime Feed.

Contact Support