. . . . .. .. .: . . .. . . .:.. .. .. .. . .. .+... . .. .::..: .. ... ..............:.+. . .. . .:..::::---=. ..:---:. . .=--=-:.-::..=:-:. . .. ..... . . .-. . .:==-----+=-:. :--:.=.-..... . .-===::---:-:::::. ..::-:--:. . .:.=.::--.. . ..... ..:-=== ===.-:: .::::..:: .:.... ..:==-=+=+=-=-=::.+.:.... .:-:::.. ...+... .:.:::-=++::.. .=.. . .. ..-...:..::+====.++=-:+::.... .::::---=::.. ..:::-=+==-+X+===-:.:-+=--::=:: ..::.:. .:..:+::=:::--=+XX+---:...::.... .. ..:.+....:--.::-:---=+X++++==-:::::......::==++--:..:==--=-=--==+X==++=---+-=+==--::. .:::: :-::::--+=--=+XXXXX++=---:=-:.:....=.... .. ..::::-=-::=++==+XX.XX+X+----==.--::.:-=+X+X+===-=X+===----== XXXX++++==++++++==-:....:::.==-=--==XXX=XXXX-X:++==-++=:::--:::::....= ...:.-::-====-.-=++:+XXXXXX+==-==++=----- =XXXXXXXXXXXXX++=---:==+X.XX.+XXXXXX+X+XX++++-:.::--=X++:X =XXXXX++.XX++X++X+++--::--:-::::.:. .-..::.-=====-=-=++:+XXXXXX+==-==++=----- =XXXXXXXXXXXXX++=---:==+X.XX.+XXXXXX+X+XX++++-:.::--=X++:X =XXXXX++.XX++X++X+++--::--:-::::.:.

Feeds

Retrieve and manage your feeds and categories.
epuraı

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).


GET/v1/feeds

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

GET/v1/feeds
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
      }
    ]
  }
]

POST/v1/feeds

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

POST/v1/feeds
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"
  }
}

GET/v1/feeds/check

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

GET/v1/feeds/check?url=...
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/v1/feeds/items

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 true to only retrieve items saved for later.

Request

GET/v1/feeds/items
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/v1/feeds/items/today

Get today's items

Retrieve items published specifically during the current calendar day.

Request

GET/v1/feeds/items/today
curl "https://api.repur.ai/v1/feeds/items/today" \
  -H "X-API-Key: {your_api_key}"

GET/v1/feeds/items/:id

Get item details

Retrieve the full detailed content of a feed item, including the large description, AI summary, and transcript (if available).

Request

GET/v1/feeds/items/item_abc
curl https://api.repur.ai/v1/feeds/items/item_abc \
  -H "X-API-Key: {your_api_key}"

PATCH/v1/feeds/:id/category

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

PATCH/v1/feeds/feed_456/category
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/v1/feeds/:id

Delete a feed

Permanently remove a feed and all its associated items from your account.

Request

DELETE/v1/feeds/feed_456
curl -X DELETE https://api.repur.ai/v1/feeds/feed_456 \
  -H "X-API-Key: {your_api_key}"
{
  "success": true,
  "message": "Feed deleted successfully"
}

POST/v1/feeds/:id/sync

Sync a feed

Force a manual sync of a specific feed to fetch the latest available items.

Request

POST/v1/feeds/feed_456/sync
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."
}

POST/v1/feeds/sync-all

Sync all feeds

Trigger a background sync for all your subscribed feeds. This is ideal for refreshing your entire dashboard at once.

Request

POST/v1/feeds/sync-all
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."
}

GET/v1/feeds/search

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

GET/v1/feeds/search?query=AI
curl "https://api.repur.ai/v1/feeds/search?query=AI" \
  -H "X-API-Key: {your_api_key}"

PATCH/v1/feeds/items/:id/read-later

Toggle Read Later

Save an item to your "Read Later" list or remove it.

Required attributes

  • Name
    isReadLater
    Type
    boolean
    Description

    Set to true to save, false to remove.

Request

PATCH/v1/feeds/items/item_abc/read-later
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}'

PATCH/v1/categories/:id

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

PATCH/v1/categories/cat_123
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/v1/categories/:id

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

DELETE/v1/categories/cat_123
curl -X DELETE https://api.repur.ai/v1/categories/cat_123 \
  -H "X-API-Key: {your_api_key}"