{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Trending Reels Scraper — Viral Reels",
    "description": "Get a fresh, deduplicated sample of trending and viral Instagram Reels. Each row has Reel URL, caption, hashtags, posted time, plays, likes, comments, engagement rate, creator and audio. Filter by plays, likes, comments or date; filtered and duplicate Reels are never charged.",
    "version": "1.7",
    "x-build-id": "tKcdiHMqHQtBNbCvQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~instagram-trending-reels-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-instagram-trending-reels-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/khadinakbar~instagram-trending-reels-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-instagram-trending-reels-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/khadinakbar~instagram-trending-reels-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-instagram-trending-reels-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": {
          "maxResults": {
            "title": "Maximum trending Reels",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Use this when you need a bounded number of current trending Reel records. Enter an integer from 1 to 100, for example 20. Defaults to 20 and is the hard cap for billable Reel events. This is not a request for every Reel on Instagram.",
            "default": 20
          },
          "searchQuery": {
            "title": "Search keyword (optional)",
            "type": "string",
            "description": "Use this to find Reels about a topic instead of the general trending sample. Enter a keyword or short phrase, for example 'home workout'. Leave blank for the trending sample. Search results are billed with the separate search-result price shown on the Pricing tab. This is not a hashtag or username field."
          },
          "postedWithin": {
            "title": "Posted within (search only)",
            "enum": [
              "any",
              "last-week",
              "last-month",
              "last-year"
            ],
            "type": "string",
            "description": "Use this with a search keyword to keep only Reels from a recent period. Pick last-week, last-month or last-year; 'any' keeps all dates. Ignored for the trending sample.",
            "default": "any"
          },
          "maxRefreshes": {
            "title": "Maximum source refreshes",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Use this to limit repeated source calls. In the trending sample it caps refreshes (1 to 20) when the sample returns duplicates; in keyword search it caps result pages of 10 Reels each (1 to 11). By default the Actor derives a small number from maximum results and stops early once nothing new arrives. This is not a page number."
          },
          "minPlayCount": {
            "title": "Minimum play count",
            "minimum": 0,
            "type": "integer",
            "description": "Use this to retain only Reels with at least the specified public play count. Enter a non-negative integer, for example 100000. Defaults to 0, which keeps Reels even when Instagram does not expose plays. This is not an engagement-rate threshold.",
            "default": 0
          },
          "minLikeCount": {
            "title": "Minimum like count",
            "minimum": 0,
            "type": "integer",
            "description": "Use this to keep only Reels with at least this many public likes. Enter a non-negative integer, for example 10000. Defaults to 0 (no filter). Reels below the threshold are skipped before any charge.",
            "default": 0
          },
          "minCommentCount": {
            "title": "Minimum comment count",
            "minimum": 0,
            "type": "integer",
            "description": "Use this to keep only Reels with at least this many public comments. Enter a non-negative integer, for example 100. Defaults to 0 (no filter). Reels below the threshold are skipped before any charge.",
            "default": 0
          },
          "onlyReelsNewerThan": {
            "title": "Only Reels newer than",
            "type": "string",
            "description": "Use this to exclude Reels published before a specific ISO date or timestamp, for example 2026-07-01. The actor compares the public posted timestamp returned by Instagram when available. Leave it blank to keep the default seven-day sample window. This is not a guarantee that Instagram will return only newly published media."
          },
          "includeMediaUrls": {
            "title": "Include temporary media URLs",
            "type": "boolean",
            "description": "Use this when you need the Reel video and thumbnail URLs returned by Instagram's public response. Defaults to false because CDN URLs may expire and are usually unnecessary for trend analysis. Enable it only when your downstream workflow consumes media links promptly. This does not download video files.",
            "default": false
          },
          "mustIncludeWords": {
            "title": "Must include ALL of these words",
            "type": "array",
            "description": "Use this to keep only Reels whose caption, hashtags or creator name contain every word listed (AND). Whole words or phrases; a leading # is ignored. Up to 20 entries. Reels that do not match are skipped before any charge.",
            "items": {
              "type": "string"
            }
          },
          "anyOfWords": {
            "title": "Must include ANY of these words",
            "type": "array",
            "description": "Use this to keep only Reels that contain at least one of the words listed (OR). Whole words or phrases; a leading # is ignored. Up to 20 entries. Reels that do not match are skipped before any charge.",
            "items": {
              "type": "string"
            }
          },
          "excludeWords": {
            "title": "Exclude Reels with these words",
            "type": "array",
            "description": "Use this to drop Reels that contain any of the words listed (NOT), checked in the caption, hashtags and creator name. Up to 20 entries. Dropped Reels are never charged.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}