Feeds API
Feeds are the backbone of Repurai. They allow you to stay updated with your favorite content by organizing them into categories and tracking individual feed items. On this page, we’ll dive into the different feed endpoints you can use to manage your feeds programmatically.
The feed model
The feed model represents an RSS or Atom feed that you've subscribed to. Each feed belongs to a category and contains multiple feed items.
Properties
- Name
id- Type
- string
- Description
Unique identifier for the feed.
- Name
categoryId- Type
- string
- Description
The ID of the category this feed belongs to.
- Name
lastFetchedAt- Type
- timestamp
- Description
The timestamp of when the content was last pulled from the source.
- Name
youtubeTranscriptEnabled- Type
- boolean
- Description
Whether automated YouTube transcript extraction is enabled for this feed.
- Name
updatedAt- Type
- timestamp
- Description
Timestamp of when the feed record was last updated in Repurai.
- Name
metadata- Type
- object
- Description
Metadata including URL, title, description, and favicon.
The feed item model
Individual articles or entries within a feed.
Properties
- Name
id- Type
- string
- Description
Unique identifier for the feed item.
- Name
title- Type
- string
- Description
The title of the article or post.
- Name
link- Type
- string
- Description
The canonical URL to the original content.
- Name
smallDescription- Type
- string
- Description
A short snippet or summary of the content.
- Name
publishedDate- Type
- timestamp
- Description
The date the content was originally published.
- Name
thumbnailUrl- Type
- string
- Description
URL to the primary image for the item.
- Name
authorname- Type
- string
- Description
The name of the content creator.
- Name
views- Type
- integer
- Description
The number of views recorded for this item.
- Name
isReadLater- Type
- boolean
- Description
Whether the item is saved to the user's "Read Later" list.
- Name
summary- Type
- string
- Description
The AI-generated summary (if generated).
List all feeds
This endpoint allows you to retrieve all your feeds grouped by their categories. It includes a count of new items for each feed published within the last 24 hours.
Response format
The response is an array of categories, each containing its associated feeds.
Request
curl https://api.repur.ai/v1/feeds \
-H "X-API-Key: {your_api_key}"
[
{
"id": "cat_123",
"name": "Technology",
"newItemsCount": 5,
"feeds": [
{
"id": "feed_456",
"metadata": {
"title": "TechCrunch",
"url": "https://techcrunch.com/feed/",
"favicon": "https://techcrunch.com/favicon.ico"
},
"newItemsCount": 3
}
]
}
]
Create a feed
This endpoint allows you to add a new feed to your dashboard. You must provide the feed data and a category name. If the category does not exist, it will be created automatically.
Required attributes
- Name
url- Type
- string
- Description
The valid RSS/Atom feed URL.
- Name
categoryName- Type
- string
- Description
The name of the category to place the feed in.
Request
curl -X POST https://api.repur.ai/v1/feeds \
-H "X-API-Key: {your_api_key}" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/feed",
"categoryName": "General"
}'
{
"success": true,
"message": "Feed saved successfully!",
"data": {
"feedId": "feed_789"
}
}
Check if feed exists
Check if a specific feed URL is already subscribed to in the user's account. This helps prevent duplicate subscriptions.
Required attributes
- Name
url- Type
- string
- Description
The full URL of the feed to check.
Request
curl "https://api.repur.ai/v1/feeds/check?url=https://example.com/feed" \
-H "X-API-Key: {your_api_key}"
{
"exists": true,
"message": "Feed already saved."
}
Get feed items
Retrieve a paginated list of feed items across all your subscribed feeds, sorted by publication date.
Optional parameters
- Name
page- Type
- integer
- Description
The page number for pagination (defaults to 1).
- Name
pageSize- Type
- integer
- Description
Number of items per page (defaults to 12).
- Name
readLater- Type
- boolean
- Description
Set to
trueto only retrieve items saved for later.
Request
curl "https://api.repur.ai/v1/feeds/items?page=1&pageSize=20" \
-H "X-API-Key: {your_api_key}"
{
"success": true,
"data": {
"feed_item": [
{
"id": "item_abc",
"title": "Introducing Repurai API",
"link": "https://repur.ai/blog/api",
"publishedDate": "2024-03-14T12:00:00Z",
"hasTranscript": false
}
]
},
"hasMore": true
}
Get today's items
Retrieve items published specifically during the current calendar day.
Request
curl "https://api.repur.ai/v1/feeds/items/today" \
-H "X-API-Key: {your_api_key}"
Get item details
Retrieve the full detailed content of a feed item, including the large description, AI summary, and transcript (if available).
Request
curl https://api.repur.ai/v1/feeds/items/item_abc \
-H "X-API-Key: {your_api_key}"
Move feed to category
Move an existing feed to a different category. If the category name provided does not exist, it will be created automatically.
Required attributes
- Name
categoryName- Type
- string
- Description
The name of the target category.
Request
curl -X PATCH https://api.repur.ai/v1/feeds/feed_456/category \
-H "X-API-Key: {your_api_key}" \
-H "Content-Type: application/json" \
-d '{"categoryName": "Tech News"}'
Delete a feed
Permanently remove a feed and all its associated items from your account.
Request
curl -X DELETE https://api.repur.ai/v1/feeds/feed_456 \
-H "X-API-Key: {your_api_key}"
{
"success": true,
"message": "Feed deleted successfully"
}
Sync a feed
Force a manual sync of a specific feed to fetch the latest available items.
Request
curl -X POST https://api.repur.ai/v1/feeds/feed_456/sync \
-H "X-API-Key: {your_api_key}"
{
"success": true,
"message": "Refreshed. 3 new items."
}
Sync all feeds
Trigger a background sync for all your subscribed feeds. This is ideal for refreshing your entire dashboard at once.
Request
curl -X POST https://api.repur.ai/v1/feeds/sync-all \
-H "X-API-Key: {your_api_key}"
{
"success": true,
"message": "All feeds refreshed. 15 new items found."
}
Search for feed items
Search for specific content across all your feed items. This searches through titles, descriptions, and author names.
Required attributes
- Name
query- Type
- string
- Description
The search term to look for.
Request
curl "https://api.repur.ai/v1/feeds/search?query=AI" \
-H "X-API-Key: {your_api_key}"
Toggle Read Later
Save an item to your "Read Later" list or remove it.
Required attributes
- Name
isReadLater- Type
- boolean
- Description
Set to
trueto save,falseto remove.
Request
curl -X PATCH https://api.repur.ai/v1/feeds/items/item_abc/read-later \
-H "X-API-Key: {your_api_key}" \
-H "Content-Type: application/json" \
-d '{"isReadLater": true}'
Rename a category
Update the name of an existing feed category.
Required attributes
- Name
newName- Type
- string
- Description
The new descriptive name for the category.
Request
curl -X PATCH https://api.repur.ai/v1/categories/cat_123 \
-H "X-API-Key: {your_api_key}" \
-H "Content-Type: application/json" \
-d '{"newName": "Reading List"}'
Delete a category
Permanently remove a category and all feeds associated with it. This action is destructive and will delete all items within those feeds as well.
Request
curl -X DELETE https://api.repur.ai/v1/categories/cat_123 \
-H "X-API-Key: {your_api_key}"