API Reference

Here is all the info you need to pull data from NeuraFeed. We kept it super simple.

Test It Without Coding

You do not even need to write any code to test our API! Just click this link to open it in your browser and see the raw data output for yourself: https://feed.neuraspheres.com/api/latest-news.

Available Endpoints

GET /api/latest-news

Try it

This endpoint gives you the absolute newest article our system generated. You do not need any API keys or login to use this. Just make a request and get your data.

GET https://feed.neuraspheres.com/api/latest-news

What you get back (200 OK)

{
  "success": true,
  "article": {
    "id": "firestoreDocumentId",
    "title": "Article headline",
    "summary": "2 to 3 sentence executive summary.",
    "article": "<h2>Subtopic</h2><p>Content with inline citation.<sup>[1]</sup></p>...",
    "whyItMatters": "2 to 3 sentences explaining significance.",
    "tags": ["AI", "OpenAI", "GPT-4"],
    "sources": [
      "[1] TechCrunch: https://techcrunch.com/...",
      "[2] The Verge: https://www.theverge.com/..."
    ],
    "topic": "Detected trending topic name",
    "coverImage": "https://cdn.vox-cdn.com/uploads/chorus_image/image/12345/hero.jpg",
    "imageSource": "theverge.com",
    "imageSourceUrl": "https://www.theverge.com/2026/4/26/article-slug",
    "embedMedia": {
      "type": "youtube",
      "id": "dQw4w9WgXcQ",
      "title": "Video title from YouTube",
      "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    },
    "createdAt": "2026-04-26T03:00:00.000Z"
  }
}

GET /api/recent-news

Try it

If you want to build a feed or show more than one article, use this endpoint. It returns an array of the latest articles. Like the other one, it is completely open and needs no authentication.

You can add a limit parameter to the URL to choose how many articles you want. If you do not pass one, you get the 20 most recent. You can ask for up to 100 at a time.

GET https://feed.neuraspheres.com/api/recent-news
GET https://feed.neuraspheres.com/api/recent-news?limit=5
GET https://feed.neuraspheres.com/api/recent-news?limit=50

What you get back (200 OK)

{
  "success": true,
  "articles": [
    {
      "id": "firestoreDocumentId1",
      "title": "Most recent article",
      "summary": "...",
      "article": "...",
      "whyItMatters": "...",
      "tags": ["..."],
      "sources": ["..."],
      "topic": "...",
      "coverImage": "https://cdn.vox-cdn.com/uploads/chorus_image/image/12345/hero.jpg",
      "imageSource": "theverge.com",
      "imageSourceUrl": "https://www.theverge.com/2026/4/26/article-slug",
      "embedMedia": {
        "type": "youtube",
        "id": "dQw4w9WgXcQ",
        "title": "Video title from YouTube",
        "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
      },
      "createdAt": "2026-04-26T03:00:00.000Z"
    },
    {
      "id": "firestoreDocumentId2",
      "title": "Older article",
      "summary": "...",
      "article": "...",
      "whyItMatters": "...",
      "tags": ["..."],
      "sources": ["..."],
      "topic": "...",
      "coverImage": null,
      "imageSource": null,
      "imageSourceUrl": null,
      "embedMedia": null,
      "createdAt": "2026-04-25T03:00:00.000Z"
    }
  ]
}

Understanding the Data Fields

Every article object comes with a few standard fields. Here is a breakdown of what they are and how to use them.

FieldTypeDescription
idstringThe unique database ID for the article. Good for React keys.
titlestringThe main headline. It is just plain text.
summarystringA quick text summary of the whole article.
articleHTML stringThis is the actual written content. It already has HTML tags like headings and paragraphs, so you have to render it as raw HTML.
whyItMattersstringA short text block that explains why this news is actually important.
tagsarrayA list of string tags so you can categorize the news.
sourcesarrayThe links we used to write the article. They come in a specific text format like [1] Name: URL.
topicstringThe main topic the AI was researching when it wrote this.
coverImagestring | nullURL of the article cover image. Sourced from the og:image of one of the grounding pages. Can be a direct CDN link or a Cloudinary URL. Null if no image could be found.
imageSourcestring | nullThe hostname of the page the cover image came from, e.g. theverge.com. Use this for attribution. Null when coverImage is null.
imageSourceUrlstring | nullThe full URL of the source article the image was taken from. Link this when showing the image to give proper credit. Null when coverImage is null.
embedMediaobject | nullA related YouTube video when one is found. Contains type (youtube), id (the video ID), title, and url. Null when no video was found.
createdAtstringA standard timestamp showing exactly when we published the article.

Just a Heads Up

  • Most of the fields like title, summary, and whyItMatters are plain text. You can drop them right into your UI.
  • The article field is full of HTML. Make sure you render it correctly or your users will just see a bunch of raw code tags.
  • coverImage, imageSource, and imageSourceUrl can all be null. Not every article has an image, so always check before rendering.
  • When you show a cover image, link it back to imageSourceUrl and label it with imageSource so the original publisher gets proper credit.
  • embedMedia is null when no related video was found. Always check before rendering. When present, embed it using https://www.youtube.com/embed/{embedMedia.id}.
  • We do not limit how many times you can hit these endpoints, but please cache the responses on your end. The news does not update every single second.