Spredfast Experiences Stream API

Curated social stream data powering Khoros Marketing Experiences visualisations — 48 operations for stream items, leaderboards, stream meta, topic and hashtag counts, and volume comparison. Served from api.massrelevance.com, the host inherited from Mass Relevance, which Spredfast acquired in 2013 and rebranded as Spredfast Experiences; the provider's own reference page states "Experiences is a Khoros Marketing product" and that access requires accepting the Spredfast Experiences API usage agreement. PROBED 2026-08-13: that host returns HTTP 502 on every path including /, while the contract remains published on the current developer center.

OpenAPI Specification

spredfast-experiences-stream-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: stream-api
  version: '1.1'
servers:
- url: https://api.massrelevance.com
components:
  securitySchemes:
    sec0:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://example.com/oauth2/token
          scopes: {}
security:
- sec0: []
paths:
  /{account}/{streamName}:
    get:
      summary: Retrieve Stream's Approved Content
      description: Retrieve approved content for a specified account and stream
      operationId: retrieve-streams-approved-content
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: tweet_mode
        in: query
        description: This will expose the latest Tweet format from Twitter where the payload contains
          all information required to render Tweets that contain more than 140 characters.
        schema:
          type: string
          default: extended
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?limit:
    get:
      summary: Specify amount of content to pull
      description: Includes a query parameter to return a specific number of entities
      operationId: specify-amount-of-content-to-pull
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: limit
        in: query
        description: Number of status entities to return. **Maximum:** `200` **Minimum:** `1`
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?since_id:
    get:
      summary: Gather content after specific entity
      description: Includes only those status entities approved after supplied status entity_id biasing
        towards real-time
      operationId: gather-content-after-specific-entity
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: since_id
        in: query
        description: Includes only those status entities approved after supplied status entity_id biasing
          towards real-time. (e.g. “entity_id” = 255682528302747648)"
        schema:
          type: string
          default: '255682528302747648'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?from_id:
    get:
      summary: Gather content after included entity
      description: Includes only those status entities approved after supplied status entity_id without
        skipping over status entities
      operationId: gather-content-after-included-entity
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: from_id
        in: query
        schema:
          type: string
          default: '255682528302747648'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?start_id:
    get:
      summary: Gather content before included entity
      description: Includes only those status entities approved before supplied status `entity_id`
      operationId: gather-content-after-included-entity-1
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: start_id
        in: query
        description: Includes only those status entities approved before supplied status entity_id. This
          parameter is commonly used to implement ‘More’ functionality on a stream of content, wherein
          an end user sees a stream of content, then clicks on a ‘More’ link to display the next N entities.
          By supplying the entity_id of the last viewed entity, you may request the set of entities that
          came before it in the stream.
        schema:
          type: string
          default: '255682528302747648'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?callback:
    get:
      summary: Enable JSONP support
      description: Enables JSONP support. Wraps JSON response with a JavaScript function of given name.
        (e.g. ?callback=myFunction)
      operationId: enable-jsonp-support
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?geo_hint:
    get:
      summary: Enable geohinting data
      description: Includes only those status entities approved before supplied status `entity_id`
      operationId: enable-geohinting-data
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: geo_hint
        in: query
        description: When possible, geo_hint adds inferred status entity location from the authoring user’s
          profile information. The data is added the to geo_hint property of a Twitter status entity.
          (e.g. 1)
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"geo_hint\": {\n    \"country\": \"US\",\n    \"state\": \"CA\",\n   \
                    \ \"coordinates\": [\n      34.0522342,\n      -118.2436849\n    ]\n  }\n}"
              schema:
                type: object
                properties:
                  geo_hint:
                    type: object
                    properties:
                      country:
                        type: string
                        example: US
                      state:
                        type: string
                        example: CA
                      coordinates:
                        type: array
                        items:
                          type: number
                          example: 34.0522342
                          default: 0
      deprecated: false
      security: []
  /{account}/{streamName}?page_links:
    get:
      summary: Enable product hinting for each entity
      description: Enable product hinting by specified account and stream
      operationId: enable-product-hinting-for-each-entity
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: page_links
        in: query
        description: This parameter is used for Product Linking and must be set to true to surface up
          any product data that is linked to the entity. The absence of the parameter or it being set
          to false will assume that you are not requesting product linked data. If set to true, the data
          is added the to massrel/page_links property of an entity. (e.g. 1)
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"massrel\": {\n    \"page_links\": [\n      {\n        \"id\": 12,\n \
                    \       \"url\": \"http://yoursite.com/yourpage\",\n        \"short_url\": \"http://mssv.ly/13J39ai\"\
                    ,\n        \"name\": \"Your page name\",\n        \"description\": \"Your page description\"\
                    ,\n        \"image_url\": \"http://yoursite.com/yourpage.jpg\"\n      }\n    ]\n \
                    \ }\n}"
              schema:
                type: object
                properties:
                  massrel:
                    type: object
                    properties:
                      page_links:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 12
                              default: 0
                            url:
                              type: string
                              example: http://yoursite.com/yourpage
                            short_url:
                              type: string
                              example: http://mssv.ly/13J39ai
                            name:
                              type: string
                              example: Your page name
                            description:
                              type: string
                              example: Your page description
                            image_url:
                              type: string
                              example: http://yoursite.com/yourpage.jpg
      deprecated: false
      security: []
  /{account}/{streamName}?replies:
    get:
      summary: Enable replies to entities
      description: Includes the status entity that a status entity replied to. The status entity is added
        to the in_reply_to property of a status entity
      operationId: enable-replies-to-entities
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: replies
        in: query
        description: Includes the status entity that a status entity replied to. The status entity is
          added to the in_reply_to property of a status entity. (e.g. 1)
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"massrel\": {\n    \"page_links\": [\n      {\n        \"id\": 12,\n \
                    \       \"url\": \"http://yoursite.com/yourpage\",\n        \"short_url\": \"http://mssv.ly/13J39ai\"\
                    ,\n        \"name\": \"Your page name\",\n        \"description\": \"Your page description\"\
                    ,\n        \"image_url\": \"http://yoursite.com/yourpage.jpg\"\n      }\n    ]\n \
                    \ }\n}"
              schema:
                type: object
                properties:
                  massrel:
                    type: object
                    properties:
                      page_links:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 12
                              default: 0
                            url:
                              type: string
                              example: http://yoursite.com/yourpage
                            short_url:
                              type: string
                              example: http://mssv.ly/13J39ai
                            name:
                              type: string
                              example: Your page name
                            description:
                              type: string
                              example: Your page description
                            image_url:
                              type: string
                              example: http://yoursite.com/yourpage.jpg
      deprecated: false
      security: []
  /{account}/{streamName}?network:
    get:
      summary: Specify Social Network to gather entities
      description: Includes entities from a specified social network only
      operationId: specify-social-network-to-gather-entities
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: network
        in: query
        description: Includes entities from a specified social network only. **Possible Values:** `facebook`,
          `instagram`, `google_plus`, and `rss`. **Notes:** Must be a single value (`network=facebook`).
          Multiple values are not supported.
        schema:
          type: string
          default: facebook
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?include_entities:
    get:
      summary: Included entity object on tweets
      description: XML endpoint only. Includes an `entities` object on Tweets containing links, media,
        or other references
      operationId: included-entity-object-on-tweets
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: include_entities
        in: query
        description: XML endpoint only. Includes an `entities` object on Tweets containing links, media,
          or other references.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?reverse:
    get:
      summary: Reverse order of status entities
      description: Reverses the status entities in response to be in chronological approved order (default
        is reverse chronological approved order) so that entities approved earlier are on top
      operationId: reverse-order-of-status-entities
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: reverse
        in: query
        description: Reverses the status entities in response to be in chronological approved order (default
          is reverse chronological approved order) so that entities approved earlier are on top.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?strip_links:
    get:
      summary: Remove trailing links
      description: Removes trailing URLs from the text of a status entity
      operationId: remove-trailing-links-1
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: strip_links
        in: query
        description: Removes trailing URLs from the text of a status entity.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?keywords:
    get:
      summary: Gather specific entities containing keywords
      description: Returns only entities containing the specified keywords
      operationId: remove-trailing-links
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: keywords
        in: query
        description: Returns only entities containing the specified keywords.(e.g. `fire%20ice`)
        schema:
          type: string
          default: fire%20ice
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?from:
    get:
      summary: Return entities from specific user
      description: Returns only entities authored by the specified author. The value must be in all lowercase.
        (e.g. `jack%20johnson`)
      operationId: return-entities-from-specific-user
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: from
        in: query
        schema:
          type: string
          default: jack%20johnson
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?timeframe[start]:
    get:
      summary: Return entities after a specific time
      description: Returns only items created after given time. Only use the seconds portion of unix time
        (JavaScript will give the number in milliseconds. Divide by 1000). (e.g. `1380666060`)
      operationId: return-entities-after-a-specific-time
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: timeframe[start]
        in: query
        schema:
          type: string
          default: '1380666060'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}?timeframe[finish]:
    get:
      summary: Return entities before a specific time
      description: Returns only items created before given time. Only use the seconds portion of unix
        time (JavaScript will give the number in milliseconds. Divide by 1000). (e.g. `1380666060`)
      operationId: return-entities-before-a-specific-time
      parameters:
      - name: account
        in: path
        schema:
          type: string
          default: MassRelDemo
        required: true
      - name: streamName
        in: path
        schema:
          type: string
          default: kindle.json
        required: true
      - name: timeframe[finish]
        in: query
        schema:
          type: string
          default: '1380666060'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json:
    get:
      summary: Get entity information
      description: Provides information about and derived from the entities in a stream
      operationId: get-entity-information
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?num_minutes:
    get:
      summary: Get minutes of activity
      description: Retrieve the number of minutes of activity
      operationId: get-minutes-of-activity
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: num_minutes
        in: query
        schema:
          type: integer
          format: int32
          default: 60
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?num_hours:
    get:
      summary: Get hours of activity
      description: Retrieve the number of activity hours
      operationId: get-minutes-of-activity-1
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: num_hours
        in: query
        schema:
          type: integer
          format: int32
          default: 2
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?num_days:
    get:
      summary: Get days of activity
      description: Retrieve the number of activity days
      operationId: get-days-of-activity
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: num_days
        in: query
        schema:
          type: integer
          format: int32
          default: 30
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?activity:
    get:
      summary: Get activity and count props
      description: Include activity and count properties in response
      operationId: get-activity-and-count-props
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: activity
        in: query
        description: '**Format:** binary'
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?finish:
    get:
      summary: Get last item of activity
      description: Unix time of the point of which activity data should end
      operationId: get-last-item-of-activity
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: finish
        in: query
        schema:
          type: integer
          format: int32
          default: 1349278694
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json? networks:
    get:
      summary: Get networks in meta response
      description: Include networks property in the response, which is an array of strings
      operationId: get-networks-in-meta-response-1
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: networks
        in: query
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?top_periods:
    get:
      summary: Get top retweets in specified hours
      description: Include top tweets from specific hourly periods provided
      operationId: get-networks-in-meta-response
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: top_periods
        in: query
        schema:
          type: string
          default: '2012070412'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?top_periods_relative:
    get:
      summary: Get top retweets hourly from now
      description: Include top tweets from specific hourly periods ago from now
      operationId: get-top-retweets-hourly-from-now-1
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: top_periods_relative
        in: query
        schema:
          type: string
          default: '1'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?top_count:
    get:
      summary: Get tweets per period
      description: Number of tweets to include per period
      operationId: get-top-retweets-hourly-from-now
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: top_count
        in: query
        schema:
          type: integer
          format: int32
          default: 5
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?num_hashtags:
    get:
      summary: Get number of hashtags returned
      description: Retrieves the number of hashtags.
      operationId: get-number-of-hashtags-returned-1
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: num_hashtags
        in: query
        schema:
          type: integer
          format: int32
          default: 10
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?num_contributors:
    get:
      summary: Get number of contributors
      description: Number of contributor user handles to return
      operationId: get-number-of-topics
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: num_contributors
        in: query
        schema:
          type: integer
          format: int32
          default: 5
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?num_trends:
    get:
      summary: Get number of topics
      description: Retrieves the number of topics (buckets).
      operationId: get-number-of-hashtags-returned
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: num_trends
        in: query
        schema:
          type: integer
          format: int32
          default: 5
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value: Coming Soon
      deprecated: false
      security: []
  /{account}/{streamName}/meta.json?sort:
    get:
      summary: Get Specified Sort Order
      description: Determines the sort order for returned topics
      operationId: get-specified-sort-order
      parameters:
      - name: account
        in: path
        schema:
          type: string
        required: true
      - name: streamName
        in: path
        schema:
          type: string
        required: true
      - name: sort
        in: query
        schema:
          type: string
          default: position asc
      responses:
        '200':
          description: '200'
          content:
            text/plai

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spredfast/refs/heads/main/openapi/spredfast-experiences-stream-api-openapi.yml