{
  "data": {
    "id": "YQIo3DNt8lgyy8Lzb",
    "userId": "HIMU0xktu1JeZb4Xl",
    "name": "opentable-restaurants-reviews-scraper",
    "username": "fetch_cat",
    "description": "Export public OpenTable restaurant profiles, ratings, and diner reviews for reputation monitoring, hospitality analytics, local SEO, and competitive research.",
    "isPublic": true,
    "createdAt": "2026-07-18T09:05:27.696Z",
    "modifiedAt": "2026-10-02T18:51:48.691Z",
    "taggedBuilds": {
      "latest": {
        "buildId": "1jLs8v92nWBKF7xQI",
        "finishedAt": "2026-10-02T18:51:48.691Z",
        "buildNumberInt": 100022,
        "buildNumber": "0.1.22"
      },
      "input-ux-20260925": {
        "buildId": "l5eTzQbZxd0Lie7Ve",
        "finishedAt": "2026-09-25T19:36:37.699Z",
        "buildNumberInt": 100020,
        "buildNumber": "0.1.20"
      }
    },
    "stats": {
      "totalBuilds": 22,
      "totalRuns": 114,
      "totalUsers": 2,
      "totalUsers7Days": 1,
      "totalUsers30Days": 1,
      "totalUsers90Days": 1,
      "lastRunStartedAt": "2026-10-14T08:02:32.844Z",
      "actorReviewCount": 0,
      "actorReviewRating": 0,
      "bookmarkCount": 1,
      "publicActorRunStats30Days": {
        "ABORTED": 0,
        "FAILED": 2,
        "SUCCEEDED": 24,
        "TIMED-OUT": 0,
        "TOTAL": 26
      }
    },
    "versions": [
      {
        "versionNumber": "0.1",
        "sourceType": "SOURCE_FILES",
        "buildTag": "latest"
      }
    ],
    "defaultRunOptions": {
      "build": "latest",
      "timeoutSecs": 600,
      "memoryMbytes": 1024
    },
    "exampleRunInput": {
      "body": "{\"restaurantIds\":[\"1204381\"],\"maxItems\":2,\"maxReviewsPerRestaurant\":2,\"proxyConfiguration\":{\"useApifyProxy\":true,\"apifyProxyGroups\":[\"RESIDENTIAL\"],\"apifyProxyCountry\":\"US\"},\"failOnBlocked\":true}",
      "contentType": "application/json; charset=utf-8"
    },
    "categories": [
      "TRAVEL",
      "LEAD_GENERATION",
      "MARKETING"
    ],
    "isDeprecated": false,
    "title": "OpenTable Restaurants & Reviews Scraper",
    "pictureUrl": "https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/HIMU0xktu1JeZb4Xl-actor-YQIo3DNt8lgyy8Lzb-2irpPWrBLo-actor-icon.png",
    "seoTitle": "OpenTable API for Restaurant Reviews and Data Export",
    "seoDescription": "Use this OpenTable API scraper to export public restaurant profiles, ratings, and reviews for monitoring, analytics, local SEO, and automated workflows.",
    "pricingInfos": [
      {
        "pricingModel": "PAY_PER_EVENT",
        "startedAt": "2026-08-15T15:19:23.000Z",
        "reasonForChange": "Introduces simple pay-per-result pricing so usage scales with the number of restaurant records and reviews delivered.",
        "isPriceChangeNotificationSuppressed": true,
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Start",
              "eventDescription": "One-time fee per run",
              "eventPriceUsd": 0.051,
              "isOneTimeEvent": true
            },
            "restaurant": {
              "eventTitle": "Restaurant profile",
              "eventDescription": "Per restaurant profile saved",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0023
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.002
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.00156
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0012
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0008
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00056
                }
              }
            },
            "review": {
              "eventTitle": "Review",
              "eventDescription": "Per review saved",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0023
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.002
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.00156
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0012
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0008
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00056
                }
              },
              "isPrimaryEvent": true
            }
          }
        },
        "createdAt": "2026-08-15T15:19:24.173Z",
        "apifyMarginPercentage": 0.2
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "startedAt": "2026-08-15T15:26:08.000Z",
        "reasonForChange": "Adjusts pay-per-result rates to match the validated operating cost while keeping volume-based discounts for larger workloads.",
        "isPriceChangeNotificationSuppressed": true,
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Start",
              "eventDescription": "One-time fee per run",
              "eventPriceUsd": 0.051,
              "isOneTimeEvent": true
            },
            "result": {
              "eventTitle": "Result saved",
              "eventDescription": "Per restaurant profile or review saved",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0051665
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.0044926
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.0035043
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0026956
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0017971
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.001258
                }
              },
              "isPrimaryEvent": true
            }
          }
        },
        "createdAt": "2026-08-15T15:26:09.433Z",
        "apifyMarginPercentage": 0.2
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "startedAt": "2026-08-15T17:05:33.000Z",
        "reasonForChange": "Updates pay-per-result rates to the final validated operating-cost schedule while preserving volume discounts.",
        "isPriceChangeNotificationSuppressed": true,
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Start",
              "eventDescription": "One-time fee per run",
              "eventPriceUsd": 0.053,
              "isOneTimeEvent": true
            },
            "result": {
              "eventTitle": "Result saved",
              "eventDescription": "Per restaurant profile or review saved",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0061673
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.0053628
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.004183
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0032177
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0021452
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.0015016
                }
              },
              "isPrimaryEvent": true
            }
          }
        },
        "createdAt": "2026-08-15T17:05:34.124Z",
        "apifyMarginPercentage": 0.2
      }
    ],
    "notice": "NONE",
    "isCritical": false,
    "isGeneric": false,
    "hasNoDataset": false,
    "isSourceCodeHidden": true,
    "standbyUrl": null,
    "actorPermissionLevel": "LIMITED_PERMISSIONS",
    "readmeSummary": "## OpenTable Reviews — Restaurants & API Scraper\n\nA web scraper and data exporter that extracts public OpenTable restaurant profiles and review content, normalizes and deduplicates records, and produces structured restaurant and review data for reputation, local search, and analytics workflows. The Actor discovers targets via numeric restaurant identifiers, public profile URLs, or OpenTable search-results pages; navigates listing and profile pages with proxy support; paginates and collects a configurable number of reviews per target; and emits joined restaurant-level metadata (location, address, coordinates, cuisines, description, price range, contact and website, images) alongside review-level information (review text, overall and aspect ratings, review tags, helpful-vote counts, restaurant reply text, photos, review and dining timestamps) and reviewer metadata (display name/initials, location, reviewer review counts, VIP indicator). Records are normalized, deduplicated by public review identifier, and include scrape timestamps and pagination context for downstream analysis.\n\n## Use cases\n\n- Reputation monitoring and tracking guest sentiment over time for individual restaurants.\n- Local SEO research and collection of structured location and reputation signals.\n- Hospitality analytics comparing public ratings, review volume, and rating breakdowns (food, service, ambience, value, noise).\n- Competitive tracking and benchmarking of restaurant profiles and public feedback.\n- Exporting the newest reviews for specific restaurants for alerting or reporting.\n- Comparing ratings and recurring review themes across a set of restaurant targets.\n- Profile-only collection to capture restaurant metadata without review text.\n- Periodic or recurring public review exports for feeding dashboards and analytics pipelines.",
    "deploymentKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpDZs74I33wq8Oord46rocw9qyHqc32Rz/c58wg98jLNP1zUZU/Ggbap053ZiUH3VgedIuEnBaenhSGnkbSfKKnNAWmWPKPEjir/MO/PmOkpTGU/715fW8+67oSND30m9px7gUCtWtPyGeY7RCmRCBXCXVNfYANE0whU9j0AymKpmUpckMpzGRjhFK2bblfjRcNit9gW3hZP0/YV+Lqyrcv7CnftjIz62sBh/prRmvsEBFQGxdnHNOB3s7lFkRRE18hmycF7xitWGaYz0PHJ0LkSrldVLKASy6bqBE1ad7mbCaHWjU34bCS2TGnY0uhZVQL3ieA8YbLfLgvA29dJOD \n"
  }
}