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