AimRank Social API

The Social API from AimRank — 13 operation(s) for social.

Operations 16

GET /api/v1/social/rankings/{ranking_id}/comments List Comments #
POST /api/v1/social/rankings/{ranking_id}/comments Create Comment #
PUT /api/v1/social/comments/{comment_id} Update Comment #
DELETE /api/v1/social/comments/{comment_id} Delete Comment #
POST /api/v1/social/reactions/{target_type}/{target_id} Toggle Reaction #
GET /api/v1/social/reactions/{target_type}/{target_id} Get Reactions #
POST /api/v1/social/follows Follow #
DELETE /api/v1/social/follows/{target_type}/{target_id} Unfollow #
GET /api/v1/social/follows/me My Follows #
GET /api/v1/social/follows/check/{target_type}/{target_id} Check Follow #
GET /api/v1/social/rankings/{ranking_id}/followers/count Get Follower Count #
POST /api/v1/social/rankings/{ranking_id}/share Create Share #
POST /api/v1/social/shares/{referral_code}/click Track Share Click #
GET /api/v1/social/rankings/{ranking_id}/shares/stats Get Share Stats #
GET /api/v1/social/feed Get Activity Feed #
GET /api/v1/social/feed/global Get Global Feed #

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/aimrank-io:aimrank-io-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

aimrank-io-social-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AimRank Social API
  description: Ranking-as-a-Service API — Turn binary comparisons into calibrated rankings with Glicko-2, Bradley-Terry, TrueSkill, and cross-domain transfer learning. Includes webhooks, API keys, RLHF exports, and embeddable widgets.
  version: 4.12.0
tags:
- name: Social
paths:
  /api/v1/social/rankings/{ranking_id}/comments:
    get:
      tags:
      - Social
      summary: List Comments
      description: List top-level comments on a ranking with nested replies.
      operationId: list_comments_api_v1_social_rankings__ranking_id__comments_get
      parameters:
      - name: ranking_id
        in: path
        required: true
        schema:
          type: string
          title: Ranking Id
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          maximum: 50
          minimum: 1
          default: 20
          title: Page Size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Social
      summary: Create Comment
      description: Post a comment on a ranking.
      operationId: create_comment_api_v1_social_rankings__ranking_id__comments_post
      parameters:
      - name: ranking_id
        in: path
        required: true
        schema:
          type: string
          title: Ranking Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/comments/{comment_id}:
    put:
      tags:
      - Social
      summary: Update Comment
      description: Edit own comment.
      operationId: update_comment_api_v1_social_comments__comment_id__put
      parameters:
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
          title: Comment Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Social
      summary: Delete Comment
      description: Soft-delete own comment (or admin can delete any).
      operationId: delete_comment_api_v1_social_comments__comment_id__delete
      parameters:
      - name: comment_id
        in: path
        required: true
        schema:
          type: string
          title: Comment Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/reactions/{target_type}/{target_id}:
    post:
      tags:
      - Social
      summary: Toggle Reaction
      description: 'Toggle a reaction on a ranking or comment.


        - Logged-in users: toggles (add if missing, remove if present).

        - Anonymous users: always adds (no dedupe — public engagement).'
      operationId: toggle_reaction_api_v1_social_reactions__target_type___target_id__post
      parameters:
      - name: target_type
        in: path
        required: true
        schema:
          type: string
          title: Target Type
      - name: target_id
        in: path
        required: true
        schema:
          type: string
          title: Target Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReactionToggle'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Social
      summary: Get Reactions
      description: Get reaction counts and current user's reactions for a target.
      operationId: get_reactions_api_v1_social_reactions__target_type___target_id__get
      parameters:
      - name: target_type
        in: path
        required: true
        schema:
          type: string
          title: Target Type
      - name: target_id
        in: path
        required: true
        schema:
          type: string
          title: Target Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/follows:
    post:
      tags:
      - Social
      summary: Follow
      description: Follow a ranking or user.
      operationId: follow_api_v1_social_follows_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FollowCreate'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/follows/{target_type}/{target_id}:
    delete:
      tags:
      - Social
      summary: Unfollow
      description: Unfollow a ranking or user.
      operationId: unfollow_api_v1_social_follows__target_type___target_id__delete
      parameters:
      - name: target_type
        in: path
        required: true
        schema:
          type: string
          title: Target Type
      - name: target_id
        in: path
        required: true
        schema:
          type: string
          title: Target Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/follows/me:
    get:
      tags:
      - Social
      summary: My Follows
      description: List everything the current user follows.
      operationId: my_follows_api_v1_social_follows_me_get
      parameters:
      - name: target_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/follows/check/{target_type}/{target_id}:
    get:
      tags:
      - Social
      summary: Check Follow
      description: Check if the current user follows a target.
      operationId: check_follow_api_v1_social_follows_check__target_type___target_id__get
      parameters:
      - name: target_type
        in: path
        required: true
        schema:
          type: string
          title: Target Type
      - name: target_id
        in: path
        required: true
        schema:
          type: string
          title: Target Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/rankings/{ranking_id}/followers/count:
    get:
      tags:
      - Social
      summary: Get Follower Count
      description: Get follower count for a ranking.
      operationId: get_follower_count_api_v1_social_rankings__ranking_id__followers_count_get
      parameters:
      - name: ranking_id
        in: path
        required: true
        schema:
          type: string
          title: Ranking Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/rankings/{ranking_id}/share:
    post:
      tags:
      - Social
      summary: Create Share
      description: Record a share event and return a trackable share link.
      operationId: create_share_api_v1_social_rankings__ranking_id__share_post
      parameters:
      - name: ranking_id
        in: path
        required: true
        schema:
          type: string
          title: Ranking Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api__routes__social__ShareCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/shares/{referral_code}/click:
    post:
      tags:
      - Social
      summary: Track Share Click
      description: Increment click count for a shared link.
      operationId: track_share_click_api_v1_social_shares__referral_code__click_post
      parameters:
      - name: referral_code
        in: path
        required: true
        schema:
          type: string
          title: Referral Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/rankings/{ranking_id}/shares/stats:
    get:
      tags:
      - Social
      summary: Get Share Stats
      description: Get share analytics for a ranking (owner only).
      operationId: get_share_stats_api_v1_social_rankings__ranking_id__shares_stats_get
      parameters:
      - name: ranking_id
        in: path
        required: true
        schema:
          type: string
          title: Ranking Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/feed:
    get:
      tags:
      - Social
      summary: Get Activity Feed
      description: Get personalized activity feed based on followed rankings and users.
      operationId: get_activity_feed_api_v1_social_feed_get
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          maximum: 50
          minimum: 1
          default: 20
          title: Page Size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/social/feed/global:
    get:
      tags:
      - Social
      summary: Get Global Feed
      description: Public global activity feed — recent activity across all public rankings.
      operationId: get_global_feed_api_v1_social_feed_global_get
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          maximum: 50
          minimum: 1
          default: 20
          title: Page Size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    api__routes__social__ShareCreate:
      properties:
        platform:
          type: string
          title: Platform
          description: link, twitter, whatsapp, linkedin, email, embed, reddit
      type: object
      required:
      - platform
      title: ShareCreate
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CommentUpdate:
      properties:
        body:
          type: string
          maxLength: 2000
          minLength: 1
          title: Body
      type: object
      required:
      - body
      title: CommentUpdate
    ReactionToggle:
      properties:
        emoji:
          type: string
          title: Emoji
          description: 'One of: upvote, fire, trophy, heart, thinking'
      type: object
      required:
      - emoji
      title: ReactionToggle
    CommentCreate:
      properties:
        body:
          type: string
          maxLength: 2000
          minLength: 1
          title: Body
        parent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Parent Id
      type: object
      required:
      - body
      title: CommentCreate
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    FollowCreate:
      properties:
        target_type:
          type: string
          title: Target Type
          description: '''ranking'' or ''user'''
        target_id:
          type: string
          title: Target Id
        notify_new_entity:
          type: boolean
          title: Notify New Entity
          default: true
        notify_votes_milestone:
          type: boolean
          title: Notify Votes Milestone
          default: true
        notify_comments:
          type: boolean
          title: Notify Comments
          default: true
      type: object
      required:
      - target_type
      - target_id
      title: FollowCreate
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key