{
  "openapi": "3.0.1",
  "info": {
    "title": "ReelShort Scraper — Catalog, Themes, Cast, IMDb & View Counts",
    "description": "Scrape the ReelShort short-drama catalog: titles, themes & tags, episode counts, cast, IMDb links, view & collect counts. SSR-JSON based (no browser) — fast and cheap.",
    "version": "1.0",
    "x-build-id": "VCFYTNA3xbESGcdxa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/signalbench~reelshort-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-signalbench-reelshort-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/signalbench~reelshort-scraper/runs": {
      "post": {
        "operationId": "runs-sync-signalbench-reelshort-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/signalbench~reelshort-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-signalbench-reelshort-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "catalog",
              "category",
              "urls"
            ],
            "type": "string",
            "description": "What to scrape. **Full catalog** crawls the homepage and every featured category. **By category** scrapes one category's full list (server-side, one page). **Specific title URLs** scrapes only the ReelShort episode URLs you provide.",
            "default": "catalog"
          },
          "category": {
            "title": "Category (for \"By category\" mode)",
            "enum": [
              "Actor/Actress",
              "Adventure",
              "Affair",
              "Age Gap",
              "All-Too-Late",
              "Alpha",
              "Amnesia",
              "Animation",
              "Artist",
              "Asian Stories",
              "Assistant",
              "Athlete",
              "Back in Time",
              "BDSM",
              "Billionaire",
              "Blind Date",
              "Body Swap",
              "Bodyguard",
              "Business",
              "Business Owner",
              "Campus",
              "Campus Lovers",
              "Campus Romance",
              "Celebrity",
              "CEO",
              "Chef",
              "Childhood Sweetheart",
              "Christmas",
              "Comeback Story",
              "Comedy",
              "Coming-of-Age",
              "Contemporary",
              "Contract Lovers",
              "Cowboy",
              "Crime Lord",
              "Cultural Communication",
              "Damsel",
              "Dancer",
              "Dark Romance",
              "Designer",
              "Doctor",
              "Doctor/Surgeon",
              "Dragon",
              "Drama",
              "Enemies to Lovers",
              "Erotica",
              "Fake Pregnancy",
              "Fake Relationship",
              "Family",
              "Family Drama",
              "Fantasy",
              "Fated Lovers",
              "Feel-Good",
              "Female",
              "First Love",
              "Flash Marriage",
              "Forbidden",
              "Friends to Lovers",
              "Friendship",
              "Genius Babies",
              "Gold Digger",
              "Group Favorite",
              "Happy-Go-Lucky",
              "Harem",
              "Healer",
              "Heartfelt",
              "Heiress",
              "Heiress/Socialite",
              "Hidden Feelings",
              "Hidden Identity",
              "Horror",
              "Hot Daddy/DILF",
              "Housewife",
              "Immortal",
              "Independent Woman",
              "Innocent Damsel",
              "Intense Sexual Tension",
              "Janitor",
              "Jock",
              "Karma",
              "Laborer",
              "LGBT",
              "Lost Child",
              "Love After Divorce",
              "Love After Marriage",
              "Love at First Sight",
              "Love Triangle",
              "Love-Hate",
              "Loyal",
              "Luna",
              "Mafia",
              "Magic & Mates",
              "Male",
              "Marshal/General",
              "Medical Drama",
              "Mistaken Identity",
              "Modern",
              "Morals & Ethics",
              "Multiple Identities",
              "Multiple Identity",
              "Musical",
              "Mystery",
              "Neighbors",
              "New Release",
              "Office Romance",
              "Office Worker",
              "One Night Stand",
              "Original Japanese",
              "Original Spanish",
              "Period Drama",
              "Playboy",
              "Playing Dumb",
              "Podcast",
              "Police",
              "Possessive",
              "Pregnancy",
              "Pregnancy & Babies",
              "Presidential Politics & Royal",
              "Prison",
              "Protective Husband",
              "Rags to Riches",
              "Reality Show",
              "Rebirth",
              "Redemption",
              "ReelShort Interactives",
              "Reeltalk",
              "Reincarnation",
              "Reunion",
              "Revenge",
              "Reverse Harem",
              "Rom-Com",
              "Romance",
              "Royalty/Nobility",
              "Rugged CEO",
              "Saintly Parent",
              "Second Chance",
              "Secret",
              "Self-growth",
              "Servant",
              "Server",
              "Single Dad",
              "Single Mom",
              "Soldier",
              "Son-in-Law",
              "Steamy",
              "Step-Siblings",
              "Strong Heroine",
              "Strong-Willed",
              "Student",
              "Super Power",
              "Super Warrior",
              "Surgeon",
              "Surrogate Bride",
              "Survival",
              "Suspense",
              "Sweet",
              "Sweet Romance",
              "Taboo",
              "Teacher",
              "Tear-Jerker",
              "Tear-jerkers",
              "The Chosen One",
              "The Hero Returns",
              "Thriller",
              "Time Travel",
              "Toxic",
              "Toxic Love",
              "Twisted Lover",
              "Vampire",
              "Wallflower",
              "Werewolf",
              "Young Adult",
              "Young Love"
            ],
            "type": "string",
            "description": "Which category to scrape, resolved live against ReelShort. The list covers every featured homepage shelf plus ReelShort's Genre-browse tags — character identities, story tropes, genres, themes and moods. **Advanced (JSON/API input):** you can also pass an actor's name to scrape their filmography; the run resolves any value live and fails with a pointer to the full tag list if it doesn't exist.",
            "default": "Hidden Identity"
          },
          "titleUrls": {
            "title": "Title URLs (for \"Specific title URLs\" mode)",
            "type": "array",
            "description": "ReelShort episode URLs, e.g. https://www.reelshort.com/episodes/episode-1-daisy-tucker-and-mr-nyc-68955a832bc50c718b009d8d-fxcfjh1dzy",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of titles to store. This caps your cost — 1 stored title = 1 charge.",
            "default": 50
          },
          "includeDetails": {
            "title": "Include cast, IMDb & full tags",
            "type": "boolean",
            "description": "Fetch each title's detail page to add cast, IMDb links and the full tag list. Turn off for a faster, cheaper run that uses only the listing data (title, themes, episode count, view & collect counts).",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy. **Residential is required** — ReelShort's CDN returns 403 to datacenter IPs. The site has no header/TLS anti-bot, so residential IPs alone are enough.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}