Redgifs Video Scraper avatar

Redgifs Video Scraper

Pricing

from $0.85 / 1,000 video results

Go to Apify Store
Redgifs Video Scraper

Redgifs Video Scraper

Scrapes public video data from redgifs.com searches, niches, profiles and video pages: creator, tags, views, likes, date, duration, size, audio flag, poster and thumbnail and the direct .mp4 video file URLs. Or just the video page and file URLs.

Pricing

from $0.85 / 1,000 video results

Rating

0.0

(0)

Developer

DataWatcher

DataWatcher

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Scrape RedGIFs videos from redgifs.com by keyword search, niche, account or post URL, and get clean data as JSON, CSV or Excel, or through the API. Every video row has the direct link to the video file (.mp4): open it to play the video, or save it to download it. You also get the creator, the creator's OnlyFans link, tags, views, likes, date, duration, size, audio flag, poster and thumbnail. No login, no browser.

  • Direct video links: videoFileUrl (full quality) and previewVideoUrl (smaller copy).
  • Image posts are kept as rows with mediaType image and the full-size picture in imageUrl.
  • Searches, niches and accounts are read page by page until your maxResults or another cap in the input is reached.

The actor reads public data and returns the links to the files.

Want the files saved, named creatorname_video-id.mp4? Use RedGIFs Video Downloader (it charges per saved file).

⭐ Why this one

1️⃣ One schema across video sites. All our video actors share one output schema and one input schema. Build your pipeline once: our other video actors (Erome Video Scraper, XFree Video Scraper, Erome Video Downloader, RedGIFs Video Downloader, XFree Video Downloader) take the same input and return the same fields, so adding a site means changing the actor name, not your code.

  • Low price, no start fee. $1.00 per 1,000 videos; the median RedGIFs scraper charges $9.50, and 3 of 5 add a start fee. You pay only for rows you get.
  • Every input a RedGIFs buyer needs. Keyword searches, niches, accounts and post URLs, alone or mixed in one run, with one row per post.
  • A direct video link on every row. videoFileUrl (full quality) and previewVideoUrl come with the data, so you can play or download the file at no extra request.
  • Links-only mode. Turn on onlyVideoUrls for rows with just the post page and the two links: the fastest run, at the same price per post.
  • Honest runs. A run summary with a list of failed inputs, and a health status (ok, degraded or failed) with the reason.
  • Creator data included. Username, display name, profile link and OnlyFans link on every row, plus account data once per account.

🔎 What it extracts

One row per unique post. The page types it reads:

Page typeExample URLInput to use
Searchhttps://www.redgifs.com/search/gifs?query=amateur&order=scoresearchQueries or startUrls
Accounthttps://www.redgifs.com/users/creatornameusernames or startUrls
Nichehttps://www.redgifs.com/niches/just-boobstags or startUrls
Post pagehttps://www.redgifs.com/watch/examplepostidvideoUrls or startUrls
  • Niche names are the slug of the niche URL (just-boobs).
  • Search filter: all (default) or post. A search returns at most 10,000 results (a limit of the site).
  • An order in a search, account or niche URL is used as given when the site accepts it.
  • Account data (followers, total posts, bio and more) is saved once per account in the run stats (accountProfiles).

🚀 How to scrape RedGIFs videos

  1. Open the actor on Apify and click Try for free.
  2. Fill in a search, niches or accounts, or paste redgifs.com URLs into startUrls or videoUrls.
  3. Click Start.
  4. Download the RedGIFs video data as JSON, CSV or Excel from the Output tab, or fetch it with the Apify API.

Example inputs:

{ "searchQueries": [{ "query": "amateur", "filter": "all" }], "maxResults": 50 }
{ "tags": ["just-boobs"], "tagSort": "latest", "maxResults": 100 }

🤖 Use with AI agents (MCP)

AI assistants (Claude, ChatGPT, Cursor…) can run this actor through Apify's MCP server. Connect the server in your assistant, then ask, for example:

Use the RedGIFs Video Scraper to get the 20 newest videos of the niche just-boobs with their direct .mp4 links.

🔌 Run it your way

  • Schedule it with Apify schedules.
  • Call it from the Apify API and its clients (Python, JavaScript).
  • Connect it to Make, n8n, Zapier, webhooks or Google Sheets.
  • Ask an AI agent to run it: see Use with AI agents (MCP).

🔀 Mixing inputs and duplicates

You can use all five source inputs in one run: startUrls, searchQueries, usernames, tags, videoUrls.

RuleWhat happens
One row per postMatched by id over the whole run: a post found by a search and by its account is written once.
First input keptsourceType and sourceUrl keep the first input that found it.
Same input twiceRead once.
maxResultsOne cap for the run, split fairly over the inputs still to read.
Input checkEvery input is checked: valid ones run, others get a clear message.

videoFileUrl is the direct link to the video file, e.g. https://media.redgifs.com/ExamplePostId.mp4. Open it in a browser to play the video, or save it to download it.

previewVideoUrl is the smaller copy, e.g. https://media.redgifs.com/ExamplePostId-mobile.mp4.

  • The links come with every row at no extra request.
  • url is the post's page on redgifs.com, not the file.
  • Image posts have no video link: their videoFileUrl, previewVideoUrl and durationSeconds are null and imageUrl holds the picture.

With onlyVideoUrls set to true, each row has only the post page and the two direct video links. It is the fastest run. The price per post is the same as for a full row. Image posts have no video links: their links-only row has empty video links and an extra imageUrl.

⚙️ Input

InputTypeDefaultRangeMeaning
startUrlslist of URLsnoneredgifs.com URLsSearch, account, niche or post URLs. The kind is found from the URL.
searchQuerieslistnone–Items {"query": "...", "filter": "all" | "post"}. A plain text line means {"query": text, "filter": "all"}.
usernameslist of textnone–Account names, with or without @, or account URLs. Every post of each account.
tagslist of textnone–Niche slugs (e.g. just-boobs), or niche page URLs.
tagSorttextempty (default order)latest or popularOrder of searches, accounts and niches.
videoUrlslist of URLsnone–Post page URLs. One row per post.
onlyVideoUrlsyes/nofalse–Rows are only url, videoFileUrl, previewVideoUrl.
maxResultsinteger1001 to 1,000Maximum posts returned over all inputs.
maxRequestsinteger2001 to 1,000Maximum requests of the run (list pages and posts).
maxPagesPerSourceinteger1001 to 100Maximum list pages for one search, account or niche (100 posts per page).
maxScrollsPerPageinteger1001 to 100Not used on this site (pages are numbered).
maxRequestRetriesinteger20 to 5Retries after a network error or a server error.
requestTimeoutSecsinteger305 to 120Time limit of one request, in seconds.

Use at least one of startUrls, searchQueries, usernames, tags or videoUrls. When a cap ends the run, stopReason says which (see Run stats).

📦 Output: RedGIFs video data

Every full row has all of these fields. A missing text, number or object is null. A missing list is [].

FieldTypeMeaning
recordType, schemaVersion, sourcetextAlways video; the output schema version; the site (redgifs).
idtextThe site's id of the post.
urltextThe post's page on redgifs.com (not the file).
mediaTypetextvideo or image.
imageUrltext or nullDirect link to the full-size image when mediaType is image; empty for videos.
sourceTypetextsearch, profile, tag or direct_video.
sourceUrltextThe input that first found the post.
titletext or nullAlways null: the site gives no title.
creatorobject or nullusername, displayName, profileUrl, onlyfansUrl of the account that posted it.
taggedAccountslistAlways []: the site has no tagged accounts.
viewsinteger or nullViews as a number at run time.
likesinteger or nullLikes.
durationSecondsnumber or nullLength in seconds; null for images.
width, heightinteger or nullSize in pixels.
hasAudioyes/no or nullWhether the video has sound; null for images.
thumbnailUrltext or nullSmall preview image URL.
posterUrltext or nullLarger preview image URL.
tagslistTags in the site's order, no repeats.
videoFileUrltext or nullDirect link to the video file (.mp4, full quality). null for images.
previewVideoUrltext or nullDirect link to the smaller .mp4 copy. null for images.
datesobjectposted (when the post was published) and scraped (when the row was made), ISO 8601 UTC.

Example: a full row

{
"recordType": "video",
"schemaVersion": "4.4.0",
"source": "redgifs",
"id": "examplepostid",
"url": "https://www.redgifs.com/watch/examplepostid",
"mediaType": "video",
"sourceType": "search",
"sourceUrl": "https://www.redgifs.com/search/gifs?query=amateur",
"title": null,
"creator": { "username": "creatorname", "displayName": "Example Creator", "profileUrl": "https://www.redgifs.com/users/creatorname", "onlyfansUrl": "https://onlyfans.com/creatorname" },
"taggedAccounts": [],
"views": 12345,
"likes": 123,
"durationSeconds": 22.8,
"width": 1080,
"height": 1920,
"hasAudio": true,
"thumbnailUrl": "https://media.redgifs.com/ExamplePostId-mobile.jpg",
"posterUrl": "https://media.redgifs.com/ExamplePostId-poster.jpg",
"tags": ["Amateur", "Solo"],
"videoFileUrl": "https://media.redgifs.com/ExamplePostId.mp4",
"previewVideoUrl": "https://media.redgifs.com/ExamplePostId-mobile.mp4",
"imageUrl": null,
"dates": { "posted": "2025-01-01T12:00:00Z", "scraped": "2025-01-02T12:00:00Z" }
}
{
"url": "https://www.redgifs.com/watch/examplepostid",
"videoFileUrl": "https://media.redgifs.com/ExamplePostId.mp4",
"previewVideoUrl": "https://media.redgifs.com/ExamplePostId-mobile.mp4"
}

📊 Run stats

Each run saves two records in the key-value store. OUTPUT:

KeyMeaning
statussuccess, partial (some inputs failed, rows kept) or failed.
sourcesProcessedInputs read.
listingPagesVisitedList pages read.
videoCardsFoundPosts seen, before dedupe.
uniqueVideosEmittedRows written.
duplicatesSkippedPosts already written.
mediaUrlsFound, mediaUrlsMissingRows with / without a videoFileUrl (images count as missing).
requestsUsedRequests made.
stoppedEarlytrue when a cap ended the run.
stopReasonThe cap: maxResults, maxRequests, maxPagesPerSource or chargeLimit; else null.
sourceErrorsList of inputs that failed, with the message.
sourcesOne entry per input: type, URL, status, pages, videos.
accountProfilesThe account data, once per account read.
chargedEventsHow many times each billing event was charged.

RUN_HEALTH: {"status": "ok" | "degraded" | "failed", "reason": ...}. reason says why a run is not ok.

💰 Pricing

Pay per event. There is no start fee. Free plan: each run returns up to 1,000 videos; upgrade your Apify plan for more.

EventPriceWhen it is charged
video-scraped$0.0010 ($1.00 per 1,000)Each unique post row written, with its direct links. Links-only rows too.
  • 1,000 videos, each with its direct .mp4 link: $1.00.
  • Duplicate posts are free. The links are included in the price.

🎯 Use cases

  • Build a list of direct .mp4 links for a niche, keyword or creator and hand it to your own player or downloader.
  • Track a creator's new posts on a schedule, with views and likes.
  • Find creators and their OnlyFans links in a niche.
  • Research which tags and niches get the most views and likes.
  • Run the same pipeline over several video sites, since they share one schema.

❓ FAQ

How do I export RedGIFs videos to Excel or CSV?

Run the actor, open the Output tab and pick Excel or CSV in the export options. JSON, XML and HTML are there too, and the Apify API returns the same data.

Every video row has videoFileUrl (full quality) and previewVideoUrl. Turn on onlyVideoUrls for rows with only the links, the fastest run.

Can I get RedGIFs data through an API?

Yes. Call the actor from the Apify API or its clients (Python, JavaScript), then read the rows from the run's dataset.

How much does it cost?

$1.00 per 1,000 videos with their direct links, no start fee. Duplicate posts are free.

Can I combine it with other video sites?

Yes. All our video actors share one output schema and one input schema, so rows from different sites fit one table. See the list below.

Data notice

This actor returns only what the site shows publicly at run time. We don't store or keep that data and are not its controller — you decide how you use it.

🔗 Other video scrapers (same schema)

RedGIFs (this site)

Erome

XFree

💬 Feedback and custom work

Need another portal, a field or a custom feed? Open an issue on the Issues tab.