Appearance
Create Feed
FreshPOST /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"
}| Field | Type | Required | Description |
|---|---|---|---|
keyword | string | Yes | Search term to match |
region | string | No | ISO 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
| Field | Used by | Type | Description |
|---|---|---|---|
url | Methods 1 & 2 | string | Website or RSS feed URL |
keyword | Methods 3 & 4 | string | Search term or full news headline |
region | Methods 3 & 4 | string | Country 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
| Status | Meaning |
|---|---|
| 400 | Invalid request body — missing required field or malformed URL |
| 401 | Authentication failed |
| 402 | Feed creation limit reached for your plan |
| 409 | A feed for this URL already exists in your account |
| 429 | Rate limit exceeded |