{
  "openapi": "3.0.1",
  "info": {
    "title": "Gartner Reviews Scraper",
    "description": "Collect public Gartner Peer Insights reviews by product URL, product ID, or vendor ID. Filter by rating, date, reviewer details, region, and cohort, then save structured review records with source links when available.",
    "version": "0.0",
    "x-build-id": "lZxVCFQdegqJYcrSi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~gartner-reviews/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-gartner-reviews",
        "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/maximedupre~gartner-reviews/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-gartner-reviews",
        "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/maximedupre~gartner-reviews/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-gartner-reviews",
        "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",
        "required": [
          "findBy"
        ],
        "properties": {
          "findBy": {
            "title": "Find reviews by",
            "enum": [
              "urls",
              "productIds",
              "vendorIds"
            ],
            "type": "string",
            "description": "Choose one way to find Gartner Peer Insights reviews. Use one choice per run."
          },
          "urls": {
            "title": "Gartner URLs",
            "type": "array",
            "description": "Enter one or more public Gartner product-page URLs or product-scoped review URLs. Product-scoped review URLs must include the market, vendor, and product path. The Actor collects public reviews for each product.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "Gartner URL",
                  "type": "string",
                  "description": "A public Gartner product-page URL, or a product-scoped review URL with market, vendor, and product context. Review-only URLs are not accepted.",
                  "pattern": "^https?://(www\\.)?gartner\\.com/reviews/(?:product/[^/?#]+|market/[^/?#]+/vendor/[^/?#]+/product/[^/?#]+(?:/review/[^/?#]+)?)(?:[/?#].*)?$"
                }
              },
              "required": [
                "url"
              ]
            }
          },
          "productIds": {
            "title": "Product IDs",
            "type": "array",
            "description": "Enter one or more Gartner product identifiers. The Actor collects reviews for each product.",
            "items": {
              "type": "string"
            }
          },
          "vendorIds": {
            "title": "Vendor IDs",
            "type": "array",
            "description": "Enter one or more Gartner vendor identifiers. The Actor discovers product review pages for each vendor and collects their public reviews.",
            "items": {
              "type": "string"
            }
          },
          "ratings": {
            "title": "Overall ratings",
            "type": "array",
            "description": "Keep only reviews with one or more selected overall ratings. Leave empty to include every rating.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "submissionDate": {
            "title": "Submission date",
            "type": "object",
            "description": "Optionally keep reviews submitted in the last twelve months.",
            "properties": {
              "inLastTwelveMonths": {
                "title": "In the last twelve months",
                "type": "boolean",
                "description": "Keep only reviews submitted in the last twelve months. Leave off to include reviews from any date."
              }
            }
          },
          "jobFunctions": {
            "title": "Reviewer job functions",
            "type": "array",
            "description": "Keep reviews whose source-published reviewer job function matches one of these values. Leave empty to include all functions.",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "Reviewer industries",
            "type": "array",
            "description": "Keep reviews whose source-published reviewer industry matches one of these values. Leave empty to include all industries.",
            "items": {
              "type": "string"
            }
          },
          "companyBands": {
            "title": "Company size or revenue bands",
            "type": "array",
            "description": "Keep reviews whose source-published company size or revenue band matches one of these values. Leave empty to include all bands.",
            "items": {
              "type": "string"
            }
          },
          "reviewerRegions": {
            "title": "Reviewer regions",
            "type": "array",
            "description": "Keep reviews whose source-published reviewer region matches one of these values. Leave empty to include all regions.",
            "items": {
              "type": "string"
            }
          },
          "reviewerCohorts": {
            "title": "Reviewer cohorts",
            "type": "array",
            "description": "Keep reviews whose source-published reviewer cohort matches one of these values, such as end user or partner. Leave empty to include all cohorts.",
            "items": {
              "type": "string"
            }
          },
          "reviewOrder": {
            "title": "Review order",
            "enum": [
              "mostRecent",
              "mostHelpful",
              "leastRecent"
            ],
            "type": "string",
            "description": "Choose how matching reviews are ordered in the results."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}