NewsBlur social API

Blurblogs, sharing, following and comments.

Operations 19

GET /social/river_stories Stories from followed users #
POST /social/share_story Share a story with optional comment #
POST /social/unshare_story Remove a shared story #
GET /social/load_user_friends Followers and following profiles #
GET /social/profile A user's public profile #
GET /social/load_user_profile The current user's private profile details #
POST /social/save_user_profile Update profile information #
GET /social/interactions User interactions #
GET /social/activities User activity feed #
POST /social/follow Follow a user's blurblog #
POST /social/unfollow Unfollow a user #
POST /social/mute_user Mute a user's content #
POST /social/unmute_user Restore a muted user's visibility #
GET /social/public_comments Public comments on a story #
POST /social/save_comment_reply Add a reply to a comment #
POST /social/remove_comment_reply Delete a comment reply #
POST /social/like_comment Favorite a comment #
POST /social/remove_like_comment Unfavorite a comment #
GET /social/find_friends Search for users #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/newsblur-social-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

newsblur-social-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NewsBlur authentication Social API
  description: NewsBlur is a personal news reader (RSS/Atom aggregator) that brings people together to talk about the world. The HTTP API exposes account, feed, story, social ("blurblog"), intelligence-classifier, and OPML import/export operations. This OpenAPI description was generated by API Evangelist from the publicly documented endpoint reference at https://www.newsblur.com/api and the open-source NewsBlur codebase (github.com/samuelclay/NewsBlur). It is a faithful structuring of the documented surface, not a provider-published spec.
  version: '2026.07'
  contact:
    name: NewsBlur
    url: https://www.newsblur.com/api
    email: samuel@newsblur.com
  license:
    name: MIT
    url: https://github.com/samuelclay/NewsBlur/blob/master/LICENSE
  x-source: https://www.newsblur.com/api
servers:
- url: https://www.newsblur.com
  description: Production
security:
- cookieAuth: []
- oauth2Bearer: []
tags:
- name: social
  description: Blurblogs, sharing, following and comments.
paths:
  /social/river_stories:
    get:
      operationId: getSocialRiverStories
      tags:
      - social
      summary: Stories from followed users
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/share_story:
    post:
      operationId: shareStory
      tags:
      - social
      summary: Share a story with optional comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/unshare_story:
    post:
      operationId: unshareStory
      tags:
      - social
      summary: Remove a shared story
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/load_user_friends:
    get:
      operationId: loadUserFriends
      tags:
      - social
      summary: Followers and following profiles
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/profile:
    get:
      operationId: getSocialProfile
      tags:
      - social
      summary: A user's public profile
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/load_user_profile:
    get:
      operationId: loadUserProfile
      tags:
      - social
      summary: The current user's private profile details
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/save_user_profile:
    post:
      operationId: saveUserProfile
      tags:
      - social
      summary: Update profile information
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/interactions:
    get:
      operationId: getInteractions
      tags:
      - social
      summary: User interactions
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/activities:
    get:
      operationId: getActivities
      tags:
      - social
      summary: User activity feed
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/follow:
    post:
      operationId: followUser
      tags:
      - social
      summary: Follow a user's blurblog
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/unfollow:
    post:
      operationId: unfollowUser
      tags:
      - social
      summary: Unfollow a user
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/mute_user:
    post:
      operationId: muteUser
      tags:
      - social
      summary: Mute a user's content
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/unmute_user:
    post:
      operationId: unmuteUser
      tags:
      - social
      summary: Restore a muted user's visibility
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/public_comments:
    get:
      operationId: getPublicComments
      tags:
      - social
      summary: Public comments on a story
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/save_comment_reply:
    post:
      operationId: saveCommentReply
      tags:
      - social
      summary: Add a reply to a comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/remove_comment_reply:
    post:
      operationId: removeCommentReply
      tags:
      - social
      summary: Delete a comment reply
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/like_comment:
    post:
      operationId: likeComment
      tags:
      - social
      summary: Favorite a comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/remove_like_comment:
    post:
      operationId: removeLikeComment
      tags:
      - social
      summary: Unfavorite a comment
      responses:
        '200':
          $ref: '#/components/responses/Ok'
  /social/find_friends:
    get:
      operationId: findFriends
      tags:
      - social
      summary: Search for users
      responses:
        '200':
          $ref: '#/components/responses/Ok'
components:
  responses:
    Ok:
      description: Success. NewsBlur returns a JSON object; most responses include a `result` field ("ok" or "error").
      content:
        application/json:
          schema:
            type: object
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: newsblur_sessionid
      description: Session cookie set by POST /api/login.
    oauth2Bearer:
      type: http
      scheme: bearer
      description: OAuth 2.0 access token passed as a Bearer token in the Authorization header. Client credentials are issued by NewsBlur (contact samuel@newsblur.com).