YouTube Scraper With AI Video Summary & Transcripts
Pricing
Pay per usage
YouTube Scraper With AI Video Summary & Transcripts
๐บ YouTube Scraper extracts video & channel data โ titles, descriptions, views, likes, comments, tags, publish dates & playlists. ๐ Perfect for SEO research, content analysis, trend tracking & competitor insights. โก Fast, reliable, API-ready. Also grabs thumbnails, durations, URLs, subtitles.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
5
Monthly active users
9 days ago
Last modified
Categories
Share
YouTube Scraper โ Extract Videos, Transcripts and AI Summaries
YouTube Scraper With AI Video Summary & Transcripts pulls videos, Shorts, and live streams from any search query or list of direct URLs, returning full transcripts, chapter markers, and rich metadata as structured JSON. Turn on its optional AI stage and each video also gets an LLM-generated summary plus extracted keywords and topics, using a model and API key you supply. Every response is ready to pass to an LLM, index into a vector store, or feed a monitoring pipeline. No YouTube login or official API key is required.
What is YouTube Scraper With AI Video Summary & Transcripts?
YouTube Scraper With AI Video Summary & Transcripts searches YouTube (or fetches a list of video/Shorts URLs directly) and returns one JSON record per video, including its full transcript, uploader-set chapter markers, and โ when you turn it on and supply a model API key โ a genuine AI-generated video summary plus extracted keywords and topics. This AI stage is a real LLM call (Anthropic, OpenAI, Google, xAI, DeepSeek, Perplexity, or Mistral, depending on the model you choose), not a relabeled copy of the transcript; it is off by default so every run works without any key. No YouTube account or login is required โ it reads the same public pages and internal endpoints the site itself serves to any visitor.
- Search YouTube by keyword and return matching videos, Shorts, and live streams
- Analyze a fixed list of video/Shorts URLs instead of (or alongside) a search
- Pull full transcripts as SRT, plain text, or timestamped JSON, in 20 languages
- Extract uploader chapter markers as structured start/end/duration sections, at no extra request cost
- Generate an optional AI summary and up to 10 keywords + 5 topics per video with your own model key
- Filter by upload date, duration, sort order, content type, and technical properties (HD, 4K, HDR, 360ยฐ, 3D, VR180, Creative Commons, closed captions, live-only)
What data can you get with YouTube Scraper With AI Video Summary & Transcripts?
Each run returns videos, Shorts, and live streams as a single result type, with transcripts, chapters, and AI enrichment layered on as optional fields on the same record.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
| Video / Shorts record | title, type, id, url, thumbnailUrl, viewCount, date, likes, channelName, channelUrl, channelUsername, channelId, numberOfSubscribers, duration, commentsCount, text, descriptionLinks, hashtags, order, fromYTUrl | Catalog building, competitive research, dataset seeding |
| Transcript | transcript, transcriptLanguage, transcriptFormat, subtitles | NLP, RAG ingestion, captioning, accessibility |
| Chapter markers | chapters (order, title, startSeconds, endSeconds, durationSeconds), chapterCount | Show notes, timestamped navigation, anchoring a summary |
| AI enrichment | aiSummary, aiKeywords, aiTopics, aiProvider, aiModel, aiEnrichmentStatus | Content research at scale, SEO keyword mining, RAG metadata |
| Technical/feature flags | isCreativeCommons, isPurchased | Licensing checks, content-type filtering |
AI video summary and keyword extraction
Turning on enableAiSummary and/or enableAiKeywordExtraction sends the title, description, chapter titles, and transcript to a real language model โ the one you pick in aiModel (default claude-haiku-4-5), using the key in aiApiKey or a matching provider environment variable. The model returns a 3โ5 sentence summary plus up to 10 keywords and 5 broader topics, parsed from a strict JSON response. This is genuine LLM inference on your account, not a copy of the raw transcript with a label: with no key configured, aiSummary/aiKeywords/aiTopics are null and aiEnrichmentStatus reports not_configured โ never fabricated.
{"aiSummary": "The video walks through setting up a Python scraping project with Crawlee, covering install, crawler configuration, and handling pagination.","aiKeywords": ["crawlee", "python", "web scraping", "pagination"],"aiTopics": ["Software Development", "Web Scraping"],"aiProvider": "anthropic","aiModel": "claude-haiku-4-5","aiEnrichmentStatus": "ok"}
Chapter markers
Uploader-set chapters are already present in YouTube's own watch-page payload, so this actor extracts them as structured {order, title, startSeconds, endSeconds, durationSeconds} sections at zero extra request cost. They return an empty list on the (common) case where a video has no chapters โ never a fabricated section โ and, when present, they anchor the AI summary so it can reference specific parts of the video by name.
How does YouTube Scraper With AI Video Summary & Transcripts differ from the official YouTube API?
The YouTube Data API v3 covers search and video/channel metadata, but its captions endpoint (captions.download) requires OAuth credentials and only works on videos you own โ there is no official way to pull the transcript text of someone else's public video, and it has no AI-summary feature at all.
| Feature | YouTube Data API v3 | YouTube Scraper With AI Video Summary & Transcripts |
|---|---|---|
| Setup | Google Cloud project + API key; OAuth for captions | No API key, no OAuth, no Google Cloud project |
| Transcript/caption text | captions.download requires OAuth from the video's own owner (Google, "Captions" implementation guide) | Full transcript text (SRT, plain text, or timestamped JSON) for any public video |
| Daily quota | 10,000 units/day by default; search.list costs 100 units/call, โ100 searches/day (Google, search.list docs) | No platform-imposed query quota; per-run limits are set by you in maxVideosPerQuery/maxShortsPerQuery/maxLiveStreamsPerQuery |
| AI summary / keyword extraction | Not available | Optional, built in โ bring your own model API key |
| Chapter markers | Not exposed as a structured field | Extracted as structured start/end/duration sections |
| Output shape | Separate calls for search, video details, and channel stats | One JSON record per video combining metadata, transcript, chapters, and AI fields |
Use the official API when you need YouTube's own analytics or Data API compliance for an approved app with modest call volume. Use this Actor when you need transcript text, chapter structure, or AI summaries at query scale without quota bookkeeping.
What is the difference between a transcript scraper and an AI video summarizer?
A transcript scraper returns the raw caption text of a video; an AI video summarizer condenses that text into a short synopsis using a language model. They solve different problems: raw transcripts are for search, subtitling, or feeding your own downstream model, while a summary is for someone who wants the gist without reading the whole transcript. Scrapier's own YouTube Transcript Scraper returns transcripts and locally-computed engagement analytics but has no AI summarization step; this Actor does both in one run โ the raw transcript field and the LLM-generated aiSummary/aiKeywords/aiTopics fields โ so you can choose per run whether you want the source text, the AI condensation, or both, without switching tools.
How to scrape YouTube with YouTube Scraper With AI Video Summary & Transcripts?
- Open the Actor on its Apify Store page (or call it through the API) โ no separate signup or credential beyond an Apify account.
- Enter one or more terms in
contentSearchQueries, or paste video/Shorts URLs intovideoUrlsToAnalyzeโ both are optional; an empty run falls back to a default demo query. - Set query controls:
maxVideosPerQuery,maxShortsPerQuery,maxLiveStreamsPerQuery, and filters likeuploadDateFilter,durationFilter,contentTypeFilter,resultSortOrder. - Turn on
fetchTranscript(recommended before enabling AI features) and, optionally,enableAiSummary/enableAiKeywordExtractionwith anaiModelandaiApiKey. - Start the run, then download or stream results as JSON, CSV, or Excel from the Dataset tab, or pull them through the API.
{"contentSearchQueries": ["machine learning tutorial"],"maxVideosPerQuery": 5,"fetchTranscript": true,"enableAiSummary": true,"aiModel": "claude-haiku-4-5","aiApiKey": "YOUR_ANTHROPIC_KEY"}
How to run multiple queries in one job
contentSearchQueries accepts an array of strings โ each query is processed in turn within the same run, and every matching video across all queries lands in one combined dataset, numbered by a running order field so you can tell which query position produced each result. Mix search queries with direct videoUrlsToAnalyze entries in the same run to cover both discovery and a known video list at once.
โฌ๏ธ Input
The Actor takes search queries, direct video URLs, or both โ none of the 33 input fields is required, and an empty input runs a built-in demo query. AI enrichment (enableAiSummary, enableAiKeywordExtraction) is off by default and needs its own model + key.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
contentSearchQueries | No | array | YouTube search keywords/phrases; every matching video is fetched | ["machine learning tutorial"] |
videoUrlsToAnalyze | No | array | Direct YouTube video/Shorts URLs to analyze without a search | ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"] |
maxVideosPerQuery | No | integer | Max regular (non-Shorts, non-live) videos per query; 0 skips them; default 10 | 10 |
maxShortsPerQuery | No | integer | Max Shorts per query; 0 excludes Shorts; default 0 | 0 |
maxLiveStreamsPerQuery | No | integer | Max live/upcoming streams per query; 0 excludes them; default 0 | 0 |
fetchTranscript | No | boolean | Download the full transcript/subtitles | true |
transcriptLanguagePreference | No | string | Preferred transcript language code (20 supported); falls back to any available track; default en | "en" |
useAutoGeneratedCaptions | No | boolean | Prefer auto-generated captions over manually uploaded ones | false |
transcriptOutputFormat | No | string | Transcript format: srt, text, or timestamp; default srt | "text" |
storeTranscriptsInKeyValueStore | No | boolean | Also save each transcript to the run's key-value store | false |
includeChapterMarkers | No | boolean | Extract uploader chapter markers as structured sections; default true | true |
enableAiSummary | No | boolean | Generate an AI video summary; default false; needs a model + key | true |
enableAiKeywordExtraction | No | boolean | Extract up to 10 AI keywords + 5 topics per video; default false; needs a model + key | false |
aiModel | No | string | AI model name; provider auto-detected from the prefix; default claude-haiku-4-5 | "claude-haiku-4-5" |
aiApiKey | No | string (secret) | API key for the selected provider; falls back to a matching environment variable if empty | "" |
resultSortOrder | No | string | Sort by relevance, date, viewCount, or rating | "relevance" |
uploadDateFilter | No | string | Upload-date filter: hour, today, week, month, year | "week" |
contentTypeFilter | No | string | Restrict to video, channel, playlist, or movie | "video" |
durationFilter | No | string | Length preset: short (under 4 min), medium (4โ20 min), long (over 20 min) | "medium" |
publishedAfterDate | No | string | Only include videos published after this date (YYYY-MM-DD) | "2026-01-01" |
finalSortField | No | string | Post-processing sort of the final dataset: date, viewCount, or likes | "viewCount" |
requireHD | No | boolean | Only include HD (720p+) videos | false |
requireClosedCaptions | No | boolean | Only include videos with a proper (non auto-generated) caption track | false |
requireCreativeCommons | No | boolean | Only include Creative Commonsโlicensed videos | false |
require3D | No | boolean | Only include stereoscopic 3D videos | false |
requireLiveOnly | No | boolean | Restrict to live/live-style content | false |
requirePurchasedContent | No | boolean | Best-effort filter for purchased/paid content (limited coverage) | false |
require4K | No | boolean | Only include videos with at least one 2160p (4K) stream | false |
require360 | No | boolean | Only include immersive 360ยฐ (equirectangular) videos | false |
requireLocationData | No | boolean | Only include videos with explicit location metadata | false |
requireHDR | No | boolean | Only include HDR videos | false |
requireVR180 | No | boolean | Only include VR180 immersive content | false |
proxyConfiguration | No | object | Apify proxy settings; defaults to no proxy, auto-escalates on blocks | {"useApifyProxy": false} |
{"contentSearchQueries": ["machine learning tutorial"],"videoUrlsToAnalyze": [],"maxVideosPerQuery": 5,"maxShortsPerQuery": 0,"maxLiveStreamsPerQuery": 0,"fetchTranscript": true,"transcriptLanguagePreference": "en","useAutoGeneratedCaptions": false,"transcriptOutputFormat": "text","storeTranscriptsInKeyValueStore": false,"includeChapterMarkers": true,"enableAiSummary": true,"enableAiKeywordExtraction": true,"aiModel": "claude-haiku-4-5","aiApiKey": "","resultSortOrder": "relevance","uploadDateFilter": "","contentTypeFilter": "","durationFilter": "","publishedAfterDate": "","finalSortField": "","requireHD": false,"proxyConfiguration": { "useApifyProxy": false }}
Common pitfall: enableAiSummary/enableAiKeywordExtraction silently produce null fields (with aiEnrichmentStatus: "not_configured") if aiApiKey is empty and no matching provider environment variable is set โ the run still succeeds, it just has no AI output. Also turn on fetchTranscript before enabling AI features: without a transcript, the AI stage falls back to summarizing the title and description only, which is a thinner result.
โฌ๏ธ Output
Output is typed, normalized JSON with a consistent schema across runs, exportable as JSON, CSV, Excel, or HTML directly from the Dataset tab. The Actor writes 36 fields per video; the default dataset table view surfaces 32 of them (it omits location, commentsTurnedOff, transcriptLanguage, and transcriptFormat, which are still present in the underlying JSON).
Scraped results
[{"title": "Python Full Course for Beginners","type": "video","id": "_uQrJ0TkZlc","url": "https://www.youtube.com/watch?v=_uQrJ0TkZlc","thumbnailUrl": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg","viewCount": 45200000,"date": "2021-02-18T00:00:00.000Z","likes": 890000,"location": null,"channelName": "Programming with Mosh","channelUrl": "https://www.youtube.com/@programmingwithmosh","channelUsername": "programmingwithmosh","channelId": "UCWv7vMbMWH4-V0ZXdmDpPBA","numberOfSubscribers": 4200000,"duration": "06:14:07","commentsCount": 18400,"text": "This course is designed for beginners...","descriptionLinks": [],"subtitles": ["en"],"transcript": "Hi guys, my name is Mosh and welcome to my Python course...","transcriptLanguage": "en","transcriptFormat": "text","chapterCount": 50,"chapters": [{ "order": 0, "title": "Introduction", "startSeconds": 0, "endSeconds": 245.0, "durationSeconds": 245.0 },{ "order": 1, "title": "Installing Python", "startSeconds": 245.0, "endSeconds": 610.5, "durationSeconds": 365.5 }],"aiSummary": "A full-length beginner course covering Python syntax, data structures, and functions, aimed at viewers with no prior programming experience.","aiKeywords": ["python", "beginners", "programming course"],"aiTopics": ["Software Development", "Education"],"aiProvider": "anthropic","aiModel": "claude-haiku-4-5","aiEnrichmentStatus": "ok","order": 0,"commentsTurnedOff": false,"fromYTUrl": "https://www.youtube.com/results?search_query=python+tutorial","hashtags": ["#python"],"isCreativeCommons": false,"isPurchased": false},{"title": "Crawlee: Web Scraping Made Easy #shorts","type": "shorts","id": "abc123shorts","url": "https://www.youtube.com/shorts/abc123shorts","thumbnailUrl": "https://i.ytimg.com/vi/abc123shorts/hq720.jpg","viewCount": 152000,"date": "2026-05-02T00:00:00.000Z","likes": 6100,"location": null,"channelName": "Apify","channelUrl": "https://www.youtube.com/@Apify","channelUsername": "Apify","channelId": "UCf0_wp8s9wRC0hVjX7NR3wg","numberOfSubscribers": 12500,"duration": "00:00:58","commentsCount": 42,"text": "Quick look at Crawlee for scraping projects.","descriptionLinks": [],"subtitles": null,"transcript": null,"chapterCount": 0,"chapters": [],"aiSummary": null,"aiKeywords": null,"aiTopics": null,"aiProvider": null,"aiModel": null,"aiEnrichmentStatus": "disabled","order": 1,"commentsTurnedOff": false,"fromYTUrl": "https://www.youtube.com/results?search_query=crawlee","hashtags": ["#shorts", "#crawlee"],"isCreativeCommons": false,"isPurchased": false},{"title": "Live Coding Session: Building a Scraper","type": "video","id": "xyz789live","url": "https://www.youtube.com/watch?v=xyz789live","thumbnailUrl": "https://i.ytimg.com/vi/xyz789live/hq720.jpg","viewCount": 3400,"date": "2026-07-20T00:00:00.000Z","likes": 210,"location": null,"channelName": "DevStream","channelUrl": "https://www.youtube.com/@DevStream","channelUsername": "DevStream","channelId": "UCabc111devstream","numberOfSubscribers": 8900,"duration": "01:42:10","commentsCount": 56,"text": "Streamed live โ building a scraper from scratch.","descriptionLinks": [],"subtitles": ["en"],"transcript": "Alright, we're live, let's get started building this scraper...","transcriptLanguage": "en","transcriptFormat": "text","chapterCount": 0,"chapters": [],"aiSummary": "A live coding stream where the host builds a web scraper step by step, covering setup, request handling, and error recovery.","aiKeywords": ["live coding", "web scraper", "development"],"aiTopics": ["Software Development"],"aiProvider": "anthropic","aiModel": "claude-haiku-4-5","aiEnrichmentStatus": "ok","order": 2,"commentsTurnedOff": false,"fromYTUrl": "https://www.youtube.com/results?search_query=live+coding+scraper","hashtags": [],"isCreativeCommons": false,"isPurchased": false}]
How can I use the data extracted with YouTube Scraper With AI Video Summary & Transcripts?
- Content researchers and repurposers: batch-summarize a niche or competitor's videos via
aiSummaryandchapterswithout watching each one, and turn timestamped sections into show notes or blog outlines. - AI engineers and LLM developers: feed
transcriptandaiSummaryinto a RAG pipeline or agent context store โ the query issues a search, gets back structured JSON, and the model grounds its answer in real transcript text instead of guessing. - SEO and keyword researchers: mine
aiKeywordsandaiTopicsacross a search result set to see what terms and themes are already ranking for a query. - Market and competitive researchers: track
channelName,viewCount,likes, anddateacross a keyword set to gauge which channels and content angles are winning a topic right now.
How do you monitor new YouTube uploads over time?
Monitoring here means re-running the same contentSearchQueries on a schedule and diffing the results against the previous run to catch what changed. Because each run returns a fresh dataset, comparing it to the last one by id (video ID) reveals newly published videos matching your query, while re-checking viewCount, likes, and commentsCount for videos you've already seen surfaces engagement growth. Since enableAiSummary and enableAiKeywordExtraction run per video, every newly discovered video can be auto-summarized the moment it's found, without anyone watching it first โ useful for tracking a competitor's channel or a trending topic without manual review.
A practical loop: schedule a run across your keyword set, extract id, date, viewCount, and aiSummary from each run's dataset, compare the current video ID list against the previous run's list, and alert on any id that's new. Keep the previous run's dataset (pulled and stored via the Apify API, or exported to your own storage) so each new run has something concrete to diff against โ the Actor itself doesn't retain history across runs. This Actor has no built-in scheduler of its own โ set up the repeated run using Apify Console's Schedule feature (a cron-style trigger available for any Actor) and pull each run's dataset via the API once it finishes, either on a fixed interval or triggered by a webhook.
Integrate YouTube Scraper With AI Video Summary & Transcripts and automate your workflow
YouTube Scraper With AI Video Summary & Transcripts works with any language or tool that can send an HTTP request.
REST API with Python
import requestsACTOR_ID = "Scrapier~youtube-scraper-with-ai-video-summary-transcripts"url = f"https://api.apify.com/v2/acts/{ACTOR_ID}/run-sync-get-dataset-items"payload = {"contentSearchQueries": ["machine learning tutorial"],"maxVideosPerQuery": 5,"fetchTranscript": True,}resp = requests.post(url, params={"token": "YOUR_APIFY_TOKEN"}, json=payload)videos = resp.json()for v in videos:print(v["title"], v.get("aiSummary"))
MCP for query-grounded AI agents
This Actor is reachable through Apify's official Actors MCP Server, which exposes any Apify Actor as an MCP tool: run APIFY_TOKEN=your_token npx -y @apify/actors-mcp-server --actors Scrapier/youtube-scraper-with-ai-video-summary-transcripts to register it. An agent in Claude Desktop, Claude Code, Cursor, or another MCP-compatible client can then call the Actor as a tool, receive the JSON dataset, and ground its answer in real transcripts and summaries instead of guessing.
Scheduled monitoring and delivery
Attach an Apify Console Schedule (cron expression) to trigger runs automatically, then pull each run's finished dataset through the REST API or set up a webhook that fires on run completion. The Actor itself has no built-in emailing or push-delivery step โ scheduling and delivery are handled through these standard Apify platform features, available to any Actor.
Is it legal to scrape YouTube videos?
Yes โ scraping publicly visible pages that any visitor can already see is generally permitted in the United States, a position supported by hiQ Labs, Inc. v. LinkedIn Corp. (9th Cir. 2019). This Actor extracts only what YouTube's own public search and watch pages serve to anyone loading them, without logging in or bypassing access controls. Video metadata and transcripts are typically not "personal data" under GDPR/CCPA unless a video's content concerns an identifiable individual (a personal vlog or interview, for example) โ routine catalog or keyword-based scraping usually doesn't trigger that. Scraping to train an AI model carries different exposure than scraping for your own research or monitoring pipeline, and separately, any AI provider you connect via aiApiKey has its own data-use terms. Consult your legal team for commercial use cases involving bulk data storage.
Frequently asked questions
How many results does the Actor return per query?
There's no fixed cap in the schema โ maxVideosPerQuery, maxShortsPerQuery, and maxLiveStreamsPerQuery each accept 0โ9999 (defaults: 10 videos, 0 Shorts, 0 streams). Internally, the Actor stops paging a query after 50 search-result pages as a hardcoded safety limit โ this isn't user-adjustable, but it's rarely reached at normal maxVideosPerQuery values.
Can I filter results by language or region?
Only for transcripts: transcriptLanguagePreference picks the caption language (20 supported) and falls back to any available track. There's no separate region/locale parameter for search results themselves โ the Actor searches YouTube the same way for every run.
What query controls does the Actor support?
resultSortOrder (relevance, date, view count, rating), uploadDateFilter (hour through year), durationFilter (short/medium/long), contentTypeFilter (video/channel/playlist/movie), and a post-processing finalSortField that re-sorts the finished dataset by date, view count, or likes.
How does the Actor handle YouTube's anti-bot measures?
It starts with no proxy and automatically escalates to Apify datacenter, then residential proxy (with retries) whenever a request is blocked (HTTP 429/403) or comes back as a "thin" player response missing core fields โ once residential proxy succeeds, the run locks onto it for the rest of the job.
Is the AI video summary genuinely AI-generated, and by what model?
Yes โ enableAiSummary sends the video's title, description, chapter titles, and transcript to a real large language model via its native API (Anthropic's SDK for Claude models, an OpenAI-compatible client for the rest), not a repackaged copy of the transcript. The default model is claude-haiku-4-5; you can pick any of 25 models across Anthropic, OpenAI, Google, xAI, DeepSeek, Perplexity, or Mistral in aiModel, using your own API key.
Does the Actor extract chapter markers?
Yes โ when includeChapterMarkers is on (the default), uploader-set chapters already present in YouTube's page data are returned as structured {title, startSeconds, endSeconds, durationSeconds} sections in the chapters field, with an empty list when a video has no chapters.
How do I use this Actor to monitor new uploads for a topic over time?
Schedule a repeated run of the same contentSearchQueries via Apify Console's Schedule feature, extract id and date from each run's dataset, and compare the current list of video IDs against the previous run's list โ any new id is a newly published video, which you can auto-summarize with enableAiSummary the same run it's found.
Does this Actor work with Claude, ChatGPT, and AI agent frameworks?
Yes, two ways: it's registerable as a tool through Apify's Actors MCP Server for MCP-compatible clients like Claude Desktop or Claude Code, or callable as a plain HTTP endpoint from any agent framework that can make a web request, letting an agent retrieve live transcripts and summaries before answering.
How does this Actor compare to other YouTube scrapers from Scrapier?
Scrapier's YouTube Transcript Scraper takes a fixed list of video URLs and returns transcripts plus locally-computed engagement metrics, with no search and no AI summary. YouTube Comments Scraper focuses on comment threads, not video content. This Actor is the one built for query-driven discovery plus AI content intelligence: search or URL input, full transcripts, chapters, and optional LLM-generated summaries/keywords in one run.
Can I use this Actor without managing proxies or a YouTube account?
Yes โ proxy selection and escalation (no proxy โ datacenter โ residential) are handled automatically, and no YouTube login or official API key is needed. You only need to supply your own AI provider API key if you turn on the optional summary or keyword-extraction features.
Your feedback
Found a bug or a field that doesn't match what's documented here? Let us know through the Actor's Issues tab on Apify or Scrapier's support contact โ reports like this go straight into fixing the extractor.