{
  "openapi": "3.0.1",
  "info": {
    "title": "Rotten Tomatoes Scraper: Tomatometer & Audience Scores",
    "description": "Scrape Rotten Tomatoes: Tomatometer and audience scores, certified-fresh flags, browse lists and title details with cast, director and genres for movies and TV. Export CSV, Excel, JSON. No login or API key. Browse rows return about 29 titles per page.",
    "version": "0.1",
    "x-build-id": "KuKRBrZUU4CYglbnV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~rotten-tomatoes-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-rotten-tomatoes-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/recordsdata~rotten-tomatoes-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-rotten-tomatoes-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/recordsdata~rotten-tomatoes-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-rotten-tomatoes-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": {
          "includeBrowse": {
            "title": "Browse list",
            "type": "boolean",
            "description": "Scrape the Rotten Tomatoes browse list for the selected category, with Tomatometer and audience score per title. Turn off to fetch only the title URLs and search terms below. When you give title URLs or search terms and leave this box untouched in an API call, the browse list is skipped."
          },
          "category": {
            "title": "Category",
            "enum": [
              "movies_at_home",
              "movies_in_theaters",
              "movies_coming_soon",
              "tv_series_browse"
            ],
            "type": "string",
            "description": "Rotten Tomatoes browse section to scrape: movies at home (streaming), movies in theaters, movies coming soon, or TV series.",
            "default": "movies_at_home"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "popular",
              "newest",
              "top_box_office",
              "a_z",
              "critic_highest",
              "critic_lowest",
              "audience_highest",
              "audience_lowest"
            ],
            "type": "string",
            "description": "Order of the browse list. Top box office exists only for movies in theaters; audience sorts do not exist for movies coming soon.",
            "default": "popular"
          },
          "genres": {
            "title": "Genres",
            "type": "array",
            "description": "Only titles in these genres (Rotten Tomatoes matches any of the ones you pick). Leave empty for every genre.",
            "items": {
              "type": "string",
              "enum": [
                "action",
                "adventure",
                "animation",
                "anime",
                "biography",
                "comedy",
                "crime",
                "documentary",
                "drama",
                "entertainment",
                "faith_and_spirituality",
                "fantasy",
                "game_show",
                "lgbtq",
                "health_and_wellness",
                "history",
                "holiday",
                "horror",
                "house_and_garden",
                "kids_and_family",
                "music",
                "musical",
                "mystery_and_thriller",
                "nature",
                "news",
                "reality",
                "romance",
                "sci_fi",
                "short",
                "soap",
                "special_interest",
                "sports",
                "stand_up",
                "talk_show",
                "travel",
                "variety",
                "war",
                "western"
              ],
              "enumTitles": [
                "Action",
                "Adventure",
                "Animation",
                "Anime",
                "Biography",
                "Comedy",
                "Crime",
                "Documentary",
                "Drama",
                "Entertainment",
                "Faith & Spirituality",
                "Fantasy",
                "Game Show",
                "LGBTQ+",
                "Health & Wellness",
                "History",
                "Holiday",
                "Horror",
                "House & Garden",
                "Kids & Family",
                "Music",
                "Musical",
                "Mystery & Thriller",
                "Nature",
                "News",
                "Reality",
                "Romance",
                "Sci-Fi",
                "Short",
                "Soap",
                "Special Interest",
                "Sports",
                "Stand-Up",
                "Talk Show",
                "Travel",
                "Variety",
                "War",
                "Western"
              ]
            },
            "default": []
          },
          "criticsFilter": {
            "title": "Tomatometer status",
            "enum": [
              "",
              "certified_fresh",
              "fresh",
              "rotten"
            ],
            "type": "string",
            "description": "Only titles whose Tomatometer is Certified Fresh, Fresh or Rotten. Certified Fresh does not exist for TV series.",
            "default": ""
          },
          "audienceFilter": {
            "title": "Popcornmeter status",
            "enum": [
              "",
              "verified_hot",
              "upright",
              "spilled"
            ],
            "type": "string",
            "description": "Only titles whose audience score is Verified Hot, Hot or Stale. Not available for movies coming soon; Verified Hot does not exist for TV series.",
            "default": ""
          },
          "contentRatings": {
            "title": "Content ratings",
            "type": "array",
            "description": "Only titles with these age ratings. Movie ratings (G to NR/Unrated) apply to the movie categories, TV ratings (TV-Y to TV-MA) to TV series. Leave empty for every rating.",
            "items": {
              "type": "string",
              "enum": [
                "g",
                "pg",
                "pg_13",
                "r",
                "nc_17",
                "nr",
                "ur",
                "tvy",
                "tvy7",
                "tvg",
                "tvpg",
                "tv14",
                "tvma"
              ],
              "enumTitles": [
                "G",
                "PG",
                "PG-13",
                "R",
                "NC-17",
                "Not rated",
                "Unrated",
                "TV-Y",
                "TV-Y7",
                "TV-G",
                "TV-PG",
                "TV-14",
                "TV-MA"
              ]
            },
            "default": []
          },
          "streamingServices": {
            "title": "Streaming services",
            "type": "array",
            "description": "Only titles available on these services. Works for movies at home and TV series; the in-theaters and coming-soon lists have no service filter. Leave empty for every service.",
            "items": {
              "type": "string",
              "enum": [
                "theaters",
                "fandango",
                "apple-tv-plus",
                "netflix",
                "prime-video",
                "disney-plus",
                "max",
                "peacock",
                "hulu",
                "paramount-plus",
                "amc-plus",
                "acorn-tv",
                "apple-tv"
              ],
              "enumTitles": [
                "Theaters",
                "Fandango",
                "Apple TV+",
                "Netflix",
                "Prime Video",
                "Disney+",
                "HBO Max",
                "Peacock",
                "Hulu",
                "Paramount+",
                "AMC+",
                "Acorn TV",
                "Apple TV"
              ]
            },
            "default": []
          },
          "releaseYearFrom": {
            "title": "Release year from",
            "minimum": 1880,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep only titles released in or after this year. Rotten Tomatoes has no year filter, so the actor applies it to the list it receives: raise Max browse pages when you use it, and titles outside the range are never charged."
          },
          "releaseYearTo": {
            "title": "Release year to",
            "minimum": 1880,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep only titles released in or before this year. Same rules as Release year from."
          },
          "maxPages": {
            "title": "Max browse pages",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "How deep to go into the browse list: 28 titles per page. The run also stops at Max Items, and Rotten Tomatoes serves a limited depth per list (often 100 to 300 titles), so a higher value simply returns the whole list.",
            "default": 5
          },
          "titleUrls": {
            "title": "Title URLs (full details)",
            "type": "array",
            "description": "Movie, TV show or season URLs or paths (for example /m/oppenheimer_2023, https://www.rottentomatoes.com/tv/shogun_2024 or /tv/the_simpsons/s01) to fetch full detail records: scores, rating counts, critics consensus, runtime, cast and crew, network and streaming providers.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Words to look for, for example dune or the bear. Each term finds the best matching movies and TV shows (public Wikidata catalogue, up to 25 terms) and returns a full detail record for each match.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxSearchResults": {
            "title": "Matches per search term",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "How many matching titles to return for each search term, best match first.",
            "default": 5
          },
          "includeReviews": {
            "title": "Include reviews",
            "type": "boolean",
            "description": "Add review rows after each detail record (title URLs and search terms only). Uses the reviews Rotten Tomatoes shows on the title page: up to 6 critic and 6 audience reviews. TV series pages show none, so the latest scored season is used. Reviews count toward Max Items.",
            "default": false
          },
          "reviewTypes": {
            "title": "Review types",
            "type": "array",
            "description": "Which reviews to return: critic reviews (outlet, critic, rating, quote, link) and/or audience reviews (text, stars, verified flag). Both by default. Audience reviewer names are never collected.",
            "items": {
              "type": "string",
              "enum": [
                "critic",
                "audience"
              ],
              "enumTitles": [
                "Critic reviews",
                "Audience reviews"
              ]
            },
            "default": [
              "critic",
              "audience"
            ]
          },
          "maxReviewsPerTitle": {
            "title": "Reviews per title",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Maximum review rows per title (1 to 12). With both types selected they alternate: critic, audience, critic, and so on.",
            "default": 5
          },
          "onlyNew": {
            "title": "Only new titles",
            "type": "boolean",
            "description": "Return only titles that earlier runs of the same search have not delivered yet (matched by title path). Titles already seen are skipped before they are counted or charged. Use it on a schedule to watch a list or a keyword.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name (optional)",
            "type": "string",
            "description": "A label that keeps separate memories for runs with identical settings, for example two schedules of the same search. Leave empty to share one memory per search."
          },
          "resetSeen": {
            "title": "Forget what was seen",
            "type": "boolean",
            "description": "Clear the saved memory of this search before the run, so every title counts as new again.",
            "default": false
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of rows to return across all row types: browse rows, detail rows and review rows (a title with 5 reviews is 6 rows). Free Apify users are limited to 10 rows; paid users can set up to 1,000,000.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}