# All Short Videos Scraper (`agentx/all-short-videos-scraper`) Actor

All Short Videos Scraper is a short video search scraper that turns one keyword into canonical public video links from two independent short-video search indexes, deduplicated into one 12-field Dataset contract with titles, thumbnails, sources, creators, durations, view text and recency text.

- **URL**: https://apify.com/agentx/all-short-videos-scraper.md
- **Developed by:** [AgentX](https://apify.com/agentx) (community)
- **Categories:** Videos, Social media, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.76 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

**All Short Videos Scraper is a short video search scraper that turns one keyword into canonical public video links and returns titles, thumbnails, sources, creators, durations, and the display metrics each result card carries.** It reads two independent short-video search indexes in one run, removes duplicate canonical URLs across both, and publishes one Dataset row per distinct video destination.

[![Apify Users](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-short-videos-scraper\&query=%24.data.stats.totalUsers\&style=for-the-badge\&label=Apify%20Users\&color=ff9013)](https://apify.com/agentx/all-short-videos-scraper) [![Apify Runs](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-short-videos-scraper\&query=%24.data.stats.totalRuns\&style=for-the-badge\&label=Apify%20Runs\&color=ff9013)](https://apify.com/agentx/all-short-videos-scraper) [![$0.00634 per result](https://img.shields.io/badge/%240.00634%20%2F%20result-4285f4?style=for-the-badge)](https://apify.com/agentx/all-short-videos-scraper/pricing) [![Two search indexes](https://img.shields.io/badge/Two%20search%20indexes-34a853?style=for-the-badge)](https://console.apify.com/actors/agentx~all-short-videos-scraper/input) [![API + MCP ready](https://img.shields.io/badge/API%20%2B%20MCP%20ready-fbbc05?style=for-the-badge)](https://apify.com/agentx/all-short-videos-scraper/api)

- **Two independent short-video indexes in one run:** results from both are merged and deduplicated by canonical URL before anything is saved.
- **Twelve fields on every row:** each saved item carries the same 12 keys, including which index found it and its rank there, with unavailable card values left as `null`.
- **Direct public destinations:** every row carries the final public video page URL, not a search-result redirect.
- **Returned-row billing:** one Result event is charged when a row is saved to the default Dataset, and only then.

The smallest useful run asks each index for one video and costs at most $0.02268 on the FREE tier: $0.01 for Actor Start plus $0.00634 for each of up to two Results.

### Why Choose All Short Videos Scraper

- **Short-video surfaces only** keeps ordinary web listings, article results, and page links out of the Dataset, so a row is always a playable public video destination rather than a page that mentions one.
- **Two indexes, each with the full budget** widens coverage: `max_results` is what each index may return, the second index contributes destinations the first never surfaced, and a link both return is saved and charged once because it is one row.
- **Canonical URL deduplication** normalizes each destination before comparison, so the same video reached through a different result card, page, or parameter set does not publish twice.
- **Card-level context preserved** returns the displayed title, thumbnail, creator, duration, source label, view text, and publication text whenever the result card carries them, and leaves `null` where the card shows no value.
- **One stable export shape** keeps the same 12 keys on every item across every keyword and every run, which is what makes run-to-run joins and diffs possible without a normalization step.

Use this Actor for public short-video discovery: every row is a public destination link together with the metadata its result card displayed — title, thumbnail, creator, duration, source label, view text and publication text — drawn from what the two indexes currently rank for the keyword. Media files, transcripts and per-platform engagement counts are the job of the platform-specific Actors listed under Related.

### Quick Start Guide

#### 1. Configure

The Input tab arrives prefilled with the keyword `cooking` and `max_results: 1` — a scenario that returns one video from each index and proves the Actor runs for about two cents. Replace `keyword` with your own topic, phrase, creator name, or public video identifier, raise `max_results` to the number of video links you want from each index, and leave `platforms` empty to search both indexes or pick the one you want.

#### 2. Run

Click **Start**. The Actor works through every selected index page by page until each has supplied `max_results` distinct canonical URLs or runs out of links the run has not already seen. A run that searches both indexes can therefore return up to twice `max_results`; a single-index run returns up to `max_results`.

#### 3. Collect

Open the default Dataset to review the saved links and card metadata. Export as JSON, CSV, Excel, XML, RSS, or any other format the Apify Dataset export supports, or read the rows through the Dataset API.

### Input Parameters

The Actor takes three inputs: a required search value, an optional index selection, and a required result limit.

| Parameter | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `keyword` | string | Yes | One topic, phrase, creator name, or public video identifier to search, 1 to 200 characters. Surrounding whitespace is trimmed; empty and multi-line values are rejected. | `cooking` |
| `platforms` | array of strings | No | Which search indexes to query: `google`, `bing`, or both. An empty or omitted array searches both. | `["bing"]` |
| `max_results` | integer | Yes | Maximum number of unique video links to save from *each* selected index, so a run that searches both returns up to twice this. Minimum 1, no maximum. | `25` |

```json
{
  "keyword": "cooking",
  "max_results": 25
}
```

The delivered count is source-dependent and never exceeds twice `max_results` on a two-index run. A narrow public identifier can return a single row, while a broad topic keeps producing new destinations until each selected index has supplied the requested number or runs out of links the run has not already saved. Setting `platforms` to `["google"]` or `["bing"]` gives that one index the whole budget, so the run returns up to `max_results` rows from it. A full run at `max_results: 100` across both indexes typically finishes in two to four minutes.

### Output Data Schema

Each Dataset row is one distinct public video destination, described by the same 12 fields on every run: `search_engine`, `search_index`, `source`, `title`, `url`, `thumbnail_url`, `duration`, `channel_name`, `views_text`, `published_text`, `processor`, and `processed_at`.

| Field | Type | Description |
| --- | --- | --- |
| `search_engine` | string or null | Which search engine returned the card: `Bing` or `Google`. |
| `search_index` | integer or null | The card's rank in the sequence its engine returned, starting at 1 per engine. Numbers can skip where the other engine returned the same video first. |
| `source` | string or null | Video website or publisher platform the card credits, such as `YouTube` or `TikTok`. |
| `title` | string or null | Video title displayed on the result card. |
| `url` | string or null | Canonical public video page URL. |
| `thumbnail_url` | string or null | Thumbnail image URL supplied with the card. |
| `duration` | string or null | Displayed duration text, such as `0:39`. |
| `channel_name` | string or null | Displayed creator, channel, or publisher name. |
| `views_text` | string or null | Rounded view-count text when the card carries one. |
| `published_text` | string or null | Relative publication text when the card carries one. |
| `processor` | string or null | Store URL of the Actor that produced the row. |
| `processed_at` | string or null | UTC timestamp for when the row was produced. |

The item below is one real row from a `cooking` run; every other row has exactly this shape.

```json
{
  "search_engine": "Bing",
  "search_index": 1,
  "source": "YouTube",
  "title": "Healthy Full Meals Lunch #food #foodie #cookingchannel #cookingvideo #chanduaduge #recipe #cooking",
  "url": "https://www.youtube.com/watch?v=yFRQPhQswMI",
  "thumbnail_url": "https://th.bing.com/th/id/OVP.I0kgEY-wfHbAHhFBeCwfigEkII?w=262&h=354&c=8&rs=1",
  "duration": "0:34",
  "channel_name": "Chandu Aduge",
  "views_text": "284.7K views",
  "published_text": "1 month ago",
  "processor": "https://apify.com/agentx/all-short-videos-scraper",
  "processed_at": "2026-09-05T03:37:19+00:00"
}
```

Values a result card does not display stay `null`; the Actor never infers a missing view count, date, or thumbnail. The `processor` value carries a publisher referral parameter in real output, which is left off the sample above. The same rows are available through the Dataset API and every standard Apify export format.

### Integration Examples

Call the Actor as `agentx/all-short-videos-scraper` from API clients, automation platforms, and MCP-compatible agents.

#### Actor ID

```text
hlelyaj9OFhqrCqfG
```

The name form `agentx/all-short-videos-scraper` (or `agentx~all-short-videos-scraper` inside a URL path) is accepted everywhere the ID is.

#### HTTP

Start the run, poll it to completion, then read the Dataset. The start call returns `data.id` and `data.defaultDatasetId` immediately.

```bash
## 1. start the run
curl -X POST "https://api.apify.com/v2/acts/agentx~all-short-videos-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"cooking","max_results":25}'

## 2. poll until "status" is "SUCCEEDED" (or register an ACTOR.RUN.SUCCEEDED webhook instead)
curl "https://api.apify.com/v2/actor-runs/RUN_ID?token=$APIFY_TOKEN"

## 3. read the rows
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=$APIFY_TOKEN"
```

Replace `RUN_ID` with the `data.id` value from step 1 and `DATASET_ID` with its `data.defaultDatasetId`. A `run-sync-get-dataset-items` call is usable only as a quick manual test with a very small `max_results`: Apify closes a synchronous connection after 300 seconds **without aborting the run**, a client-side timeout never stops a run that is already billing, and every client or gateway retry starts another billed run.

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("agentx/all-short-videos-scraper").start(
    run_input={"keyword": "cooking", "max_results": 25}
)
client.run(run["id"]).wait_for_finish()
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
```

#### JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('agentx/all-short-videos-scraper').start({
  keyword: 'cooking',
  max_results: 25,
});
await client.run(run.id).waitForFinish();
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

#### Make.com

Add the Apify **Run an Actor** module, enter the Actor ID `hlelyaj9OFhqrCqfG`, and paste `{"keyword":"cooking","max_results":25}` as the input. Follow it with **Get Dataset Items** using the run's `defaultDatasetId`.

#### n8n

Send `{"keyword":"cooking","max_results":25}` to `POST /v2/acts/hlelyaj9OFhqrCqfG/runs` with an HTTP Request node, wait for the `ACTOR.RUN.SUCCEEDED` webhook or poll `GET /v2/actor-runs/{runId}`, then request `GET /v2/datasets/{defaultDatasetId}/items` in a second node.

#### MCP

Expose the Actor through Apify's MCP integration, select `agentx/all-short-videos-scraper`, and pass `keyword` and `max_results` — plus `platforms` when one index is wanted — as the tool arguments, the same object the HTTP example sends.

### Pricing

Each saved row costs $0.00634 on the FREE tier and each run adds one $0.01 Actor Start, so the smallest useful run — `max_results: 1`, one video from each index — totals at most $0.02268.

| Event or tier | Price | Billing unit |
| --- | ---: | --- |
| Actor Start | $0.01 | Once per run; Apify counts one start event per allocated GB, minimum one |
| Result — FREE | $0.00634 | Per row saved to the default Dataset |
| Result — BRONZE | $0.00571 | Per row saved to the default Dataset |
| Result — SILVER | $0.00507 | Per row saved to the default Dataset |
| Result — GOLD | $0.00476 | Per row saved to the default Dataset |
| Result — PLATINUM | $0.00476 | Per row saved to the default Dataset |
| Result — DIAMOND | $0.00476 | Per row saved to the default Dataset |

The Actor runs at 512 MB, so Actor Start is charged once per run at $0.01 — Apify counts one start event per GB with a minimum of one. `max_results` is per index, so a run bills the rows both indexes actually return: the `max_results: 25` scenario used throughout this page costs up to $0.327 on FREE — `$0.01 + (50 × $0.00634)` when both indexes fill their budget, which a broad keyword usually does — and about $0.1685 on a narrow one where only the first index has that many. A run that saves 100 rows costs $0.644, and a single-index run (`platforms: ["bing"]` or `["google"]`) bills at most `max_results` rows plus the start. Because a run pays Actor Start once regardless of how many rows it saves, collecting many links in one larger run is cheaper than splitting the same links across many small runs. Delivered totals vary by keyword and by what each index currently holds, and [current prices can change](https://apify.com/agentx/all-short-videos-scraper/pricing).

### Use Cases

- **Creative research:** search a campaign theme, then compare `title`, `thumbnail_url`, `source`, and `duration` across the returned destinations to see which formats the topic is actually being told in.
- **Trend monitoring:** schedule the same keyword on a fixed cadence, store `url` and `processed_at`, and diff the canonical link sets between runs to see what entered and what dropped out.
- **Creator discovery:** search a brand, product, or niche phrase and group the rows by `channel_name` and `source` to build a shortlist of accounts publishing on that topic.
- **Content-gap analysis:** compare `views_text` and `published_text` across a keyword set to find topics where recent short videos are outperforming older ones.
- **Editorial sourcing:** export links, titles, and thumbnails into a review queue so an editor can pick which public videos to cite or embed before anything is published.
- **Pipeline seeding:** feed the `url` column into a platform-specific Actor when the workflow also needs transcripts, comments, engagement counts, or downloadable media.

### Alternatives

Typing the keyword into a search box by hand is the right choice for a single interactive lookup where you want to watch the results and do not need a file afterwards. It stops working as soon as you need pagination, a structured export, deduplicated canonical URLs, or the same query repeated on a schedule and compared.

The destination platforms publish their own official documentation for the format this Actor discovers — [YouTube's Shorts help page](https://support.google.com/youtube/answer/10059070) describes what qualifies as a short vertical video — and each platform's own in-app search is better when you already know which platform you care about and want that platform's native filters, engagement counts, and account context. This Actor answers the earlier question: which public short videos exist on a topic, across platforms, in one exportable list.

A general web-search scraper fits better when the job also needs ordinary web listings, ads, sitelinks, and broad result-page features rather than short-video surfaces alone. A single-platform short-video tool fits better when the work requires one platform's channel, country, hashtag, or engagement data; this Actor's rows carry what the cross-platform search card displays, which is the discovery layer those tools start from.

### Limits and Troubleshooting

- **No rows returned →** the keyword may have no visible short-video matches, or an index may be temporarily unavailable. A keyword with genuinely no matches finishes as a successful run with an empty Dataset; a run where a selected index failed and nothing was saved finishes with a failed status, so a Schedule or webhook can retry it. Retry with a broader public phrase; a very narrow identifier legitimately returns nothing.
- **Fewer rows than `max_results` →** delivered volume is capped by what the indexes currently hold for that keyword. Each selected index is walked page by page until it fills its own budget or runs out of new links, so the delivered count is whatever the indexes rank for that phrase.
- **Different totals between runs →** search indexes, ranking, and video availability change continuously. Use `url` as the stable comparison key and keep `processed_at` so run-to-run differences stay interpretable.
- **Empty `views_text` or `published_text` →** those are card display values, not computed metrics, and `Bing` rows carry them far more often than `Google` ones. Treat `null` as "the card did not show it", never as zero.
- **Empty `thumbnail_url` on some rows →** `Bing` rows carry a thumbnail and `Google` rows usually do not. Filter on `search_engine` when your workflow needs the image. The `url` value is always present on a saved row even when the thumbnail is not.
- **Videos that look duplicated →** exact canonical destinations are deduplicated, but a repost and an original upload are different public URLs and stay separate rows.
- **A destination that no longer opens →** search results can outlive a removed, private, region-limited, or renamed video page. Re-run the keyword and validate important links before publishing them.

For a reproducible failure, open an [Actor Issue](https://apify.com/agentx/all-short-videos-scraper/issues) with the run ID, the exact input, what you expected, and one affected result URL.

### Trust and Reliability

- **Apify-native delivery:** runs, logs, statuses, Datasets, exports, schedules, webhooks, API calls, and MCP workflows all use Apify's managed Actor platform.
- **Output-backed billing:** a Result event is charged only for a row successfully saved to the default Dataset, so a candidate that never becomes a row is never billed.
- **Documented 12-field contract:** every published row carries the same 12 keys, including explicit `null` where a result card omitted a value.
- **Source-values-only policy:** titles, links, thumbnails, creators, durations, and displayed metrics are taken from the result cards as shown, and nothing missing is estimated or filled in.
- **Independent index failure:** if one of the two indexes stops answering mid-run, the other continues, and whatever the failed one already delivered is kept.

### Legal and Compliance

**Public data only.** The Actor searches public result surfaces and returns publicly displayed video-card data and destination links — exactly what an anonymous visitor to those surfaces sees, and nothing behind a login or an audience setting.

**Privacy responsibility.** Decide whether storing, combining, or redistributing creator names, thumbnails, URLs, and displayed metrics is appropriate for your purpose, your jurisdiction, and your retention policy before you build on the output.

**Platform terms.** You are responsible for complying with the terms of every search surface and destination platform involved, plus copyright, database, and data-protection rules. Keep run frequency reasonable and do not use results for unlawful profiling, harassment, or rights infringement.

### Frequently Asked Questions

#### How do I search short videos by keyword?

Put one topic, phrase, creator name, or public video identifier into `keyword`, set `max_results` to how many links you want, and start the Actor. It works through the first index page by page, adds the second index's short-video surface, and publishes one row per distinct canonical video URL until the limit is reached or both indexes are exhausted.

#### Is there a free short video search API?

The Actor is callable through Apify's standard API and may fit inside the platform credits included with your Apify plan, but the Actor itself is pay-per-event: $0.01 per run start plus your tier's Result price for each saved row, starting at $0.00634 on FREE.

#### Why does one keyword return two different levels of card detail?

The `search_engine` value tells you which engine produced the row, and the two describe their cards differently. `Bing` rows consistently supply thumbnails, view text, and relative publication dates; `Google` rows return titles, durations, creators, and links but usually omit the display metrics. Both produce the same 12 keys, so the difference shows up as `null` values rather than as a different row shape. `search_index` is each engine's own rank for the row, so sorting on `search_engine` then `search_index` restores the order either engine returned.

#### Can I schedule runs to monitor short-video results over time?

Yes. Point an Apify Schedule at the same input, then compare `url` and `processed_at` across the resulting Datasets, or send each completed run to a webhook that writes the rows into your own store.

#### What is the maximum number of video links for one keyword?

`max_results` accepts any integer from 1 upward with no ceiling and applies to each index separately, so a run can return up to twice it — but the delivered count is whatever each index actually holds for that keyword. A broad topic fills both budgets; a narrow phrase can leave either index short. Treat `max_results` as a per-index budget, not a promise.

#### What do I get for each video the Actor finds?

A public destination URL and the result card's metadata: title, thumbnail, creator, duration, source, view text and publication text, plus which engine found it and its rank there. Pass a returned `url` to a suitable video Actor when your lawful workflow also needs the media file, a transcript, or platform-specific engagement data.

#### Which video sites can show up in the results?

Rows commonly resolve to YouTube, TikTok, Instagram, Facebook, Vimeo, and Dailymotion destinations, and the exact mix for any given search is whatever the keyword currently ranks on each index.

#### Can I search only one index?

Yes. Set `platforms` to `["google"]` or `["bing"]` and the run queries that index alone, giving it the whole `max_results` budget, so the run returns up to `max_results` rows. Leave `platforms` empty to search both. Filter the rows on `source` afterwards when the workflow needs one destination platform, such as TikTok links only.

#### Why is a video I can see in a browser missing from the Dataset?

A search index only returns what it currently ranks for that phrase, and ranking differs from personalized in-app results. Broaden the keyword, raise `max_results`, or search the creator name directly. The indexes rank public, unrestricted videos, so a private, age-restricted or region-limited upload stays outside the results by construction.

### Related AgentX Actors

AgentX publishes focused Store Actors across several categories; the three closest choices to this Actor are listed first, followed by the full catalog.

Closest to this Actor:

- [Instagram Reels Scraper](https://apify.com/agentx/instagram-reels-scraper) — take a discovered Instagram destination further into structured Reels records for a known account.
- [TikTok Creator API](https://apify.com/agentx/tiktok-creator-api) — turn a `channel_name` found here into public account-level context for that creator.
- [Video Transcript](https://apify.com/agentx/video-transcript) — convert a discovered public video into timestamped speech text.

#### Business and Market Intelligence

- **[All Web Search Scraper](https://apify.com/agentx/all-web-search-scraper)** — multi-engine web search across ten independent indexes
- **[Google Keyword Trends](https://apify.com/agentx/google-keyword-trends)** — Google Trends keyword interest, compared five at a time
- **[Google Trends Scraper](https://apify.com/agentx/google-trends-scraper)** — Google Trends trending searches
- **[Google Maps Store Scraper](https://apify.com/agentx/google-maps-store-scraper)** — Google Maps business listings
- **[LinkedIn Company Lookup](https://apify.com/agentx/linkedin-company-lookup)** — LinkedIn company records
- **[LinkedIn Profile Lookup](https://apify.com/agentx/linkedin-profile-lookup)** — LinkedIn profile records
- **[Weather Forecast API](https://apify.com/agentx/weather-forecast-api)** — forecast and historical weather data

#### Jobs and Hiring

- **[All Jobs Scraper](https://apify.com/agentx/all-jobs-scraper)** — multi-platform job listings
- **[Bayt Jobs Scraper](https://apify.com/agentx/bayt-jobs-scraper)** — Bayt job listings
- **[Glassdoor Jobs Scraper](https://apify.com/agentx/glassdoor-jobs-scraper)** — Glassdoor job listings
- **[Indeed Jobs Scraper](https://apify.com/agentx/indeed-jobs-scraper)** — Indeed job listings
- **[JobStreet Company Profile](https://apify.com/agentx/jobstreet-company-profile)** — JobStreet employer records
- **[Jooble Jobs Scraper](https://apify.com/agentx/jooble-jobs-scraper)** — Jooble job listings
- **[LinkedIn Jobs Scraper](https://apify.com/agentx/linkedin-jobs-scraper)** — LinkedIn job listings
- **[Naukri Jobs Scraper](https://apify.com/agentx/naukri-jobs-scraper)** — Naukri job listings
- **[Talent Jobs Scraper](https://apify.com/agentx/talent-jobs-scraper)** — Talent.com job listings
- **[ZipRecruiter Jobs Scraper](https://apify.com/agentx/ziprecruiter-jobs-scraper)** — ZipRecruiter job listings

#### Social Media

- **[All Forums Thread Scraper](https://apify.com/agentx/all-forums-thread-scraper)** — multi-platform forum and Q\&A threads
- **[Instagram Creator Scraper](https://apify.com/agentx/instagram-creator-scraper)** — Instagram creator profiles
- **[Instagram Reels Scraper](https://apify.com/agentx/instagram-reels-scraper)** — Instagram Reels metadata
- **[Instagram Trending Scraper](https://apify.com/agentx/instagram-trending-scraper)** — Instagram trending content
- **[Medium Scraper](https://apify.com/agentx/medium-scraper)** — Medium articles
- **[Medium Profile Scraper](https://apify.com/agentx/medium-profile-scraper)** — Medium author profiles
- **[Reddit Profile Scraper](https://apify.com/agentx/reddit-profile-scraper)** — Reddit user profiles
- **[Reddit Viral Scraper](https://apify.com/agentx/reddit-viral-scraper)** — Reddit viral posts
- **[SubReddit Info Scraper](https://apify.com/agentx/subreddit-info-scraper)** — subreddit metadata
- **[Subreddit Members Scraper](https://apify.com/agentx/subreddit-members-scraper)** — subreddit member lists
- **[Subreddit Posts Scraper](https://apify.com/agentx/subreddit-posts-scraper)** — subreddit post feeds
- **[Telegram Chat Scraper](https://apify.com/agentx/telegram-chat-scraper)** — Telegram chat messages
- **[Telegram Info Scraper](https://apify.com/agentx/telegram-info-scraper)** — Telegram channel metadata
- **[Telegram Member Adder](https://apify.com/agentx/telegram-member-adder)** — Telegram group membership management
- **[Telegram Member Scraper](https://apify.com/agentx/telegram-member-scraper)** — Telegram group members
- **[Telegram Private Group Scraper](https://apify.com/agentx/telegram-private-group-scraper)** — private Telegram group data
- **[TikTok Creator API](https://apify.com/agentx/tiktok-creator-api)** — TikTok creator profiles
- **[TikTok User Lookup](https://apify.com/agentx/tiktok-user-lookup)** — TikTok account records
- **[X Twitter Community API](https://apify.com/agentx/x-twitter-community-api)** — X community data
- **[X Twitter Profile Lookup](https://apify.com/agentx/x-twitter-profile-lookup)** — X profile records
- **[YouTube Creator Email Scraper](https://apify.com/agentx/youtube-creator-email-scraper)** — YouTube creator contact data

#### Video, Transcripts and Downloads

- **[All Video Scraper](https://apify.com/agentx/all-video-scraper)** — multi-platform video metadata
- **[All Image Scraper](https://apify.com/agentx/all-image-scraper)** — image search and download across five engines
- **[All Short Drama Downloader](https://apify.com/agentx/all-short-drama-downloader)** — short-drama episodes from fifteen official apps
- **[Video Transcript](https://apify.com/agentx/video-transcript)** — multi-platform transcripts
- **[Video Captions Downloader](https://apify.com/agentx/video-captions-downloader)** — caption files
- **[Video to Social Post](https://apify.com/agentx/video-to-social-post)** — video repurposed into social copy
- **[YouTube Transcript](https://apify.com/agentx/youtube-transcript)** — YouTube transcripts
- **[TikTok Transcript](https://apify.com/agentx/tiktok-transcript)** — TikTok transcripts
- **[X Twitter Transcript](https://apify.com/agentx/x-twitter-transcript)** — X video transcripts
- **[Facebook Transcript](https://apify.com/agentx/facebook-transcript)** — Facebook video transcripts
- **[Bilibili Transcript](https://apify.com/agentx/bilibili-transcript)** — Bilibili transcripts
- **[Dailymotion Transcript](https://apify.com/agentx/dailymotion-transcript)** — Dailymotion transcripts
- **[Rutube Transcript](https://apify.com/agentx/rutube-transcript)** — Rutube transcripts
- **[Loom Transcript](https://apify.com/agentx/loom-transcript)** — Loom transcripts
- **[Wistia Transcript](https://apify.com/agentx/wistia-transcript)** — Wistia transcripts
- **[Instagram Reels Downloader](https://apify.com/agentx/instagram-reels-downloader)** — Reels downloads
- **[Kick Clip Downloader](https://apify.com/agentx/kick-clip-downloader)** — Kick clip downloads
- **[Linkedin Video Downloader](https://apify.com/agentx/linkedin-video-downloader)** — LinkedIn video downloads
- **[Pinterest Video Downloader](https://apify.com/agentx/pinterest-video-downloader)** — Pinterest video downloads
- **[Reddit Video Downloader](https://apify.com/agentx/reddit-video-downloader)** — Reddit video downloads
- **[Snapchat Video Downloader](https://apify.com/agentx/snapchat-video-downloader)** — Snapchat video downloads
- **[TED Talk Downloader](https://apify.com/agentx/ted-talk-downloader)** — TED talk downloads
- **[TikTok Live Downloader](https://apify.com/agentx/tiktok-live-downloader)** — TikTok live downloads
- **[Twitch VOD Downloader](https://apify.com/agentx/twitch-vod-downloader)** — Twitch VOD downloads
- **[Zoom Recording Downloader](https://apify.com/agentx/zoom-recording-downloader)** — Zoom recording downloads

#### E-Commerce and Retail

- **[All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper)** — multi-platform product data
- **[AliExpress Product Scraper](https://apify.com/agentx/aliexpress-product-scraper)** — AliExpress products
- **[Amazon Storefront Scraper](https://apify.com/agentx/amazon-storefront-scraper)** — Amazon Brand Store pages
- **[Bol Product Scraper](https://apify.com/agentx/bol-product-scraper)** — Bol.com products
- **[eBay Seller Leads API](https://apify.com/agentx/ebay-seller-leads-api)** — eBay seller records
- **[Hepsiburada Product Scraper](https://apify.com/agentx/hepsiburada-product-scraper)** — Hepsiburada products
- **[Kakaku Product Scraper](https://apify.com/agentx/kakaku-product-scraper)** — Kakaku.com products
- **[Rakuten Product Scraper](https://apify.com/agentx/rakuten-product-scraper)** — Rakuten products

#### Classifieds and Automotive

- **[All Vehicle Scraper](https://apify.com/agentx/all-vehicle-scraper)** — multi-platform vehicle listings
- **[AutoTrader Vehicle Search](https://apify.com/agentx/autotrader-vehicle-search)** — AutoTrader US listings
- **[AutoTrader UK Vehicle Search](https://apify.com/agentx/autotrader-uk-vehicle-search)** — AutoTrader UK listings

#### Real Estate

- **[All Property Scraper](https://apify.com/agentx/all-property-scraper)** — multi-platform property listings
- **[Homes Property Scraper](https://apify.com/agentx/homes-property-scraper)** — Homes.com listings
- **[MagicBricks Property Scraper](https://apify.com/agentx/magicbricks-property-scraper)** — MagicBricks listings
- **[NoBroker Property Scraper](https://apify.com/agentx/nobroker-property-scraper)** — NoBroker listings
- **[Property24 Property Scraper](https://apify.com/agentx/property24-property-scraper)** — Property24 listings
- **[Realtor Property Scraper](https://apify.com/agentx/realtor-property-scraper)** — Realtor.com listings
- **[Zillow Property Scraper](https://apify.com/agentx/zillow-property-scraper)** — Zillow listings

### Support and Community

Ask about keyword coverage, the 12-field Dataset contract, or wiring this Actor into an API or MCP workflow in the [AgentX community on Telegram](https://t.me/Apify_Actor); for a reproducible bug, open an Issue with the run ID and the exact input.

AgentX is an Arcyton brand — [arcyton.com](https://arcyton.com).

**Last Updated:** September 5, 2026

# Actor input Schema

## `keyword` (type: `string`):

Enter one topic, phrase, creator name, or public video identifier to search.

## `platforms` (type: `array`):

Choose which search platforms to query: google, bing, or both. Leave empty to search both. Max Results applies to each selected platform.

## `max_results` (type: `integer`):

How many unique short-video links to save from each selected platform, so a run can return up to twice this number when both are searched. Minimum 1 and no maximum; a platform stops early when it runs out of links the run has not already saved. A link both platforms return is saved once.

## Actor input object example

```json
{
  "keyword": "cooking",
  "max_results": 1
}
```

# Actor output Schema

## `results` (type: `string`):

Links to the Dataset overview containing the normalized short-video search cards returned by this run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "cooking",
    "max_results": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/all-short-videos-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "cooking",
    "max_results": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("agentx/all-short-videos-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "cooking",
  "max_results": 1
}' |
apify call agentx/all-short-videos-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,agentx/all-short-videos-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/hlelyaj9OFhqrCqfG/builds/MSGNkgvp7kkZz76ob/openapi.json
