Skip to content
API REFERENCE

RSS Feed

Live feed of threads from the Hardcore Photo Sets forum. Available as JSON for programmatic use or Atom XML for feed readers.

Endpoints

GET/api/rss
Returns parsed thread entries as JSON.
GET/api/rss.xml
Returns an Atom 1.0 XML feed — compatible with any feed reader (RSS readers, Feedly, etc.).

JSON Response — /api/rss

FieldTypeDescription
okbooleanWhether the feed was fetched successfully
feedTitlestringAlways "Hardcore Photo Sets"
feedUpdatedstringISO 8601 timestamp of when the feed was fetched
totalnumberNumber of thread entries returned
entriesEntry[]Array of thread objects (see below)

Entry Object

FieldTypeDescription
titlestringThread title
prefixstringStudio/category tag (e.g. "Brazzers"), empty string if none
linkstringFull URL to the thread on viper.to
threadIdstringNumeric thread ID extracted from the URL
authorstringUsername of the thread poster
dateTextstringRaw date string as shown on the forum (e.g. "Today 14:32")
publishedstringISO 8601 timestamp parsed from dateText, empty string if unparseable
repliesstringReply count as a string, empty if unavailable
viewsstringView count as a string, empty if unavailable
thumbnailsstring[]Array of thumbnail image URLs from the thread preview
json
{
  "ok": true,
  "feedTitle": "Hardcore Photo Sets",
  "feedUpdated": "2026-05-28T10:00:00.000Z",
  "total": 28,
  "entries": [{
    "title": "Luna Star - Gets Wild",
    "prefix": "Brazzers",
    "link": "https://viper.to/threads/16244690",
    "threadId": "16244690",
    "author": "uploader99",
    "published": "2026-05-28T14:32:00.000Z",
    "thumbnails": ["https://cdn.example.com/thumb1.jpg"]
  }]
}

Date Parsing

Forum FormatExampleResolved As
Today HH:MMToday 14:32Current date at 14:32 UTC
Yesterday HH:MMYesterday 09:15Previous date at 09:15 UTC
DDth Month YYYY HH:MM22nd May 2026 05:10Exact ISO timestamp
Anything elsepublished field is empty string

Error Codes

StatusDescription
200Success — JSON has ok: true
500Upstream fetch failed — JSON has ok: false and error message

Examples

sh
# JSON feed
curl https://v2.helvetican.xyz/api/rss

# Atom XML feed
curl https://v2.helvetican.xyz/api/rss.xml
js
const { feedTitle, entries } = await fetch('/api/rss')
  .then(r => r.json());
console.log(`${feedTitle}: ${entries.length} threads`);
entries.forEach(e => console.log(e.title, e.published));
python
import requests
data = requests.get("https://v2.helvetican.xyz/api/rss").json()
for entry in data["entries"]:
  print(entry["title"], entry["published"])

Viper Platform Documentation