{
  "openapi": "3.0.1",
  "info": {
    "title": "Snapchat Spotlight Scraper By Link, ID Or Share URL",
    "description": "Snapchat Spotlight Scraper by Link, ID or Share URL extracts Spotlight video details from direct links, video IDs, or share URLs, including captions, creators, views, likes, comments, hashtags, timestamps, and media data. Ideal for content research and engagement analysis.",
    "version": "0.1",
    "x-build-id": "QCo3vf8cpzd37uTbF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~snapchat-spotlight-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-snapchat-spotlight-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/simpleapi~snapchat-spotlight-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-snapchat-spotlight-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/simpleapi~snapchat-spotlight-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-snapchat-spotlight-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": {
          "spotlightLinksOrIds": {
            "title": "🔗 Links or IDs to resolve",
            "type": "array",
            "description": "Example: a bare id like \"W7_EDlX…AAAAAQ\" and a share link like \"https://www.snapchat.com/spotlight/{id}?is_copy_url=true\" both resolve to the same video.",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "🔗 Spotlight URLs (legacy field)",
            "type": "array",
            "description": "Kept for compatibility with earlier input files. Works exactly like 'Links or IDs to resolve' above — you only need one of the two fields.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "🔢 Max items to process",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of links or ids to resolve this run. 0 (default) processes every input you provided; a positive number stops after that many inputs have been processed.",
            "default": 0
          },
          "dedupeInputs": {
            "title": "🧹 Collapse duplicate links",
            "type": "boolean",
            "description": "When on, links that resolve to the same video (even in different formats) are fetched once and every extra input is marked as a duplicate instead of billed again. Default is on.",
            "default": true
          },
          "skipDuplicateSpotlights": {
            "title": "🧹 Skip duplicate spotlights (base field)",
            "type": "boolean",
            "description": "Same setting as 'Collapse duplicate links' above, kept under its original name for compatibility with earlier input files — only one of the two fields is needed. Turning either this or 'Collapse duplicate links' off turns duplicate collapsing off.",
            "default": true
          },
          "rejectUnrecognisedInputs": {
            "title": "🚫 Drop unrecognised inputs silently",
            "type": "boolean",
            "description": "When on, an input that is not a Spotlight link or id (e.g. a profile URL, a random string) is skipped entirely and does not appear in the dataset. When off (default), it still appears as its own row with an 'unrecognised' outcome so nothing you submitted goes unaccounted for.",
            "default": false
          },
          "verifyOnly": {
            "title": "🧪 Verify only, skip full video data",
            "type": "boolean",
            "description": "When on, every link is still resolved and checked for availability, but the row only carries the identity and outcome fields — not the video's caption, counts, or media URLs. Default is off (full data is included).",
            "default": false
          },
          "includeUnavailableLinks": {
            "title": "📋 Include unavailable links in the output",
            "type": "boolean",
            "description": "When on (default), a link that could not be resolved to a live video still gets its own row with an honest outcome. When off, only 'available' rows are written to the dataset (the summary row still counts everything).",
            "default": true
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Use Apify Proxy, your own proxy URLs, or run without a proxy."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}