{
  "openapi": "3.0.1",
  "info": {
    "title": "Businesses Ignoring Bad Reviews - Google Maps Reputation Leads",
    "description": "From a Google Maps reviews dataset, find businesses with unanswered 1-2 star reviews, their owner reply rate, and how many 5-star reviews they need to reach the next star. Leads for reputation agencies.",
    "version": "1.0",
    "x-build-id": "kqWnC4GXeFwDmVeel"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/that_red_bird~unanswered-reviews-leads/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-that_red_bird-unanswered-reviews-leads",
        "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/that_red_bird~unanswered-reviews-leads/runs": {
      "post": {
        "operationId": "runs-sync-that_red_bird-unanswered-reviews-leads",
        "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/that_red_bird~unanswered-reviews-leads/run-sync": {
      "post": {
        "operationId": "run-sync-that_red_bird-unanswered-reviews-leads",
        "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": {
          "datasetId": {
            "title": "Google Maps dataset (optional)",
            "type": "string",
            "description": "Pick the dataset of a Google Maps reviews scraper run (for example compass/google-maps-reviews-scraper) or of a Google Maps places scraper that includes reviews. Leave empty to use pasted rows below, or to see the built-in demo."
          },
          "rows": {
            "title": "Or paste rows (JSON or CSV)",
            "type": "string",
            "description": "Paste a JSON array, JSON lines or CSV with one row per review. Useful columns: title (business), placeId, stars, text, publishedAtDate, responseFromOwnerText, totalScore, reviewsCount. Ignored when a dataset is picked above.",
            "default": ""
          },
          "maxStars": {
            "title": "Count reviews up to this many stars as bad",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Reviews with this many stars or fewer count as negative. 2 means 1-star and 2-star reviews.",
            "default": 2
          },
          "onlyLeads": {
            "title": "Only return businesses with unanswered bad reviews",
            "type": "boolean",
            "description": "When on, businesses that answered all their bad reviews (or have none) are left out, so you pay only for real leads. Turn off to score every business in the data.",
            "default": true
          },
          "minUnanswered": {
            "title": "Minimum unanswered bad reviews",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "A business is returned as a lead only with at least this many unanswered bad reviews. Used when 'Only return businesses with unanswered bad reviews' is on.",
            "default": 1
          },
          "hotLeadThreshold": {
            "title": "Hot lead from this many unanswered bad reviews",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Businesses with at least this many unanswered bad reviews are marked as hot leads (a separately priced event).",
            "default": 3
          },
          "minDaysUnanswered": {
            "title": "Ignore bad reviews younger than (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Only count a bad review as unanswered when it is at least this many days old, so recent reviews the owner has not seen yet are not counted. 0 counts every bad review.",
            "default": 0
          },
          "lookbackDays": {
            "title": "Only look at reviews from the last (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Restrict the analysis to reviews published within this many days. 0 uses every review in the data. Reviews without a readable date are left out when this is set.",
            "default": 0
          },
          "maxBusinesses": {
            "title": "Maximum businesses",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Safety cap on how many businesses are returned in one run.",
            "default": 2000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}