Dataspryva

Snapchat Publisher & Show Episode Finder

Look up Snapchat publisher and Snap Show profiles by URL or ID: subscriber count, premium episodes and seasons, and publisher Spotlight content with media links and engagement stats.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
modestringrequiredWhat to collect: publisher catalogues, individual episodes, or the current Discover feed.
publisherUrlsOrIdsarrayoptional(mode=byPublisher) Publisher or show page URLs, story.snapchat.com/p/{id} links, or bare businessProfileId UUIDs.
episodeUrlsarrayoptional(mode=byEpisodeUrl) Episode page URLs of the form snapchat.com/p/{publisherId}/{episodeId} or story.snapchat.com/p/{publisherId}/{episodeId}.
Show all input fields
FieldTypeRequiredDescription
modestringrequiredWhat to collect: publisher catalogues, individual episodes, or the current Discover feed.
publisherUrlsOrIdsarrayoptional(mode=byPublisher) Publisher or show page URLs, story.snapchat.com/p/{id} links, or bare businessProfileId UUIDs.
episodeUrlsarrayoptional(mode=byEpisodeUrl) Episode page URLs of the form snapchat.com/p/{publisherId}/{episodeId} or story.snapchat.com/p/{publisherId}/{episodeId}.
countrystringoptionalCountry context for episode requests and the Discover feed.
localestringoptional(mode=discover) Language-region tag such as en-US, en-GB or de-DE. Invalid values fall back to en-US.
includeStoriesbooleanoptional(mode=byPublisher) Walk every season and return every publicly listed episode in episodes[]. The page's latest stories stay in premiumStories[] for compatibility.
includeShowSeasonsbooleanoptional(mode=byPublisher) Include premiumShowSeasons[] with season IDs, numbers and declared episode counts.
includeSpotlightsbooleanoptional(mode=byPublisher) Include publisherSpotlights[] with media URLs, creator info and engagement stats.
includeEpisodeMediabooleanoptional(mode=byPublisher) Fetch episode-level HLS video tracks and snap media for each returned episode. Adds extra requests per episode.
maxEpisodesPerPublisherintegeroptional(mode=byPublisher) Hard cap on episodes[] per publisher.
maxItemsintegeroptionalHard cap on dataset rows across all modes, including error rows.

Download the published input schema

View complete JSON
{
  "description": "Look up Snapchat publishers, Snap Shows and episodes, or read the country Discover feed.",
  "properties": {
    "country": {
      "default": "US",
      "description": "Country context for episode requests and the Discover feed.",
      "editor": "select",
      "enum": [
        "AF",
        "AL",
        "DZ",
        "AS",
        "AD",
        "AO",
        "AI",
        "AQ",
        "AG",
        "AR",
        "AM",
        "AW",
        "AU",
        "AT",
        "AZ",
        "BS",
        "BH",
        "BD",
        "BB",
        "BY",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BT",
        "BO",
        "BQ",
        "BA",
        "BW",
        "BV",
        "BR",
        "IO",
        "BN",
        "BG",
        "BF",
        "BI",
        "CV",
        "KH",
        "CM",
        "CA",
        "KY",
        "CF",
        "TD",
        "CL",
        "CN",
        "CX",
        "CC",
        "CO",
        "KM",
        "CG",
        "CD",
        "CK",
        "CR",
        "HR",
        "CU",
        "CW",
        "CY",
        "CZ",
        "CI",
        "DK",
        "DJ",
        "DM",
        "DO",
        "EC",
        "EG",
        "SV",
        "GQ",
        "ER",
        "EE",
        "SZ",
        "ET",
        "FK",
        "FO",
        "FJ",
        "FI",
        "FR",
        "GF",
        "PF",
        "TF",
        "GA",
        "GM",
        "GE",
        "DE",
        "GH",
        "GI",
        "GR",
        "GL",
        "GD",
        "GP",
        "GU",
        "GT",
        "GG",
        "GN",
        "GW",
        "GY",
        "HT",
        "HM",
        "VA",
        "HN",
        "HK",
        "HU",
        "IS",
        "IN",
        "ID",
        "IR",
        "IQ",
        "IE",
        "IM",
        "IL",
        "IT",
        "JM",
        "JP",
        "JE",
        "JO",
        "KZ",
        "KE",
        "KI",
        "KP",
        "KR",
        "KW",
        "KG",
        "LA",
        "LV",
        "LB",
        "LS",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MO",
        "MG",
        "MW",
        "MY",
        "MV",
        "ML",
        "MT",
        "MH",
        "MQ",
        "MR",
        "MU",
        "YT",
        "MX",
        "FM",
        "MD",
        "MC",
        "MN",
        "ME",
        "MS",
        "MA",
        "MZ",
        "MM",
        "NA",
        "NR",
        "NP",
        "NL",
        "NC",
        "NZ",
        "NI",
        "NE",
        "NG",
        "NU",
        "NF",
        "MK",
        "MP",
        "NO",
        "OM",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PH",
        "PN",
        "PL",
        "PT",
        "PR",
        "QA",
        "RO",
        "RU",
        "RW",
        "RE",
        "BL",
        "SH",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "WS",
        "SM",
        "ST",
        "SA",
        "SN",
        "RS",
        "SC",
        "SL",
        "SG",
        "SX",
        "SK",
        "SI",
        "SB",
        "SO",
        "ZA",
        "GS",
        "SS",
        "ES",
        "LK",
        "SD",
        "SR",
        "SJ",
        "SE",
        "CH",
        "SY",
        "TW",
        "TJ",
        "TZ",
        "TH",
        "TL",
        "TG",
        "TK",
        "TO",
        "TT",
        "TN",
        "TM",
        "TC",
        "TV",
        "TR",
        "UG",
        "UA",
        "AE",
        "GB",
        "US",
        "UM",
        "UY",
        "UZ",
        "VU",
        "VE",
        "VN",
        "VG",
        "VI",
        "WF",
        "EH",
        "YE",
        "ZM",
        "ZW",
        "AX"
      ],
      "enumTitles": [
        "Afghanistan",
        "Albania",
        "Algeria",
        "American Samoa",
        "Andorra",
        "Angola",
        "Anguilla",
        "Antarctica",
        "Antigua and Barbuda",
        "Argentina",
        "Armenia",
        "Aruba",
        "Australia",
        "Austria",
        "Azerbaijan",
        "Bahamas",
        "Bahrain",
        "Bangladesh",
        "Barbados",
        "Belarus",
        "Belgium",
        "Belize",
        "Benin",
        "Bermuda",
        "Bhutan",
        "Bolivia, Plurinational State of",
        "Bonaire, Sint Eustatius and Saba",
        "Bosnia and Herzegovina",
        "Botswana",
        "Bouvet Island",
        "Brazil",
        "British Indian Ocean Territory",
        "Brunei Darussalam",
        "Bulgaria",
        "Burkina Faso",
        "Burundi",
        "Cabo Verde",
        "Cambodia",
        "Cameroon",
        "Canada",
        "Cayman Islands",
        "Central African Republic",
        "Chad",
        "Chile",
        "China",
        "Christmas Island",
        "Cocos (Keeling) Islands",
        "Colombia",
        "Comoros",
        "Congo",
        "Congo, The Democratic Republic of the",
        "Cook Islands",
        "Costa Rica",
        "Croatia",
        "Cuba",
        "Curaçao",
        "Cyprus",
        "Czechia",
        "Côte d'Ivoire",
        "Denmark",
        "Djibouti",
        "Dominica",
        "Dominican Republic",
        "Ecuador",
        "Egypt",
        "El Salvador",
        "Equatorial Guinea",
        "Eritrea",
        "Estonia",
        "Eswatini",
        "Ethiopia",
        "Falkland Islands (Malvinas)",
        "Faroe Islands",
        "Fiji",
        "Finland",
        "France",
        "French Guiana",
        "French Polynesia",
        "French Southern Territories",
        "Gabon",
        "Gambia",
        "Georgia",
        "Germany",
        "Ghana",
        "Gibraltar",
        "Greece",
        "Greenland",
        "Grenada",
        "Guadeloupe",
        "Guam",
        "Guatemala",
        "Guernsey",
        "Guinea",
        "Guinea-Bissau",
        "Guyana",
        "Haiti",
        "Heard Island and McDonald Islands",
        "Holy See (Vatican City State)",
        "Honduras",
        "Hong Kong",
        "Hungary",
        "Iceland",
        "India",
        "Indonesia",
        "Iran, Islamic Republic of",
        "Iraq",
        "Ireland",
        "Isle of Man",
        "Israel",
        "Italy",
        "Jamaica",
        "Japan",
        "Jersey",
        "Jordan",
        "Kazakhstan",
        "Kenya",
        "Kiribati",
        "Korea, Democratic People's Republic of",
        "Korea, Republic of",
        "Kuwait",
        "Kyrgyzstan",
        "Lao People's Democratic Republic",
        "Latvia",
        "Lebanon",
        "Lesotho",
        "Liberia",
        "Libya",
        "Liechtenstein",
        "Lithuania",
        "Luxembourg",
        "Macao",
        "Madagascar",
        "Malawi",
        "Malaysia",
        "Maldives",
        "Mali",
        "Malta",
        "Marshall Islands",
        "Martinique",
        "Mauritania",
        "Mauritius",
        "Mayotte",
        "Mexico",
        "Micronesia, Federated States of",
        "Moldova, Republic of",
        "Monaco",
        "Mongolia",
        "Montenegro",
        "Montserrat",
        "Morocco",
        "Mozambique",
        "Myanmar",
        "Namibia",
        "Nauru",
        "Nepal",
        "Netherlands",
        "New Caledonia",
        "New Zealand",
        "Nicaragua",
        "Niger",
        "Nigeria",
        "Niue",
        "Norfolk Island",
        "North Macedonia",
        "Northern Mariana Islands",
        "Norway",
        "Oman",
        "Pakistan",
        "Palau",
        "Palestine, State of",
        "Panama",
        "Papua New Guinea",
        "Paraguay",
        "Peru",
        "Philippines",
        "Pitcairn",
        "Poland",
        "Portugal",
        "Puerto Rico",
        "Qatar",
        "Romania",
        "Russian Federation",
        "Rwanda",
        "Réunion",
        "Saint Barthélemy",
        "Saint Helena, Ascension and Tristan da Cunha",
        "Saint Kitts and Nevis",
        "Saint Lucia",
        "Saint Martin (French part)",
        "Saint Pierre and Miquelon",
        "Saint Vincent and the Grenadines",
        "Samoa",
        "San Marino",
        "Sao Tome and Principe",
        "Saudi Arabia",
        "Senegal",
        "Serbia",
        "Seychelles",
        "Sierra Leone",
        "Singapore",
        "Sint Maarten (Dutch part)",
        "Slovakia",
        "Slovenia",
        "Solomon Islands",
        "Somalia",
        "South Africa",
        "South Georgia and the South Sandwich Islands",
        "South Sudan",
        "Spain",
        "Sri Lanka",
        "Sudan",
        "Suriname",
        "Svalbard and Jan Mayen",
        "Sweden",
        "Switzerland",
        "Syrian Arab Republic",
        "Taiwan, Province of China",
        "Tajikistan",
        "Tanzania, United Republic of",
        "Thailand",
        "Timor-Leste",
        "Togo",
        "Tokelau",
        "Tonga",
        "Trinidad and Tobago",
        "Tunisia",
        "Turkmenistan",
        "Turks and Caicos Islands",
        "Tuvalu",
        "Türkiye",
        "Uganda",
        "Ukraine",
        "United Arab Emirates",
        "United Kingdom",
        "United States",
        "United States Minor Outlying Islands",
        "Uruguay",
        "Uzbekistan",
        "Vanuatu",
        "Venezuela, Bolivarian Republic of",
        "Viet Nam",
        "Virgin Islands, British",
        "Virgin Islands, U.S.",
        "Wallis and Futuna",
        "Western Sahara",
        "Yemen",
        "Zambia",
        "Zimbabwe",
        "Åland Islands"
      ],
      "prefill": "US",
      "title": "Country",
      "type": "string"
    },
    "episodeUrls": {
      "description": "(mode=byEpisodeUrl) Episode page URLs of the form snapchat.com/p/{publisherId}/{episodeId} or story.snapchat.com/p/{publisherId}/{episodeId}.",
      "editor": "stringList",
      "title": "Episode URLs",
      "type": "array"
    },
    "includeEpisodeMedia": {
      "default": false,
      "description": "(mode=byPublisher) Fetch episode-level HLS video tracks and snap media for each returned episode. Adds extra requests per episode.",
      "prefill": false,
      "title": "Include episode media",
      "type": "boolean"
    },
    "includeShowSeasons": {
      "default": true,
      "description": "(mode=byPublisher) Include premiumShowSeasons[] with season IDs, numbers and declared episode counts.",
      "prefill": false,
      "title": "Include season summary",
      "type": "boolean"
    },
    "includeSpotlights": {
      "default": true,
      "description": "(mode=byPublisher) Include publisherSpotlights[] with media URLs, creator info and engagement stats.",
      "prefill": false,
      "title": "Include publisher Spotlights",
      "type": "boolean"
    },
    "includeStories": {
      "default": true,
      "description": "(mode=byPublisher) Walk every season and return every publicly listed episode in episodes[]. The page's latest stories stay in premiumStories[] for compatibility.",
      "prefill": false,
      "title": "Include full episode history",
      "type": "boolean"
    },
    "locale": {
      "default": "en-US",
      "description": "(mode=discover) Language-region tag such as en-US, en-GB or de-DE. Invalid values fall back to en-US.",
      "editor": "textfield",
      "prefill": "en-US",
      "title": "Locale",
      "type": "string"
    },
    "maxEpisodesPerPublisher": {
      "default": 100,
      "description": "(mode=byPublisher) Hard cap on episodes[] per publisher.",
      "maximum": 5000,
      "minimum": 1,
      "prefill": 3,
      "title": "Max episodes per publisher",
      "type": "integer"
    },
    "maxItems": {
      "default": 100,
      "description": "Hard cap on dataset rows across all modes, including error rows.",
      "maximum": 5000,
      "minimum": 1,
      "prefill": 1,
      "title": "Max dataset rows",
      "type": "integer"
    },
    "mode": {
      "default": "byPublisher",
      "description": "What to collect: publisher catalogues, individual episodes, or the current Discover feed.",
      "editor": "select",
      "enum": [
        "byPublisher",
        "byEpisodeUrl",
        "discover"
      ],
      "enumTitles": [
        "Publishers and shows",
        "Episode URLs",
        "Discover feed by country"
      ],
      "prefill": "byPublisher",
      "title": "Mode",
      "type": "string"
    },
    "publisherUrlsOrIds": {
      "description": "(mode=byPublisher) Publisher or show page URLs, story.snapchat.com/p/{id} links, or bare businessProfileId UUIDs.",
      "editor": "stringList",
      "prefill": [
        "efd8a13d-b69a-41d0-9c04-d19f87829798"
      ],
      "title": "Publisher URLs or IDs",
      "type": "array"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "Snapchat Publisher & Show Episode Finder Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
publishersstringoptionalDataset containing scraped Snapchat publisher, episode, Discover story and error rows.

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "Snapchat publisher and Snap Show profiles with subscriber counts, full season and episode catalogues, HLS media, Spotlight cards and Discover feed stories.",
  "properties": {
    "publishers": {
      "description": "Dataset containing scraped Snapchat publisher, episode, Discover story and error rows.",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Snapchat publisher, episode and Discover rows",
      "type": "string"
    }
  },
  "title": "Snapchat Publisher & Show Episode Finder Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "fields": {
    "properties": {
      "address": {
        "description": "Publisher address when exposed",
        "type": "string"
      },
      "bio": {
        "description": "Publisher bio or show description",
        "type": "string"
      },
      "category": {
        "description": "Publisher category identifier when exposed",
        "type": "string"
      },
      "displayName": {
        "description": "Publisher display name or show title",
        "type": "string"
      },
      "episodeCount": {
        "description": "Number of episodes returned for the publisher",
        "type": "integer"
      },
      "episodeId": {
        "description": "Episode story ID",
        "type": "string"
      },
      "episodeNumber": {
        "description": "Episode number within its season",
        "type": "integer"
      },
      "episodeUrl": {
        "description": "Canonical episode page URL",
        "type": "string"
      },
      "episodes": {
        "description": "Complete episode history for the publisher",
        "items": {
          "properties": {
            "episodeId": {
              "type": "string"
            },
            "episodeNumber": {
              "type": "integer"
            },
            "episodeUrl": {
              "type": "string"
            },
            "publishedAt": {
              "type": "string"
            },
            "seasonId": {
              "type": "string"
            },
            "seasonNumber": {
              "type": "integer"
            },
            "snapCount": {
              "type": "integer"
            },
            "snaps": {
              "items": {
                "properties": {
                  "index": {
                    "type": "integer"
                  },
                  "intervalStartMs": {
                    "type": "integer"
                  },
                  "mediaType": {
                    "type": "string"
                  },
                  "mediaUrl": {
                    "type": "string"
                  },
                  "previewUrl": {
                    "type": "string"
                  },
                  "snapId": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "thumbnailUrl": {
              "type": "string"
            },
            "title": {
              "type": "string"
            },
            "videoTrackUrl": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "error": {
        "description": "Error message on an error row",
        "type": "string"
      },
      "hasCuratedHighlights": {
        "description": "Whether the publisher has curated highlights",
        "type": "boolean"
      },
      "hasSpotlightHighlights": {
        "description": "Whether the publisher has Spotlight highlights",
        "type": "boolean"
      },
      "hasStory": {
        "description": "Whether the publisher currently has a story",
        "type": "boolean"
      },
      "hostUserId": {
        "description": "Internal host user UUID when exposed",
        "type": "string"
      },
      "input": {
        "description": "Original input value on an error row",
        "type": "string"
      },
      "isVerified": {
        "description": "Whether the publisher has a verification badge",
        "type": "boolean"
      },
      "mutableName": {
        "description": "Mutable display name when exposed",
        "type": "string"
      },
      "pageUrl": {
        "description": "Canonical publisher or creator page URL",
        "type": "string"
      },
      "premiumShowSeasons": {
        "description": "Season summary with IDs, numbers and declared episode counts",
        "items": {
          "properties": {
            "episodeCount": {
              "type": "integer"
            },
            "seasonId": {
              "type": "string"
            },
            "seasonNumber": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "premiumStories": {
        "description": "Latest stories embedded in the publisher page for backward compatibility",
        "items": {
          "properties": {
            "episodeNumber": {
              "type": "integer"
            },
            "postedAt": {
              "type": "string"
            },
            "seasonNumber": {
              "type": "integer"
            },
            "storyId": {
              "type": "string"
            },
            "storyTitle": {
              "type": "string"
            },
            "storyType": {
              "type": "integer"
            },
            "thumbnailUrl": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "preselectedStory": {
        "description": "Featured episode with snap media when the page exposes one",
        "properties": {
          "episodeNumber": {
            "type": "integer"
          },
          "episodeUrl": {
            "type": "string"
          },
          "seasonNumber": {
            "type": "integer"
          },
          "snaps": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "storyId": {
            "type": "string"
          },
          "storyTitle": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "primaryColor": {
        "description": "Publisher primary brand color",
        "type": "string"
      },
      "profilePictureUrl": {
        "description": "Publisher profile or show logo URL",
        "type": "string"
      },
      "publishedAt": {
        "description": "ISO 8601 UTC publication time",
        "type": "string"
      },
      "publisherId": {
        "description": "Publisher business profile ID (UUID)",
        "type": "string"
      },
      "publisherSpotlights": {
        "description": "Publisher Spotlight story cards with media, creator and engagement data",
        "items": {
          "properties": {
            "caption": {
              "type": "string"
            },
            "compositeStoryId": {
              "type": "string"
            },
            "createdAt": {
              "type": "string"
            },
            "creatorDisplayName": {
              "type": "string"
            },
            "creatorFollowerCount": {
              "type": "integer"
            },
            "creatorUsername": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "durationSeconds": {
              "type": "number"
            },
            "engagementStats": {
              "type": "object"
            },
            "geoDisplayName": {
              "type": "string"
            },
            "height": {
              "type": "integer"
            },
            "imageUrl": {
              "type": "string"
            },
            "lat": {
              "type": "number"
            },
            "latestUpdatedAt": {
              "type": "string"
            },
            "lng": {
              "type": "number"
            },
            "snapId": {
              "type": "string"
            },
            "snapUrl": {
              "type": "string"
            },
            "storyId": {
              "type": "string"
            },
            "thumbnailUrl": {
              "type": "string"
            },
            "videoUrl": {
              "type": "string"
            },
            "width": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "publisherType": {
        "description": "Publisher type, for example SHOW or NORMAL",
        "type": "string"
      },
      "recordType": {
        "description": "Row type: publisher, episode, discoverStory or error",
        "type": "string"
      },
      "scrapedAt": {
        "description": "ISO 8601 UTC timestamp when the row was scraped",
        "type": "string"
      },
      "seasonCount": {
        "description": "Number of seasons listed for the publisher",
        "type": "integer"
      },
      "seasonId": {
        "description": "Season UUID",
        "type": "string"
      },
      "seasonNumber": {
        "description": "Season number",
        "type": "integer"
      },
      "shouldHideUsername": {
        "description": "Whether the profile hides its username",
        "type": "boolean"
      },
      "snapCount": {
        "description": "Number of snaps attached to an episode or story",
        "type": "integer"
      },
      "snapcodeImageUrl": {
        "description": "Snapcode image URL",
        "type": "string"
      },
      "snaps": {
        "description": "Snap preview and media records",
        "items": {
          "type": "object"
        },
        "type": "array"
      },
      "squareHeroImageUrl": {
        "description": "Square hero or banner image URL",
        "type": "string"
      },
      "statusCode": {
        "description": "HTTP status code on an error row",
        "type": "integer"
      },
      "storyId": {
        "description": "Discover story ID",
        "type": "string"
      },
      "storyType": {
        "description": "Discover story type, for example SHOW or PUBLIC_USER_STORY",
        "type": "string"
      },
      "subcategory": {
        "description": "Publisher subcategory identifier when exposed",
        "type": "string"
      },
      "subscriberCount": {
        "description": "Publisher subscriber count",
        "type": "integer"
      },
      "tapId": {
        "description": "Discover feed tap ID used for pagination",
        "type": "string"
      },
      "thumbnailUrl": {
        "description": "Episode or story thumbnail URL",
        "type": "string"
      },
      "title": {
        "description": "Episode or Discover story title",
        "type": "string"
      },
      "username": {
        "description": "Snapchat username when the publisher has one",
        "type": "string"
      },
      "videoTrackUrl": {
        "description": "Episode HLS video track URL",
        "type": "string"
      },
      "websiteUrl": {
        "description": "Publisher website URL",
        "type": "string"
      }
    },
    "type": "object"
  },
  "title": "Snapchat Publisher, Episodes and Discover"
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Snapchat Publisher & Show Episode Finder

Read Snapchat publisher and Snap Show catalogues without logging in. Give the actor a publisher page URL, a bare business profile ID, or an episode URL and it returns the public profile, the latest page stories, every season, the full episode history, optional HLS media, and Spotlight cards. A Discover mode reads the current country feed with cursor-style pagination. HTTP-only, no cookies, no proxy setup.

What this actor does

  • Three modes: byPublisher for a profile and episode catalogue, byEpisodeUrl for one episode's snaps and HLS track, and discover for the country/locale feed
  • Complete episode history: walks every season with Snapchat's public PublishedPremiumStories cursor, not just the 13-14 stories embedded in the page
  • Optional episode media: adds the episode-level HLS videoTrackUrl, snap count and per-snap preview records
  • Publisher Spotlights: media URLs, creator details and engagement counters from the profile page
  • Discover feed: country and locale aware, paginated by tap IDs until the feed is exhausted or maxItems is reached
  • Empty fields are omitted: no nulls, no empty strings, no empty arrays and no 1970 placeholder dates

Output per publisher (mode = byPublisher)

  • recordType: "publisher", publisherId, pageUrl
  • displayName, username — visible name and handle when the profile exposes one
  • isVerified, subscriberCount, bio
  • profilePictureUrl, snapcodeImageUrl, squareHeroImageUrl
  • websiteUrl, category, subcategory, publisherType (SHOW or NORMAL on publisher pages)
  • primaryColor, hostUserId, address, mutableName
  • hasStory, hasCuratedHighlights, hasSpotlightHighlights, shouldHideUsername
  • seasonCount, episodeCount
  • premiumShowSeasons[] — seasonId, seasonNumber, episodeCount declared by the page
  • episodes[] — episodeId, episodeUrl, title, thumbnailUrl, publishedAt, seasonId, seasonNumber, episodeNumber, plus videoTrackUrl, snapCount and snaps[] when media is enabled
  • premiumStories[] — the latest stories embedded in the page, kept for compatibility: storyId, storyTitle, storyType, thumbnailUrl, episodeNumber, seasonNumber, postedAt
  • preselectedStory — the featured episode, with storyId, storyTitle, episodeNumber, seasonNumber, episodeUrl and snaps[] when available
  • publisherSpotlights[] — storyId, compositeStoryId, snapId, snapUrl, thumbnailUrl, videoUrl, imageUrl, durationSeconds, width, height, creatorUsername, creatorDisplayName, creatorFollowerCount, description, caption, lat, lng, geoDisplayName, engagementStats, createdAt, latestUpdatedAt
  • scrapedAt

Output per episode (mode = byEpisodeUrl)

  • recordType: "episode", episodeId, episodeUrl, publisherId
  • displayName, username, subscriberCount, isVerified, profilePictureUrl, squareHeroImageUrl — publisher context
  • title, thumbnailUrl, publishedAt, episodeNumber, seasonNumber
  • videoTrackUrl — the episode-level HLS track
  • snapCount, snaps[] — snapId, index, mediaType, mediaUrl when public, previewUrl, intervalStartMs
  • scrapedAt

Output per Discover story (mode = discover)

  • recordType: "discoverStory", storyId, storyType, title, publishedAt, tapId
  • thumbnailUrl, videoTrackUrl when the feed supplies one
  • pageUrl, publisherId, displayName, username, bio, profilePictureUrl, squareHeroImageUrl, snapcodeImageUrl, primaryColor, isVerified
  • snapCount, snaps[]
  • scrapedAt

Rows that cannot be resolved are returned as recordType: "error" with input, optional publisherId / episodeId, statusCode, error and scrapedAt.

Input

Field Type Default Description
mode string byPublisher byPublisher / byEpisodeUrl / discover
publisherUrlsOrIds array – Publisher URLs, story.snapchat.com/p/{id} links or bare UUIDs (mode=byPublisher)
episodeUrls array – snapchat.com/p/{publisherId}/{episodeId} URLs (mode=byEpisodeUrl)
country string US ISO country code used for episode requests and the Discover feed
locale string en-US Language-region tag for Discover, e.g. en-GB or de-DE
includeStories boolean true Walk every season and fill episodes[] (mode=byPublisher); the latest page stories stay in premiumStories[] either way
includeShowSeasons boolean true Include premiumShowSeasons[] (mode=byPublisher)
includeSpotlights boolean true Include publisherSpotlights[] (mode=byPublisher)
includeEpisodeMedia boolean false Fetch HLS tracks and snaps for every returned episode (mode=byPublisher)
maxEpisodesPerPublisher integer 100 Hard cap on episodes[] per publisher (1–5000)
maxItems integer 100 Hard cap on dataset rows, including error rows (1–5000)

Example: publisher profile with the latest page data only

{
  "mode": "byPublisher",
  "publisherUrlsOrIds": ["efd8a13d-b69a-41d0-9c04-d19f87829798"],
  "includeStories": false,
  "includeShowSeasons": false,
  "includeSpotlights": false,
  "maxItems": 1
}

Example: complete episode catalogue for a Snap Show

{
  "mode": "byPublisher",
  "publisherUrlsOrIds": ["https://www.snapchat.com/p/f905ada7-32eb-4f9c-8ddf-daa529dcc79f"],
  "includeStories": true,
  "includeShowSeasons": true,
  "includeSpotlights": true,
  "includeEpisodeMedia": false,
  "maxEpisodesPerPublisher": 1000,
  "maxItems": 10
}

Example: one episode with its HLS track and snaps

{
  "mode": "byEpisodeUrl",
  "episodeUrls": [
    "https://www.snapchat.com/p/f905ada7-32eb-4f9c-8ddf-daa529dcc79f/3298969776404480"
  ],
  "country": "US",
  "maxItems": 1
}

Example: the Discover feed for a country

{
  "mode": "discover",
  "country": "GB",
  "locale": "en-GB",
  "maxItems": 100
}

Use cases

  • Media monitoring — track subscriber counts, season structure and publishing cadence for news outlets and entertainment channels
  • Show catalogues — build a complete season and episode index for a Snap Show instead of the handful of episodes on the page
  • Episode archives — capture every episode URL, title, thumbnail, publication time and HLS track for downstream processing
  • Content strategy research — compare episode volume and Spotlight performance across publishers
  • Discover trend tracking — sample the current Discover feed per country and locale for editorial or partnership research
  • Partnership scouting — check publisher categories, websites and audience size before outreach

FAQ

Is this affiliated with Snapchat? No. This is an independent third-party actor that reads publicly accessible Snapchat pages and feed responses. It is not operated by or affiliated with Snapchat.

What is the difference between a publisher and a Snap Show? A Snap Show is an episodic series with seasons and numbered episodes. A publisher is a media outlet or creator profile that may publish stories without a season structure. Both use snapchat.com/p/{id}, and publisherType tells you which kind of profile the page represents.

Where do I find a publisher ID? It is the UUID in the profile URL, for example snapchat.com/p/{businessProfileId}. A bare UUID is also accepted.

Why does episodes[] contain more episodes than premiumStories[]? premiumStories[] is the short list embedded in the profile page for compatibility. episodes[] is the full public catalogue assembled season by season, so it can contain hundreds or thousands of rows.

Why is a season's declared episode count sometimes higher than the number returned? Snapchat's season summary can declare more episodes than its public cursor returns. The actor reports the episodes it actually receives in episodes[] and keeps the page's declared count in premiumShowSeasons[].

Why do some snaps have no mediaUrl? Snapchat only exposes a direct media URL for a small subset of snaps. The episode-level videoTrackUrl is the reliable playable media, while previewUrl gives the snap thumbnail.

Why is durationSeconds sometimes missing from a Spotlight card? Snapchat only sends a duration for some cards. When it is absent the field is omitted rather than set to zero.

Why does an invalid or removed publisher return an error row? Removed publishers, wrong IDs and region-restricted content would otherwise abort the run. The actor records them as typed error rows and continues with the next input.

Do I need a proxy or a Snapchat account? No. The actor works without cookies, logins or proxy setup. Country restrictions can still make some publishers unavailable from a given location, and those rows are reported as HTTP 451 errors.

How many rows can one run return? Use maxItems to set the global cap and maxEpisodesPerPublisher to bound a single publisher's episodes[]. Both are hard limits, and error rows count toward maxItems.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build p0RhqUcEm1QryIgKH. Documentation is regenerated from the default published build; private drafts are not included.