SaaSHub Products API

Software product lookup

OpenAPI Specification

saashub-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SaaSHub Alternatives Products 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: Products
  description: Software product lookup
paths:
  /product/{query}:
    get:
      operationId: getProduct
      summary: Get Product by Name
      description: Returns data for the first software product matching the query string. Returns product details including name, tagline, SaaSHub URL, pricing, categories, and basic metadata.
      tags:
      - Products
      parameters:
      - name: query
        in: path
        required: true
        description: Product name to search for (e.g., "basecamp", "slack", "notion"). URL-encode spaces and special characters.
        schema:
          type: string
          example: basecamp
      - name: api_key
        in: query
        required: true
        description: Your SaaSHub API key. Obtain from https://www.saashub.com/profile/api_key
        schema:
          type: string
          example: your_api_key_here
      responses:
        '200':
          description: Product data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        '401':
          description: Unauthorized - invalid API key
        '404':
          description: No matching product found
components:
  schemas:
    ProductResponse:
      type: object
      description: JSON:API compliant product response
      properties:
        data:
          $ref: '#/components/schemas/ProductData'
    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'
    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