Snapchat Spotlight comments API
Public comments on a Spotlight video; `parent` is the video.
GET /v1/snapchat/spotlight/comments
GET /v1/snapchat/spotlight/comments
Public comments on a Spotlight video; parent is the video. Pass the cursor back for more.
- Cost: 1 credit
- Cache: Results are kept up to 30 days; send
max_age_daysto reuse them for free. - Timeout: A request still running after about 25 seconds answers
202with a job to poll (Batch and jobs).
Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
url | URL | yes | Spotlight URL (snapchat.com/@user/spotlight/...). Accepted hosts: snapchat.com. |
Every request also accepts:
cursor: the cursor from the previous page (Pagination).trim:truefor a smaller response withoutnullfields andextra.raw:trueto also get the platform's original object asraw.max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).
Example request#
Set your key in the environment first (see Authentication).
1curl -G "https://api.socialscrape.dev/v1/snapchat/spotlight/comments" \2 -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3 --data-urlencode "url=https://www.snapchat.com/@jack.scalise/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ"1import os2import requests34params = {5 "url": "https://www.snapchat.com/@jack.scalise/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ",6}7res = requests.get(8 "https://api.socialscrape.dev/v1/snapchat/spotlight/comments",9 headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},10 params=params,11)12body = res.json()1314if body["ok"]:15 print(body["data"])16else:17 print(body["error"]["code"], body["error"]["message"])1const url = new URL("https://api.socialscrape.dev/v1/snapchat/spotlight/comments");2url.search = new URLSearchParams({3 "url": "https://www.snapchat.com/@jack.scalise/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ"4}).toString();5const res = await fetch(url, {6 headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },7});8const body = await res.json();910if (body.ok) {11 console.log(body.data);12} else {13 console.error(body.error.code, body.error.message);14}1{2 "nodes": [3 {4 "name": "SocialScrape Snapchat Spotlight comments",5 "type": "n8n-nodes-base.httpRequest",6 "typeVersion": 4.2,7 "position": [8 0,9 010 ],11 "parameters": {12 "method": "GET",13 "url": "https://api.socialscrape.dev/v1/snapchat/spotlight/comments",14 "sendQuery": true,15 "queryParameters": {16 "parameters": [17 {18 "name": "url",19 "value": "https://www.snapchat.com/@jack.scalise/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ"20 }21 ]22 },23 "sendHeaders": true,24 "headerParameters": {25 "parameters": [26 {27 "name": "x-api-key",28 "value": "={{ $env.SOCIALSCRAPE_API_KEY }}"29 }30 ]31 }32 }33 }34 ],35 "connections": {}36}Example response#
This is a sample from a recorded response, lists and long text are shortened, other people's names and handles are replaced. Status 200.
1{2 "ok": true,3 "credits_charged": 1,4 "credits_remaining": 4999,5 "cached": false,6 "cached_at": null,7 "request_id": "req_9ec6358cdda9d594bd51990b",8 "data": {9 "object": "list",10 "items": [11 {12 "object": "comment",13 "platform": "snapchat",14 "id": "3924390255570602638.11194971132114019804",15 "url": null,16 "post_id": "W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ",17 "parent_id": null,18 "author": {19 "id": "1000000001",20 "handle": "sample_user",21 "name": "Sample User",22 "url": null,23 "avatar_url": null,24 "verified": false25 },26 "text": "My day was ok I guess",27 "published_at": "2025-03-23T17:30:13.814000Z",28 "stats": {29 "likes": 83,30 "replies": 12,31 "dislikes": null32 },33 "is_pinned": null,34 "is_by_creator": false,35 "extra": {36 "ranking_score": 1000,37 "reactions": [38 {39 "count": 83,40 "type_id": 141 }42 ]43 }44 },45 {46 "object": "comment",47 "platform": "snapchat",48 "id": "6355055691073406808.10809603457868774494",49 "url": null,50 "post_id": "W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ",51 "parent_id": null,52 "author": {53 "id": "1000000001",54 "handle": "sample_user",55 "name": "Sample User",56 "url": null,57 "avatar_url": null,58 "verified": false59 },60 "text": "I sent this to him!",61 "published_at": "2025-03-26T06:43:31.105000Z",62 "stats": {63 "likes": 1,64 "replies": 8,65 "dislikes": null66 },67 "is_pinned": null,68 "is_by_creator": false,69 "extra": {70 "ranking_score": 980,71 "reactions": [72 {73 "count": 1,74 "type_id": 175 }76 ]77 }78 }79 ],80 "cursor": "CAESVYzKiZYNyL-Q6AHFw4r2CdnDur0Mu77vrQm5-NL-COCurJMN2rTF8A61tIyUBJ7X-LgJ5NnZuw6Z9dTOBILtqvcLioOZow6nhL6fD-L25-AGpY7t7woagwISgAJDcjBCQ2cwS0FuUnpFZ2NJODZXTy03TXpFcWNCYWhkemZtUmxiSFJoTFdadmNtTmxMVzVoYlRVdGNISnZaSEtMQVFzU0VGTndiM1JzYVdkb2RGSmxj...",81 "has_more": true,82 "parent": {83 "object": "post",84 "platform": "snapchat",85 "id": "W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ",86 "url": "https://www.snapchat.com/@jack.scalise/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYb3djZ3FqY2VhAZXDhShdAZXDhPWfAAAAAQ",87 "type": "video",88 "author": {89 "id": null,90 "handle": "jack.scalise",91 "name": null,92 "url": "https://www.snapchat.com/@jack.scalise",93 "avatar_url": null,94 "verified": null95 },96 "title": null,97 "text": null,98 "published_at": null,99 "duration_seconds": null,100 "language": null,101 "hashtags": null,102 "mentions": null,103 "stats": {104 "views": null,105 "likes": null,106 "comments": null,107 "shares": null,108 "saves": null,109 "dislikes": null110 },111 "media": {112 "thumbnail_url": null,113 "video_url": null,114 "audio_url": null,115 "image_urls": null,116 "width": null,117 "height": null118 },119 "song": null,120 "location": null,121 "is_pinned": null,122 "is_sponsored": null,123 "extra": null124 }125 },126 "cursor": "CAESVYzKiZYNyL-Q6AHFw4r2CdnDur0Mu77vrQm5-NL-COCurJMN2rTF8A61tIyUBJ7X-LgJ5NnZuw6Z9dTOBILtqvcLioOZow6nhL6fD-L25-AGpY7t7woagwISgAJDcjBCQ2cwS0FuUnpFZ2NJODZXTy03TXpFcWNCYWhkemZtUmxiSFJoTFdadmNtTmxMVzVoYlRVdGNISnZaSEtMQVFzU0VGTndiM1JzYVdkb2RGSmxj...",127 "has_more": true128}Response#
A list of Comment objects in data.items, with data.cursor and data.has_more.
See Data models for every field. The envelope around data is described in Responses.
Errors#
Failures are free: credits_charged is 0. Branch on error.code, never on the message.
| Code | HTTP | Retry | Meaning |
|---|---|---|---|
invalid_params | 400 | no | A parameter is missing, unknown or has the wrong type. |
unsupported_url | 400 | no | The URL is not one this endpoint accepts (wrong platform or form). |
not_found | 404 | no | The platform says this profile, post or item does not exist. |
Every request can also fail with the account and platform errors listed on the Errors page.
Example error:
1{2 "ok": false,3 "error": {4 "code": "not_found",5 "message": "The platform says this profile, post or item does not exist.",6 "retryable": false7 },8 "credits_charged": 0,9 "request_id": "req_9e7a29a6c1316fcf9243013a"10}Related endpoints#
- Snapchat public profile (
GET /v1/snapchat/profile) - Snapchat Spotlight video (
GET /v1/snapchat/spotlight)