Sorsa Users Data API

User profile, followers, following, verified followers, About metadata

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-user-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-follower-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-tweet-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-tweet-entity-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-top-follower-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-place-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-trend-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-schema/sorsa-community-user-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-user-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-follower-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-tweet-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-tweet-entity-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-top-follower-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-place-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-trend-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-structure/sorsa-community-user-structure.json

Other Resources

🔗
Pricing
https://docs.sorsa.io/pricing
🔗
ErrorCodes
https://docs.sorsa.io/error-codes
🔗
Versioning
https://docs.sorsa.io/base-url-and-versioning
🔗
ChangeLog
https://docs.sorsa.io/Migration-Guide
🔗
APIsJSON
https://api.sorsa.io/apis.json
🔗
SwaggerJSON
https://api.sorsa.io/v3/swagger.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-ld/sorsa-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/json-ld/sorsa-security-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-info-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-tweet-info-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-tweet-info-bulk-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-search-tweets-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-mentions-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-followers-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-follows-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-score-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-check-follow-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-key-usage-info-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-user-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-follower-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-tweet-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-tweet-entity-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-top-follower-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-place-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-trend-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/sorsa/refs/heads/main/examples/sorsa-community-user-example.json

OpenAPI Specification

sorsa-users-data-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Sorsa Community Users Data API
  version: '3.0'
  description: Real-time X (Twitter) data API providing access to tweets, profiles, search, mentions, lists, communities, engagement verification, and Sorsa Score crypto-influence analytics via 40 REST endpoints. Affordable alternative to the official X API.
  contact:
    name: Sorsa Support
    email: contacts@sorsa.io
    url: https://docs.sorsa.io/
  license:
    name: Proprietary
    url: https://sorsa.io/
  termsOfService: https://sorsa.io/terms
servers:
- url: https://api.sorsa.io/v3
  description: Sorsa API v3 production
security:
- ApiKey: []
tags:
- name: Users Data
  description: User profile, followers, following, verified followers, About metadata
paths:
  /about:
    get:
      description: 'Returns metadata from the "About" section of a Twitter/X account, including country, total number of username changes, and the date of the most recent change. Identify the user by providing exactly one of: `user_link`, `username`, or `user_id`.'
      parameters:
      - description: Full URL of the user's Twitter/X profile.
        in: query
        name: user_link
        schema:
          type: string
      - description: Twitter/X handle (without @).
        in: query
        name: username
        schema:
          type: string
      - description: Numeric Twitter/X user ID.
        in: query
        name: user_id
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usersdata.AboutRes'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Internal Server Error
      security:
      - ApiKey: []
      summary: Account About Info
      tags:
      - Users Data
  /followers:
    get:
      description: 'Returns a paginated list of users who follow the specified account. Up to 200 user profiles per page. Use the returned `next_cursor` to load subsequent pages. Identify the user by providing exactly one of: `user_link`, `username`, or `user_id`.'
      parameters:
      - description: Full URL of the user's Twitter/X profile.
        in: query
        name: user_link
        schema:
          type: string
      - description: Twitter/X handle (without @).
        in: query
        name: username
        schema:
          type: string
      - description: Numeric Twitter/X user ID.
        in: query
        name: user_id
        schema:
          type: string
      - description: Pagination cursor from a previous response.
        in: query
        name: next_cursor
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.UsersResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Internal Server Error
      security:
      - ApiKey: []
      summary: Followers
      tags:
      - Users Data
  /follows:
    get:
      description: 'Returns a paginated list of accounts that the specified user follows. Up to 200 user profiles per page. Use the returned `next_cursor` to load subsequent pages. Identify the user by providing exactly one of: `user_link`, `username`, or `user_id`.'
      parameters:
      - description: Full URL of the user's Twitter/X profile.
        in: query
        name: user_link
        schema:
          type: string
      - description: Twitter/X handle (without @).
        in: query
        name: username
        schema:
          type: string
      - description: Numeric Twitter/X user ID.
        in: query
        name: user_id
        schema:
          type: string
      - description: Pagination cursor from a previous response.
        in: query
        name: next_cursor
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.UsersResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Internal Server Error
      security:
      - ApiKey: []
      summary: Following
      tags:
      - Users Data
  /info:
    get:
      description: 'Returns the public profile of a Twitter/X account, including display name, bio, follower and following counts, tweet count, avatar, account creation date, and verification status. Identify the user by providing exactly one of: `user_link`, `username`, or `user_id`.'
      parameters:
      - description: Full URL of the user's Twitter/X profile.
        in: query
        name: user_link
        schema:
          type: string
      - description: Twitter/X handle (without @).
        in: query
        name: username
        schema:
          type: string
      - description: Numeric Twitter/X user ID.
        in: query
        name: user_id
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.User'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Internal Server Error
      security:
      - ApiKey: []
      summary: User Profile
      tags:
      - Users Data
  /info-batch:
    get:
      description: Returns public profile data for multiple Twitter/X accounts in a single request. Works the same way as the single-user endpoint, but accepts arrays of usernames or user IDs. Up to 100 accounts per request. Provide either `usernames` or `user_ids`.
      parameters:
      - description: Array of Twitter/X handles (without @).
        in: query
        name: usernames
        schema:
          items:
            type: string
          type: array
      - description: Array of numeric Twitter/X user IDs.
        in: query
        name: user_ids
        schema:
          items:
            type: string
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usersdata.InfoBatchRes'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Internal Server Error
      security:
      - ApiKey: []
      summary: User Profile (batch)
      tags:
      - Users Data
  /verified-followers:
    get:
      description: 'Returns a paginated list of verified users who follow the specified account. Works the same way as the regular followers endpoint, but filters to only include accounts with a verified badge. Identify the user by providing exactly one of: `user_link`, `username`, or `user_id`.'
      parameters:
      - description: Full URL of the user's Twitter/X profile.
        in: query
        name: user_link
        schema:
          type: string
      - description: Twitter/X handle (without @).
        in: query
        name: username
        schema:
          type: string
      - description: Numeric Twitter/X user ID.
        in: query
        name: user_id
        schema:
          type: string
      - description: Pagination cursor from a previous response.
        in: query
        name: next_cursor
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/common.UsersResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
          description: Internal Server Error
      security:
      - ApiKey: []
      summary: Verified Followers
      tags:
      - Users Data
components:
  schemas:
    usersdata.AboutRes:
      properties:
        country:
          description: Country associated with the account.
          example: United States
          type: string
        last_username_change_at:
          description: Date of the most recent username change in ISO 8601 format.
          example: '2021-01-01T00:00:00Z'
          type: string
        username_change_count:
          description: Total number of username changes.
          example: 1
          type: integer
      type: object
    common.User:
      properties:
        bio_urls:
          description: URLs found in the user's bio.
          items:
            type: string
          type: array
        can_dm:
          description: Whether the account accepts direct messages.
          example: false
          type: boolean
        created_at:
          description: Account creation date in ISO 8601 format.
          example: '2009-06-02T20:12:29Z'
          type: string
        description:
          description: Profile bio text.
          example: Bio text
          type: string
        display_name:
          description: User's display name.
          example: Elon Musk
          type: string
        favourites_count:
          description: Total number of tweets this user has liked.
          example: 1200
          type: integer
        followers_count:
          description: Number of accounts following this user.
          example: 100000
          type: integer
        followings_count:
          description: Number of accounts this user follows.
          example: 500
          type: integer
        id:
          description: Unique Twitter/X user ID.
          example: '44196397'
          type: string
        location:
          description: Location string from the user's profile.
          example: Austin, TX
          type: string
        media_count:
          description: Total number of media items posted by this user.
          example: 300
          type: integer
        pinned_tweet_ids:
          description: IDs of the user's pinned tweets.
          items:
            type: string
          type: array
        possibly_sensitive:
          description: Whether the account is flagged as possibly containing sensitive content.
          example: false
          type: boolean
        profile_background_image_url:
          description: URL of the user's profile background image.
          example: https://pbs.twimg.com/profile_banners/44196397/123
          type: string
        profile_image_url:
          description: URL of the user's avatar image.
          example: https://pbs.twimg.com/profile_images/123/photo.jpg
          type: string
        protected:
          description: Whether the account's tweets are protected (private).
          example: false
          type: boolean
        tweets_count:
          description: Total number of tweets posted by this user.
          example: 5000
          type: integer
        username:
          description: Current Twitter/X handle (without @).
          example: elonmusk
          type: string
        verified:
          description: Whether the account has a verified badge.
          example: true
          type: boolean
      type: object
    handler.ErrorResponse:
      properties:
        message:
          type: string
      type: object
    common.UsersResponse:
      properties:
        next_cursor:
          description: Cursor for fetching the next page of results. Null or absent if no more pages.
          type: string
        users:
          description: Array of user profile objects.
          items:
            $ref: '#/components/schemas/common.User'
          type: array
      type: object
    usersdata.InfoBatchRes:
      properties:
        users:
          description: Array of user profile objects.
          items:
            $ref: '#/components/schemas/common.User'
          type: array
      type: object
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: ApiKey
      description: Include your API key in the `ApiKey` header with every request.