Skip to content

Create Feed

Fresh

POST /v1/feeds

Creates a new RSS feed. RSS.app supports four distinct creation methods, all using the same endpoint but with different request body fields.

Method 1: Create from Website URL

Point RSS.app at any website and it generates an RSS feed automatically. This works even on sites that don't publish a native RSS feed.

Request body:

json
{
  "url": "https://example.com"
}

Code example:

js
const axios = require('axios');

const apiClient = axios.create({
  baseURL: 'https://api.rss.app/v1',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY:YOUR_API_SECRET',
    'Content-Type': 'application/json',
  },
});

const response = await apiClient.post('/feeds', {
  url: 'https://techcrunch.com',
});

console.log(response.data.id);           // "feed_abc123"
console.log(response.data.rss_feed_url); // "https://rss.app/feeds/..."

Method 2: Create from Native RSS URL

If the target website already publishes an RSS or Atom feed, provide that feed URL directly. RSS.app will proxy and manage the feed through its system.

Request body:

json
{
  "url": "https://feeds.feedburner.com/TechCrunch"
}

Code example:

js
const response = await apiClient.post('/feeds', {
  url: 'https://feeds.feedburner.com/TechCrunch',
});

console.log(response.data.id);
console.log(response.data.source_url);

The API uses the same url field for both website URLs and native RSS feed URLs. RSS.app detects whether the URL points to an RSS/Atom feed or a regular HTML page automatically.

Method 3: Create from Keyword

Create a feed that aggregates news content matching a search keyword. The feed updates as new articles matching the keyword are published.

Request body:

json
{
  "keyword": "electric vehicles",
  "region": "us"
}
FieldTypeRequiredDescription
keywordstringYesSearch term to match
regionstringNoISO 3166-1 alpha-2 country code (default: us)

Code example:

js
const response = await apiClient.post('/feeds', {
  keyword: 'electric vehicles',
  region: 'us',
});

console.log(response.data.id);
console.log(response.data.title); // "electric vehicles"

Method 4: Create from News Headlines

Pull stories from multiple publications covering a specific news headline. Provide the full headline text as the keyword value.

Request body:

json
{
  "keyword": "Federal Reserve raises interest rates by quarter point",
  "region": "us"
}

Code example:

js
const response = await apiClient.post('/feeds', {
  keyword: 'Federal Reserve raises interest rates by quarter point',
  region: 'us',
});

console.log('Coverage items:', response.data.items.length);

The API body structure is identical to Method 3. The distinction is in the specificity of the keyword — a detailed headline pulls targeted story coverage, while a short term pulls broad topic results.

Request Parameters Summary

FieldUsed byTypeDescription
urlMethods 1 & 2stringWebsite or RSS feed URL
keywordMethods 3 & 4stringSearch term or full news headline
regionMethods 3 & 4stringCountry code for regional filtering

Response

HTTP 200 with the full feed object.

json
{
  "id": "feed_abc123",
  "title": "TechCrunch",
  "source_url": "https://techcrunch.com",
  "rss_feed_url": "https://rss.app/feeds/your-feed-id.xml",
  "description": "Technology news and startup coverage",
  "icon": "https://techcrunch.com/favicon.ico",
  "is_active": true,
  "items": [ ... ]
}

Error Responses

StatusMeaning
400Invalid request body — missing required field or malformed URL
401Authentication failed
402Feed creation limit reached for your plan
409A feed for this URL already exists in your account
429Rate limit exceeded

RSS.app API Documentation