{
  "openapi": "3.0.1",
  "info": {
    "title": "Capterra Software Listings & Reviews Scraper",
    "description": "Scrape Capterra software listings by category: product name, star rating, review count, starting price and pricing model, description, key features and logo, plus detailed user reviews (pros, cons, reviewer role and industry, ratings, date). Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "w5lqOyXo0IPFSiLDr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~capterra-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-capterra-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapers_lat~capterra-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-capterra-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapers_lat~capterra-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-capterra-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxResults": {
            "title": "Max Software Listings",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of software listings to collect across all categories. Optional."
          },
          "withDetails": {
            "title": "Fetch product details",
            "type": "boolean",
            "description": "When on (default), each listing is enriched from its product page with starting price, pricing model, free trial and free version flags, key features and a structured product FAQ. When off, only the fast listing-level fields are returned (name, rating, review count, description, logo).",
            "default": true
          },
          "categorySlugs": {
            "title": "Category Slugs",
            "type": "array",
            "description": "Capterra software category slugs, for example project-management, accounting, email-marketing, help-desk, customer-relationship-management. The slug is the part before '-software' in a capterra.com/{slug}-software/ URL. Common short names are resolved automatically (crm, hr, pos, erp, ats, bi, lms, hvac, voip), so 'crm' maps to customer-relationship-management and 'hr' to human-resource. If a category returns nothing, copy the exact slug from the category page URL on capterra.com.",
            "items": {
              "type": "string"
            }
          },
          "categoryUrls": {
            "title": "Category URLs",
            "type": "array",
            "description": "Full Capterra category URLs, for example https://www.capterra.com/project-management-software/",
            "items": {
              "type": "string"
            }
          },
          "productUrls": {
            "title": "Product URLs (optional)",
            "type": "array",
            "description": "Optional. Scrape these exact Capterra product pages directly (e.g. https://www.capterra.com/p/135003/Slack/), bypassing category search. Can be combined with categories.",
            "items": {
              "type": "string"
            }
          },
          "minRating": {
            "title": "Minimum product rating (optional)",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Optional filter. Only keep products whose overall star rating (1-5) is at least this value. Leave empty for no filter."
          },
          "minReviewCount": {
            "title": "Minimum review count (optional)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional filter. Only keep products with at least this many reviews. Leave empty for no filter."
          },
          "withReviews": {
            "title": "Fetch reviews",
            "type": "boolean",
            "description": "When on, each listing is enriched with recent user reviews (reviewer name, role, industry, overall and sub-ratings, pros, cons, review text and date). This is slower, so it is off by default.",
            "default": false
          },
          "maxReviews": {
            "title": "Max Reviews Per Product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of reviews to collect per product when 'Fetch reviews' is on."
          },
          "minReviewRating": {
            "title": "Minimum review star rating (optional)",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Optional review filter. When fetching reviews, only keep individual reviews whose overall rating (1-5) is at least this value. Leave empty for no filter."
          },
          "reviewsSince": {
            "title": "Only reviews since (optional)",
            "type": "string",
            "description": "Optional review filter. When fetching reviews, only keep reviews dated on or after this date. Accepts a year (e.g. 2024) or a full date (e.g. 2024-06-01). Leave empty for no filter."
          },
          "withSummary": {
            "title": "AI product summary (add-on)",
            "type": "boolean",
            "description": "Opt-in paid add-on. Generate a 1-2 sentence AI summary of what each software product does. Requires a paid Apify plan.",
            "default": false
          },
          "withTopics": {
            "title": "AI topics & category (add-on)",
            "type": "boolean",
            "description": "Opt-in paid add-on. Extract topic/keyword tags and a broad software category for each product using AI. Requires a paid Apify plan.",
            "default": false
          },
          "withReviewDigest": {
            "title": "AI review digest — pros/cons (add-on)",
            "type": "boolean",
            "description": "Opt-in paid add-on. Distill the collected reviews for each product into top pros, top cons and an overall verdict using AI. Requires 'Fetch reviews' enabled and a paid Apify plan.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}