9GAG Media Downloader
Pricing
Pay per usage
9GAG Media Downloader
Extract and download high-quality images and videos from 9GAG posts. Supports hot, trending, fresh feeds and search. Provides detailed metadata including upvotes, comments, tags, and media URLs.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
codingfrontend
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Extract posts, images, and videos from 9GAG with comprehensive metadata. Perfect for content creators, researchers, trend analysts, and social media managers.
Features
- π₯ Scrape Hot, Trending, Fresh feeds or Search results
- π·οΈ Filter by 9GAG tags (anime, funny, gaming, etc.)
- πΈ Extracts high-quality image URLs (image700 and original resolution)
- π¬ Extracts video URLs including HD versions
- π Collects engagement metrics: upvotes, downvotes, comments
- βΎοΈ Infinite scroll support β automatically loads more content
- π Supports custom start URLs for specific posts or sections
Data Extracted
| Field | Description |
|---|---|
postId | Unique 9GAG post ID |
url | Direct link to the post |
title | Post title |
mediaType | photo or video |
imageUrl | High-quality image URL (700px wide) |
thumbnailUrl | Thumbnail / cover image URL |
videoUrl | SD video MP4 URL |
videoHdUrl | HD video MP4 URL |
imageWidth / imageHeight | Image dimensions in pixels |
videoDuration | Video duration in seconds |
hasAudio | Whether video has audio |
upvotes | Number of upvotes |
downvotes | Number of downvotes |
commentsCount | Number of comments |
tags | Array of post tags |
section | Which feed the post came from |
isNsfw | Whether post is marked NSFW |
createdTs | Post creation Unix timestamp |
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
section | string | "hot" | Feed: hot, trending, fresh, or search |
query | string | - | Search query (required when section = search) |
tags | array | [] | Filter by tag names |
startUrls | array | [] | Custom start URLs (overrides section/query) |
maxItems | integer | 50 | Max posts to extract (1β1000) |
proxyConfiguration | object | - | Proxy settings |
Example Inputs
Scrape Hot Feed
{"section": "hot","maxItems": 100}
Search for Posts
{"section": "search","query": "funny cats","maxItems": 50}
Scrape by Tag
{"tags": ["anime", "gaming"],"maxItems": 200}
Dataset Views
- Posts Overview β Post IDs, titles, media types, engagement metrics
- Media Download Links β All image/video URLs for batch downloading
- Top Posts by Upvotes β Sorted by popularity for trend analysis
How It Works
- Opens 9GAG in a real Chrome browser with fingerprint injection to avoid detection
- Handles cookie consent β dismisses SourcePoint GDPR popup if present
- Calls 9GAG's internal API directly using
fetch()within the browser context, inheriting the session cookies - Paginates using 9GAG's
nextCursorfield which provides exact pagination tokens - Normalizes all post data into a consistent schema
The scraper does not rely on DOM scraping β it uses 9GAG's undocumented REST API (/v1/group-posts), which returns structured JSON with full image/video URLs. This makes it fast, reliable, and independent of HTML changes.
Anti-Bot Notes
9GAG uses SourcePoint for GDPR cookie consent management. The scraper automatically handles this by trying to accept the consent popup before making API calls. No Cloudflare protection is present on 9GAG β the real Chrome browser with fingerprinting is sufficient.
Limitations
maxItemsper run is bounded by 9GAG's API rate limits- NSFW content requires an authenticated 9GAG account (login) β not supported
- Video HD URLs (
videoHdUrl) may not be available for all videos depending on the original upload quality