Complete guide to integrating with the Feeds platform. Create feeds, manage posts, and build powerful content applications.
Feeds is a developer-friendly feed hosting platform that allows you to create and manage content feeds programmatically. Most API requests require authentication using an API key, except for public endpoints like /api/info and /api/health.
https://feeds-pink.vercel.app/apiapplication/json (or multipart/form-data for file uploads)All API endpoints require authentication using your API key. Get your API key from your profile page after signing in.
Header Format:
Authorization: Bearer YOUR_API_KEY
Example:
curl -X GET https://feeds-pink.vercel.app/api/feeds \ -H "Authorization: Bearer YOUR_API_KEY"
Retrieve all feeds for the authenticated user
Request:
GET https://feeds-pink.vercel.app/api/feeds Authorization: Bearer YOUR_API_KEY
Response (200 OK):
[
{
"id": "feed_id",
"title": "My Feed",
"description": "Feed description",
"slug": "my-feed",
"userId": "user_id",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z",
"posts": [...]
}
]Create a new feed
Request:
POST https://feeds-pink.vercel.app/api/feeds
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"title": "My New Feed",
"description": "Optional description"
}Response (201 Created):
{
"id": "feed_id",
"title": "My New Feed",
"description": "Optional description",
"slug": "my-new-feed",
"userId": "user_id",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}Delete a feed and all its posts
Request:
DELETE https://feeds-pink.vercel.app/api/feeds/delete/feed_id Authorization: Bearer YOUR_API_KEY
Response (200 OK):
{
"success": true
}Update feed styling (colors, fonts)
Request:
PATCH https://feeds-pink.vercel.app/api/feeds/styles/feed_id
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"fontFamily": "Arial",
"fontColor": "#000000",
"secondaryTextColor": "#666666",
"cardBgColor": "#ffffff",
"cardBorderColor": "#e0e0e0",
"feedBgColor": "#f5f5f5",
"buttonColor": "#007bff",
"buttonSecondaryColor": "#6c757d"
}Note: All color fields must be in hex format (e.g., #000000). All fields are optional.
Create a new post in a feed
Request:
POST https://feeds-pink.vercel.app/api/posts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"feedId": "feed_id",
"type": "text",
"content": "Post content"
}Post Types: text, image, video, url
For image posts: { "feedId": "feed_id", "type": "image", "imageUrl": "https://..." }
For video posts: { "feedId": "feed_id", "type": "video", "videoUrl": "https://..." }
For URL posts: { "feedId": "feed_id", "type": "url", "url": "https://..." }
Update an existing post
Request:
PATCH https://feeds-pink.vercel.app/api/posts/post_id
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"content": "Updated content",
"type": "text"
}All fields are optional. Only include fields you want to update.
Delete a post
Request:
DELETE https://feeds-pink.vercel.app/api/posts/post_id Authorization: Bearer YOUR_API_KEY
Response (200 OK):
{
"success": true
}Upload an image or video file (max 50MB)
Request:
POST https://feeds-pink.vercel.app/api/upload Authorization: Bearer YOUR_API_KEY Content-Type: multipart/form-data file: [binary file data]
Response (200 OK):
{
"url": "https://...public-url..."
}Note: Use the returned URL in imageUrl or videoUrl when creating posts.
Regenerate your API key (requires session auth, not API key)
Request:
POST https://feeds-pink.vercel.app/api/api-key [Session cookie required]
Response (200 OK):
{
"key": "new_api_key_here"
}Note: This endpoint requires session authentication (browser cookie), not API key authentication.
Check if a username is available
Request:
GET https://feeds-pink.vercel.app/api/username?username=johndoe
Response (200 OK):
{
"available": true
}Note: Username must be 3-20 characters, alphanumeric with underscores and hyphens.
Update your username (requires session auth, not API key)
Request:
PATCH https://feeds-pink.vercel.app/api/username
Content-Type: application/json
[Session cookie required]
{
"username": "newusername"
}Response (200 OK):
{
"username": "newusername"
}Note: This endpoint requires session authentication (browser cookie), not API key authentication.
Get API information (public, no authentication required)
Request:
GET https://feeds-pink.vercel.app/api/info
Response (200 OK):
{
"name": "Feeds",
"description": "Developer-friendly feed hosting platform",
"version": "1.0.0",
"api": {
"baseUrl": "https://feeds-pink.vercel.app/api",
"documentation": "https://feeds-pink.vercel.app/docs",
"authentication": "Bearer token (API key)"
},
"features": [...],
"feedFormats": {...},
"links": {...}
}Health check endpoint (public, no authentication required)
Request:
GET https://feeds-pink.vercel.app/api/health
Response (200 OK):
{
"status": "ok",
"timestamp": "2024-01-01T00:00:00.000Z"
}Public feeds are available in RSS and JSON Feed formats. These endpoints don't require authentication.
https://feeds-pink.vercel.app/feeds/[username]/[feedTitle]/rsshttps://feeds-pink.vercel.app/feeds/[username]/[feedTitle]/jsonExample: https://feeds-pink.vercel.app/feeds/johndoe/my-feed/rss
All errors follow a consistent format:
{
"error": "Error message"
}Common Status Codes:
400 - Bad Request (invalid input)401 - Unauthorized (invalid or missing API key)403 - Forbidden (access denied)404 - Not Found500 - Internal Server ErrorStandard rate limits apply to prevent abuse. If you exceed the rate limit, you'll receive a 429 Too Many Requests response.