SaaSHub Alternatives API

Software alternatives discovery

OpenAPI Specification

saashub-alternatives-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SaaSHub Alternatives API
  description: 'The SaaSHub public API provides programmatic access to SaaSHub''s software discovery platform. The API offers two primary endpoints: a product endpoint that returns data for the first product matching a query, and an alternatives endpoint that returns the matching product along with its top 10 relevant alternatives. Responses follow the JSON:API specification. Authentication requires an API key obtained from the SaaSHub user profile.'
  version: 1.0.0
  contact:
    name: SaaSHub Support
    url: https://www.saashub.com/site/api
  termsOfService: https://www.saashub.com/site/privacy
servers:
- url: https://www.saashub.com/api
  description: SaaSHub production API server
tags:
- name: Alternatives
  description: Software alternatives discovery
paths:
  /alternatives/{query}:
    get:
      operationId: getProductAlternatives
      summary: Get Product Alternatives
      description: Returns the first matching product for the query along with its top 10 relevant software alternatives. Useful for competitive analysis and software discovery workflows.
      tags:
      - Alternatives
      parameters:
      - name: query
        in: path
        required: true
        description: Product name to search for and find alternatives to (e.g., "basecamp", "jira", "trello").
        schema:
          type: string
          example: basecamp
      - name: api_key
        in: query
        required: true
        description: Your SaaSHub API key
        schema:
          type: string
          example: your_api_key_here
      responses:
        '200':
          description: Product data with alternatives
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlternativesResponse'
        '401':
          description: Unauthorized - invalid API key
        '404':
          description: No matching product found
components:
  schemas:
    ProductData:
      type: object
      description: JSON:API resource object for a software product
      properties:
        id:
          type: string
          description: Unique product identifier on SaaSHub
          example: basecamp
        type:
          type: string
          description: JSON:API resource type
          example: products
        attributes:
          $ref: '#/components/schemas/ProductAttributes'
    AlternativesResponse:
      type: object
      description: JSON:API compliant alternatives response
      properties:
        data:
          $ref: '#/components/schemas/ProductData'
        included:
          type: array
          description: Top 10 alternative products
          maxItems: 10
          items:
            $ref: '#/components/schemas/ProductData'
    ProductAttributes:
      type: object
      properties:
        name:
          type: string
          description: Product name
          example: Basecamp
        saashubUrl:
          type: string
          format: uri
          description: URL to the product's SaaSHub listing
          example: https://www.saashub.com/basecamp
        tagline:
          type: string
          description: Short product description or tagline
          example: The all-in-one toolkit for working remotely
        status:
          type: string
          description: Product status on SaaSHub
          enum:
          - active
          - discontinued
          example: active
        websiteUrl:
          type: string
          format: uri
          description: Official product website URL
          example: https://basecamp.com
        category:
          type: string
          description: Primary software category
          example: Project Management
        categories:
          type: array
          description: All categories the product belongs to
          items:
            type: string
          example:
          - Project Management
          - Team Collaboration
          - Remote Work
        pricing:
          type: string
          description: Pricing model description
          example: Paid with free trial
        license:
          type: string
          description: Software license type
          example: Proprietary
        openSource:
          type: boolean
          description: Whether the product is open source
          example: false
        upvoteCount:
          type: integer
          description: Number of upvotes on SaaSHub
          example: 1247
        alternativeCount:
          type: integer
          description: Number of alternatives listed
          example: 89