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