{
  "openapi": "3.0.1",
  "info": {
    "title": "Snapchat Scraper API - Spotlight, Creators, Transcripts",
    "description": "Snapchat Spotlight clips and public creator profiles in one typed dataset. View counts, creator and follower count, sound, hashtags, Snapchat's own content keywords, and the spoken transcript as clean text. No login, no proxy to buy. Failures are free.",
    "version": "1.0",
    "x-build-id": "LmZ6UdGaK1AgnBcMb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vonsensey~snapchat-scraper-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vonsensey-snapchat-scraper-api",
        "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/vonsensey~snapchat-scraper-api/runs": {
      "post": {
        "operationId": "runs-sync-vonsensey-snapchat-scraper-api",
        "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/vonsensey~snapchat-scraper-api/run-sync": {
      "post": {
        "operationId": "run-sync-vonsensey-snapchat-scraper-api",
        "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": {
          "spotlightUrls": {
            "title": "Snapchat Spotlight URLs",
            "type": "array",
            "description": "Spotlight clip links as Snapchat shares them (snapchat.com/@creator/spotlight/… and snapchat.com/spotlight/… both work) or bare story IDs. A clip Snapchat no longer serves (removed, or a wrong link) returns a free error row saying so, and is never charged. Leave empty to use the trending feed or creator profiles instead.",
            "items": {
              "type": "string"
            }
          },
          "profiles": {
            "title": "Snapchat usernames",
            "type": "array",
            "description": "Public Snapchat usernames or profile URLs — 'kyliejenner', '@kyliejenner' and the full snapchat.com/add/ link all work. Creator and business accounts return subscriber count, bio, website, category and verification; personal accounts expose only a name and Snapcode, and the fields they do not have come back null rather than guessed.",
            "items": {
              "type": "string"
            }
          },
          "fetchTrending": {
            "title": "Include the public Spotlight feed",
            "type": "boolean",
            "description": "Also pull the clips currently trending on Snapchat Spotlight — about 25 per run, each with view count, creator and sound. Useful on a schedule to watch what is surfacing.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on billable rows. Spotlight clips and profiles share this budget, so 100 means 100 rows in total.",
            "default": 100
          },
          "maxCostUsd": {
            "title": "Cost ceiling (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Stop the run before it spends more than this. Leave empty for no ceiling. The free summary row reports what the run actually spent."
          },
          "includeTranscripts": {
            "title": "Add spoken transcripts",
            "type": "boolean",
            "description": "Return the spoken words of each Spotlight clip as clean text, taken from Snapchat's own caption track. Charged only for clips that actually have one — Snapchat does not caption everything, and a clip without a transcript is free.",
            "default": false
          },
          "includeMediaUrls": {
            "title": "Include video file URLs",
            "type": "boolean",
            "description": "Adds the direct video URL to each clip. Snapchat signs these and they expire quickly, so they are left out by default rather than filling a stored dataset with links that stop working.",
            "default": false
          },
          "monitorChangesOnly": {
            "title": "Monitor: only bill what changed",
            "type": "boolean",
            "description": "For scheduled runs. Clips and profiles whose numbers moved are billed as usual; an unchanged one is still delivered, marked 'unchanged', and costs one check (see Pricing) instead of a full row.",
            "default": false
          },
          "useProxy": {
            "title": "Proxy ready from the start",
            "type": "boolean",
            "description": "Not normally needed. Every run reads Snapchat directly and moves any request Snapchat refuses to a residential proxy by itself. On: the proxy is set up when the run starts, so the first refusal switches without delay and a proxy this run cannot use is reported at once.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}