OpenAI Sora v2 Scraper: Videos, Profiles, Followers & Socials
Pricing
from $0.50 / 1,000 posts
OpenAI Sora v2 Scraper: Videos, Profiles, Followers & Socials
Scrape OpenAI's Sora video platform. Search AI-generated videos by keyword, extract creator profiles, followers, following lists, post feeds, replies, remixes, and characters. Track trending content via the explore feed. Structured JSON output with pay-per-result pricing. No code required.
Pricing
from $0.50 / 1,000 posts
Rating
0.0
(0)
Developer

Zen Studio
Actor stats
0
Bookmarked
6
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Sora.ai Scraper — OpenAI Sora Video Search, Profile Data, Followers & Social Graph
Scrape OpenAI's Sora video platform (sora.chatgpt.com). Search AI-generated videos and images, browse the explore feed, and extract full profile data — posts, followers, following, replies, remixes, characters (cameos), and engagement metrics. Structured JSON output, pay-per-result pricing.
What You Can Scrape
- Video search — keyword search across all public Sora.ai generations (videos + images)
- User search — find creators by name, get profile stats
- Explore feed — global feed, latest or top 7 days, no profile needed
- Profile feed — all posts from a user's profile
- Followers / following — full social graph with profile metadata
- Post details + replies — complete post data with reply threads
- Remixes — all remixes of a user's posts
- Characters — custom AI personas (cameos) created by the user
Accepts usernames (cameoed) or full URLs (https://sora.chatgpt.com/profile/cameoed). Combine any modes in a single run.
Quick Start
Search for videos
{"searchQuery": "cyberpunk city","maxResults": 100}
Scrape the explore feed
{"exploreFeed": true,"exploreFeedType": "latest","maxResults": 500}
Scrape a profile (feed + followers)
{"profiles": ["cameoed"],"scrapeProfileFeed": true,"scrapeFollowers": true,"maxResults": 1000}
Full profile scrape
{"profiles": ["cameoed", "annavision"],"scrapeProfileFeed": true,"scrapeFollowers": true,"scrapeFollowing": true,"scrapeCharacters": true,"scrapePostDetails": true,"scrapeRemixes": true,"maxResults": 10000}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | Search Sora.ai for videos matching this keyword | |
userSearchQuery | string | Search for Sora.ai users by name | |
exploreFeed | boolean | false | Scrape the global explore feed |
exploreFeedType | string | latest | Feed type: latest or top_7d |
profiles | string[] | Usernames or profile URLs to scrape | |
maxResults | integer | 100 | Maximum items per endpoint (1-100,000) |
scrapeProfileFeed | boolean | true | Collect posts from profile feeds |
scrapeFollowers | boolean | false | Collect follower lists |
scrapeFollowing | boolean | false | Collect following lists |
scrapeCharacters | boolean | false | Collect custom characters (cameos) |
scrapePostDetails | boolean | false | Fetch full post details and reply trees |
scrapeRemixes | boolean | false | Fetch remix feeds for each post |
How modes combine
Each mode works standalone or together. Search and explore feed don't require profiles. Profile scraping options (scrapeFollowers, etc.) only apply when profiles is set.
Post details and remixes require the profile feed — they use post IDs from the feed, so the feed is auto-fetched even if scrapeProfileFeed is false.
Output
Every item includes a _type field to distinguish record types:
_type | Source | Description |
|---|---|---|
search_result | Video search | Generation with metadata, prompts, media URLs |
user_search_result | User search | Profile with stats and social info |
explore_feed | Explore feed | Generation from global feed |
profile | Profile scrape | Full profile record |
profile_feed | Profile feed | Post from a user's feed |
follower | Followers | Follower profile entry |
following | Following | Following profile entry |
character | Characters | Custom character (cameo) |
post_detail | Post details | Full post with all metadata |
post_reply | Post details | Reply in a post's thread |
remix | Remixes | Remix of a post |
search_result
Video search wraps each result in a generation object containing the full generation metadata.
{"_type": "search_result","_query": "cyberpunk city","generation": {"id": "gen_01jvr8m3kxe9a2wqhg47b6npd5","task_id": "task_01jvr8k9abfed7rz0w3mcgxty8","created_at": "2025-11-20T14:32:18.442901Z","updated_at": "2025-11-20T14:33:01.129384Z","url": "https://videos.openai.com/az/vg-assets/task_01jvr8k9ab.../src_0.mp4?...","seed": 482917563,"can_download": true,"download_status": "ready","is_favorite": false,"is_public": true,"is_archived": null,"is_featured": null,"featured_countries": [],"has_feedback": null,"like_count": 47,"dislike_count": 0,"num_direct_children": 2,"width": 1920,"height": 1080,"n_frames": 150,"prompt": "A neon-lit cyberpunk cityscape at night with flying vehicles...","title": "Neon Metropolis","operation": "simple_compose","task_type": "video_gen","quality": "high","model": null,"preset_id": null,"style": null,"has_captions": false,"can_create_character": true,"asset_pointer": null,"conversation_id": null,"actions": null,"inpaint_items": null,"interpolation": null,"sdedit": null,"remix_config": null,"moderation_result": null,"paragen_status": null,"cloudflare_metadata": null,"cf_thumbnail_url": null,"user": {"id": "user-Xk9mPqR2vLnW8jY4tZcA3bNe","username": "cybervisions"},"encodings": {"source": {"path": "https://videos.openai.com/az/vg-assets/.../src_0.webp?...","size": null,"width": null,"height": null,"duration_secs": 5.0,"ssim": null,"az_path": null,"codec": null},"source_c2pa": null,"md": { "path": "https://videos.openai.com/az/vg-assets/.../md_0.mp4?..." },"ld": { "path": "https://videos.openai.com/az/vg-assets/.../ld_0.mp4?..." },"thumbnail": {"path": "https://videos.openai.com/az/vg-assets/.../thumb_0.webp?...","size": null,"az_path": null},"link_thumbnail": null,"spritesheet": null,"gif": { "path": "https://videos.openai.com/az/vg-assets/.../gif_0.gif?..." },"mp3": null,"source_wm": null,"md_wm": null,"ld_wm": null,"thumbnail_wm": null,"link_thumbnail_wm": null,"spritesheet_wm": null,"gif_wm": null,"endcard_wm": null}}}
user_search_result
User search returns profile objects with follower counts and social info.
{"_type": "user_search_result","_query": "cameo","id": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","username": "cameoed","display_name": "Cameoed","bio": "Creating characters and stories with Sora","avatar_url": "https://lh3.googleusercontent.com/a/example...","header_image_url": null,"created_at": "2025-02-15T08:21:44.109321Z","updated_at": "2025-11-24T19:05:33.827410Z","follower_count": 1247,"following_count": 89,"post_count": 342,"is_verified": false,"is_deleted": false,"permalink": "https://sora.chatgpt.com/profile/cameoed","badge": null}
explore_feed
Explore feed items are flat generation objects (same fields as inside search_result.generation).
{"_type": "explore_feed","_feed_type": "latest","id": "gen_01kaw7xkmpfama5h0gsbn8ymq1","task_id": "task_01kaw7ppjbfdzvw1krt8wd65qx","created_at": "2025-11-25T00:53:39.939408Z","deleted_at": null,"url": "https://videos.openai.com/az/vg-assets/task_01kaw7pp.../src_0.png?...","seed": 137947391,"can_download": true,"download_status": "ready","is_favorite": false,"is_public": true,"is_archived": null,"is_featured": null,"featured_countries": [],"has_feedback": null,"like_count": 0,"dislike_count": 0,"num_direct_children": 0,"cloudflare_metadata": null,"cf_thumbnail_url": null,"width": 1024,"height": 1536,"n_frames": 1,"prompt": "A cozy coffee shop with warm lighting and a TV on the wall...","title": "Cozy Coffee Shop Ambiance","operation": "simple_compose","task_type": "image_gen","quality": "high","model": null,"preset_id": null,"style": null,"has_captions": false,"can_create_character": true,"actions": null,"inpaint_items": null,"interpolation": null,"sdedit": null,"remix_config": null,"moderation_result": null,"paragen_status": null,"user": {"id": "user-d2bWn4gBDeUEIVDPgZZZi0f3","username": "hannahrosekunkle"},"encodings": {"source": {"path": "https://videos.openai.com/az/vg-assets/.../img_0.webp?...","size": null,"width": null,"height": null,"duration_secs": null,"ssim": null,"az_path": null,"codec": null},"source_c2pa": null,"md": null,"ld": null,"thumbnail": {"path": "https://videos.openai.com/az/vg-assets/.../img_0_thumb.webp?...","size": null,"az_path": null},"link_thumbnail": null,"spritesheet": null,"gif": null,"mp3": null,"source_wm": null,"md_wm": null,"ld_wm": null,"thumbnail_wm": null,"link_thumbnail_wm": null,"spritesheet_wm": null,"gif_wm": null,"endcard_wm": null}}
profile
Full profile record returned when resolving a username.
{"_type": "profile","_username": "cameoed","id": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","user_id": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","username": "cameoed","display_name": "Cameoed","bio": "Creating characters and stories with Sora","avatar_url": "https://lh3.googleusercontent.com/a/example...","header_image_url": null,"created_at": "2025-02-15T08:21:44.109321Z","updated_at": "2025-11-24T19:05:33.827410Z","follower_count": 1247,"following_count": 89,"post_count": 342,"is_verified": false,"is_deleted": false,"permalink": "https://sora.chatgpt.com/profile/cameoed","badge": null}
profile_feed
Each feed item contains a post object with attachments and a profile object for the author.
{"_type": "profile_feed","_username": "cameoed","post": {"id": "post_01jw3kp7m2xr9vbn4g8c5dqf6h","shared_by": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","workspace_id": null,"posted_to_public": true,"post_locations": [],"posted_at": 1732492800.0,"updated_at": 1732492800.0,"like_count": 23,"dislike_count": 0,"recursive_reply_count": 5,"reply_count": 3,"view_count": 890,"unique_view_count": 412,"remix_count": 2,"source": "sora","story_type": null,"text": null,"caption": null,"cover_photo_url": null,"preview_image_url": "https://videos.openai.com/az/vg-assets/.../thumb.webp?...","attachments": [{"id": "att_01jw3kp7n4ys0wcp5h9d6erf7j","tags": [],"kind": "generation","generation_id": "gen_01jw3kp7m2xr9vbn4g8c5dqf6h","generation_type": "video_gen","url": "https://videos.openai.com/az/vg-assets/.../src_0.mp4?...","downloadable_url": null,"download_urls": {"watermark": "https://videos.openai.com/az/vg-assets/.../src_wm_0.mp4?...","no_watermark": "https://videos.openai.com/az/vg-assets/.../src_0.mp4?...","endcard_watermark": null},"width": 1920,"height": 1080,"duration_s": 10.0,"n_frames": 300,"prompt": "A character walking through a misty forest at dawn...","task_id": "task_01jw3kp0ab9edrz0w3mcgxty8","output_blocked": false,"title": "Forest Dawn","source": "sora","encodings": {"source": { "path": "https://videos.openai.com/az/vg-assets/.../src_0.webp?..." },"thumbnail": { "path": "https://videos.openai.com/az/vg-assets/.../thumb.webp?..." }},"asset_pointer": null,"conversation_id": null,"can_create_character": true,"style": null,"has_captions": false}],"repost_of_post_id": null,"repost_of_user_id": null,"original_poster": null,"parent_post_id": null,"root_post_id": null,"parent_path": null,"tombstoned_at": null,"permalink": "https://sora.chatgpt.com/p/post_01jw3kp7m2xr9vbn4g8c5dqf6h","share_ref": "shr_01jw3kp7m2xr9vbn4g8c5dqf6h","permissions": {"can_read": true,"can_write": false,"can_delete": false,"can_remix": true,"share_setting": "public"},"text_facets": [],"cameo_profiles": null,"disabled_cameo_user_ids": null,"rooms": [],"groups": [],"verifications": [],"verification_info": null,"remix_posts": null,"ancestors": null,"parent_post": null},"profile": {"id": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","username": "cameoed","display_name": "Cameoed","bio": "Creating characters and stories with Sora","avatar_url": "https://lh3.googleusercontent.com/a/example...","header_image_url": null,"created_at": "2025-02-15T08:21:44.109321Z","updated_at": "2025-11-24T19:05:33.827410Z","follower_count": 1247,"following_count": 89,"post_count": 342,"is_verified": false,"is_deleted": false,"permalink": "https://sora.chatgpt.com/profile/cameoed","badge": null}}
follower / following
Follower and following entries share the same profile structure.
{"_type": "follower","_username": "cameoed","id": "user-Yz1aBcDeFgHiJkLmNoPqRsTu","username": "soraartist42","display_name": "SoraArtist","bio": "AI video experiments","avatar_url": "https://lh3.googleusercontent.com/a/example...","header_image_url": null,"created_at": "2025-03-10T12:45:22.881204Z","updated_at": "2025-11-23T08:17:55.204718Z","follower_count": 312,"following_count": 145,"post_count": 87,"is_verified": false,"is_deleted": false,"permalink": "https://sora.chatgpt.com/profile/soraartist42","badge": null}
character
Characters (cameos) use the same {post, profile} structure as feed items. The post's attachments contain the character's reference images.
{"_type": "character","_username": "cameoed","post": {"id": "post_01jx8nr4k7wm2vcp3f9a0bqd5e","shared_by": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","workspace_id": null,"posted_to_public": true,"post_locations": [],"posted_at": 1732300000.0,"updated_at": 1732300000.0,"like_count": 8,"dislike_count": 0,"recursive_reply_count": 0,"reply_count": 0,"view_count": 156,"unique_view_count": 98,"remix_count": 0,"source": "sora","story_type": null,"text": null,"caption": "My detective character — noir style","cover_photo_url": null,"preview_image_url": "https://videos.openai.com/az/vg-assets/.../thumb.webp?...","attachments": [{"id": "att_01jx8nr4l8xn3wdq4g0b1cre6f","tags": [],"kind": "generation","generation_id": "gen_01jx8nr4k7wm2vcp3f9a0bqd5e","generation_type": "image_gen","url": "https://videos.openai.com/az/vg-assets/.../src_0.png?...","downloadable_url": null,"download_urls": {"watermark": null,"no_watermark": null,"endcard_watermark": null},"width": 1024,"height": 1024,"duration_s": null,"n_frames": 1,"prompt": "A noir detective in a dark trench coat, rain-soaked streets...","task_id": "task_01jx8np2cd7efrz0w3mcgxty8","output_blocked": false,"title": "Noir Detective","source": "sora","encodings": {"source": { "path": "https://videos.openai.com/az/vg-assets/.../img_0.webp?..." },"thumbnail": { "path": "https://videos.openai.com/az/vg-assets/.../thumb.webp?..." }},"asset_pointer": null,"conversation_id": null,"can_create_character": false,"style": null,"has_captions": false}],"repost_of_post_id": null,"repost_of_user_id": null,"original_poster": null,"parent_post_id": null,"root_post_id": null,"parent_path": null,"tombstoned_at": null,"permalink": "https://sora.chatgpt.com/p/post_01jx8nr4k7wm2vcp3f9a0bqd5e","share_ref": "shr_01jx8nr4k7wm2vcp3f9a0bqd5e","permissions": {"can_read": true,"can_write": false,"can_delete": false,"can_remix": true,"share_setting": "public"},"text_facets": [],"cameo_profiles": null,"disabled_cameo_user_ids": null,"rooms": [],"groups": [],"verifications": [],"verification_info": null,"remix_posts": null,"ancestors": null,"parent_post": null},"profile": {"id": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","username": "cameoed","display_name": "Cameoed","avatar_url": "https://lh3.googleusercontent.com/a/example...","follower_count": 1247,"following_count": 89,"post_count": 342,"is_verified": false,"permalink": "https://sora.chatgpt.com/profile/cameoed"}}
post_detail
Full post details including nested remix_posts, ancestors, and parent_post when available.
{"_type": "post_detail","_username": "cameoed","post": {"id": "post_01jw3kp7m2xr9vbn4g8c5dqf6h","shared_by": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","workspace_id": null,"posted_to_public": true,"post_locations": [],"posted_at": 1732492800.0,"updated_at": 1732492800.0,"like_count": 23,"dislike_count": 0,"recursive_reply_count": 5,"reply_count": 3,"view_count": 890,"unique_view_count": 412,"remix_count": 2,"source": "sora","story_type": null,"text": null,"caption": null,"cover_photo_url": null,"preview_image_url": "https://videos.openai.com/az/vg-assets/.../thumb.webp?...","attachments": [{"id": "att_01jw3kp7n4ys0wcp5h9d6erf7j","tags": [],"kind": "generation","generation_id": "gen_01jw3kp7m2xr9vbn4g8c5dqf6h","generation_type": "video_gen","url": "https://videos.openai.com/az/vg-assets/.../src_0.mp4?...","width": 1920,"height": 1080,"duration_s": 10.0,"n_frames": 300,"prompt": "A character walking through a misty forest at dawn...","title": "Forest Dawn"}],"permalink": "https://sora.chatgpt.com/p/post_01jw3kp7m2xr9vbn4g8c5dqf6h","share_ref": "shr_01jw3kp7m2xr9vbn4g8c5dqf6h","permissions": {"can_read": true,"can_write": false,"can_delete": false,"can_remix": true,"share_setting": "public"},"remix_posts": {"items": [{"post": { "id": "post_01jy9ms5l8xn3...", "like_count": 4 },"profile": { "username": "remixer99", "display_name": "Remixer" }}]},"ancestors": null,"parent_post": null}}
post_reply
Replies from a post's thread. Same {post, profile} structure as feed items.
{"_type": "post_reply","_username": "cameoed","post": {"id": "post_01jw4lr8n3yt0xdq5i0c2esf7k","shared_by": "user-Ab3CdEfGhIjKlMnOpQrStUv","posted_to_public": true,"posted_at": 1732496400.0,"updated_at": 1732496400.0,"like_count": 2,"dislike_count": 0,"reply_count": 0,"view_count": 45,"unique_view_count": 32,"remix_count": 0,"source": "sora","text": null,"caption": "Love the lighting in this one!","attachments": [{"id": "att_01jw4lr8o4zu1yer6j1d3ftg8l","kind": "generation","generation_id": "gen_01jw4lr8n3yt0xdq5i0c2esf7k","generation_type": "video_gen","url": "https://videos.openai.com/az/vg-assets/.../src_0.mp4?...","width": 1920,"height": 1080,"prompt": "Same forest scene but with golden hour lighting...","title": "Forest Golden Hour"}],"parent_post_id": "post_01jw3kp7m2xr9vbn4g8c5dqf6h","root_post_id": "post_01jw3kp7m2xr9vbn4g8c5dqf6h","permalink": "https://sora.chatgpt.com/p/post_01jw4lr8n3yt0xdq5i0c2esf7k"},"profile": {"id": "user-Ab3CdEfGhIjKlMnOpQrStUv","username": "forestfan","display_name": "ForestFan","avatar_url": "https://lh3.googleusercontent.com/a/example...","follower_count": 56,"following_count": 203,"post_count": 14,"is_verified": false,"permalink": "https://sora.chatgpt.com/profile/forestfan"}}
remix
Remixes of a post. Same {post, profile} structure — the repost_of_post_id links back to the original.
{"_type": "remix","_username": "cameoed","post": {"id": "post_01jy9ms5l8xn3wer6j1d3ftg8l","shared_by": "user-Wx5YzAbCdEfGhIjKlMnOpQr","posted_to_public": true,"posted_at": 1732580000.0,"updated_at": 1732580000.0,"like_count": 4,"dislike_count": 0,"reply_count": 1,"view_count": 120,"unique_view_count": 78,"remix_count": 0,"source": "sora","text": null,"caption": null,"attachments": [{"id": "att_01jy9ms5m9yo4xfs7k2e4guh9m","kind": "generation","generation_id": "gen_01jy9ms5l8xn3wer6j1d3ftg8l","generation_type": "video_gen","url": "https://videos.openai.com/az/vg-assets/.../src_0.mp4?...","width": 1920,"height": 1080,"duration_s": 10.0,"prompt": "Same misty forest but with a wolf appearing from the fog...","title": "Forest Wolf"}],"repost_of_post_id": "post_01jw3kp7m2xr9vbn4g8c5dqf6h","repost_of_user_id": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","original_poster": {"id": "user-Hj4kLm2nPqRs8tUvWxYz1aBc","username": "cameoed"},"parent_post_id": null,"root_post_id": null,"permalink": "https://sora.chatgpt.com/p/post_01jy9ms5l8xn3wer6j1d3ftg8l"},"profile": {"id": "user-Wx5YzAbCdEfGhIjKlMnOpQr","username": "remixer99","display_name": "Remixer","avatar_url": "https://lh3.googleusercontent.com/a/example...","follower_count": 89,"following_count": 312,"post_count": 45,"is_verified": false,"permalink": "https://sora.chatgpt.com/profile/remixer99"}}
Pricing (Pay Per Event)
| Event | Price | Description |
|---|---|---|
| Actor start | $0.01 | Per run |
| Profile scraped | $0.005 | Per profile resolved |
| Post scraped | $0.001 | Each search result, feed item, post detail, reply, remix, or character |
| Follower scraped | $0.0002 | Each follower or following entry |
Cost Examples
| Scenario | Breakdown | Total |
|---|---|---|
| Search 100 videos | $0.01 start + 100 x $0.001 | $0.11 |
| Explore feed (500 items) | $0.01 + 500 x $0.001 | $0.51 |
| 1 profile + feed (200 posts) | $0.01 + $0.005 + 200 x $0.001 | $0.215 |
| 1 profile + 1000 followers | $0.01 + $0.005 + 1000 x $0.0002 | $0.215 |
| Full profile (feed + followers + following + details) | $0.01 + $0.005 + 200 x $0.001 + 500 x $0.0002 + 100 x $0.0002 + 200 x $0.001 | $0.535 |
API Integration
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("zen-studio/sora-ai-v2-scraper-pro").call(run_input={"profiles": ["cameoed"],"scrapeProfileFeed": True,"scrapeFollowers": True,"maxResults": 500})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"[{item['_type']}] {item.get('id', item.get('username', ''))}")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('zen-studio/sora-ai-v2-scraper-pro').call({profiles: ['cameoed'],scrapeProfileFeed: true,scrapeFollowers: true,maxResults: 500});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(`[${item._type}]`, item.id || item.username));
Advanced Usage
Combine search with profile scraping
{"searchQuery": "nature timelapse","profiles": ["cameoed"],"scrapeProfileFeed": true,"maxResults": 200}
Scrape multiple profiles with full data
{"profiles": ["cameoed", "annavision", "sora_user"],"scrapeProfileFeed": true,"scrapeFollowers": true,"scrapeFollowing": true,"scrapePostDetails": true,"scrapeRemixes": true,"maxResults": 5000}
Browse top weekly content
{"exploreFeed": true,"exploreFeedType": "top_7d","maxResults": 1000}
FAQ
Max results? Up to 100,000 items per endpoint via maxResults.
Do I need a profile to scrape? No. Video search, user search, and explore feed work standalone.
Latest vs Top 7d? Latest = chronological. Top 7 Days = highest engagement from the past week.
Feed vs post details? Feed gives post summaries. Post details adds full metadata + fetches the reply tree.
Characters? Custom AI personas (cameos) — reusable character definitions for video generation.
Budget limits? Set a max charge in run config. The Actor stops gracefully when reached.
Real-time? Yes, every run fetches live data.
Export formats? JSON, CSV, Excel — all available from the dataset tab or via API.
Disclaimer
Data is collected from publicly available sources and provided "as is" for informational purposes. Users are responsible for compliance with ChatGPT's terms of service and applicable regulations in their jurisdiction.