{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Reels Keyword Search: AND, OR, NOT",
    "description": "Instagram reels keyword search scraper with Boolean queries like (pilates OR yoga) AND NOT giveaway: every reel's caption, hashtags or creator matches your query, with plays, likes, comments, date, sound, hashtags, creator followers and the words it matched. No login.",
    "version": "0.10",
    "x-build-id": "qg7bc6osvel7q9n0B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deepmine~instagram-reels-keyword-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deepmine-instagram-reels-keyword-search",
        "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/deepmine~instagram-reels-keyword-search/runs": {
      "post": {
        "operationId": "runs-sync-deepmine-instagram-reels-keyword-search",
        "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/deepmine~instagram-reels-keyword-search/run-sync": {
      "post": {
        "operationId": "run-sync-deepmine-instagram-reels-keyword-search",
        "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",
        "required": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "What to search for, one per line: a phrase (home workout), a #hashtag or an instagram.com/popular/ topic URL. Specific phrases work best; some single broad words have no Instagram topic. Boolean searches work too: (\"home workout\" OR pilates) AND NOT giveaway (operators in capitals). You pay per reel delivered.",
            "default": [
              "(pilates OR yoga) AND NOT giveaway",
              "\"dog training\" -giveaway"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerKeyword": {
            "title": "Max reels per keyword",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Reels per keyword. A topic has about 45 reels; with related searches on, more come from the searches Instagram lists next to it. You pay per reel, so this caps the cost per keyword. Default 100.",
            "default": 100
          },
          "requireKeywordMatch": {
            "title": "Only reels that mention the keyword",
            "type": "boolean",
            "description": "On (default): every reel's caption, hashtags or creator name contains the keyword (cosplay matches #cosplaygirl; filler words like tips, ideas or routine aren't required), and related searches that drop the keyword are skipped. Off: every reel Instagram groups under the keyword's search and its related searches, including loosely related ones. Reels left out aren't charged.",
            "default": true
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Most relevant (default): Instagram's own order for the keyword's search, then its related searches. Newest first: the Actor reads the keyword's search and its related searches until they hold enough reels from the last 90 days (or from your 'Posted in the last N days'), then delivers the newest first.",
            "default": "relevance"
          },
          "includeRelatedTopics": {
            "title": "Continue with related searches",
            "type": "boolean",
            "description": "When a keyword's own reels run out, go on with the related searches Instagram suggests for it (for home workout: home workout for women, home leg workout, ...) until the limit above. Each row says which search it came from.",
            "default": true
          },
          "minPlays": {
            "title": "Min plays",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only reels with at least this many plays. Reels left out aren't charged."
          },
          "minLikes": {
            "title": "Min likes",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only reels with at least this many likes (reels whose creator hides likes are left out). Reels left out aren't charged."
          },
          "minComments": {
            "title": "Min comments",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only reels with at least this many comments. Reels left out aren't charged."
          },
          "maxAgeDays": {
            "title": "Posted in the last N days",
            "minimum": 1,
            "maximum": 36500,
            "type": "integer",
            "description": "Keep only reels posted in the last N days (e.g. 30). Reels left out aren't charged."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many reels in total. You pay per reel, so this caps the run's cost. Reels come in the order of your keywords.",
            "default": 10000
          },
          "includeDetails": {
            "title": "Add reel details",
            "type": "boolean",
            "description": "Adds the video's views, the creator's name, picture and follower count, the sound (song, artist, sound id), the tagged location and coordinates, tagged users, collaborators, paid partnership and sponsors, and the video's size, from three more requests per reel. Free: no extra charge. Turn off for the fastest runs.",
            "default": true
          },
          "includeVideoUrl": {
            "title": "Include video file link",
            "type": "boolean",
            "description": "Adds videoUrl, a direct link to each reel's MP4 file (for downloading). Instagram signs it; it stops working after a few days. Free: no extra charge.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (datacenter) is the default. If Instagram keeps refusing datacenter IPs, the Actor switches to Apify residential on its own, at no extra cost to you. Picking Residential here works the same way (its country applies to those residential tries).",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}