TED Talks Scraper: Speakers, Views, Topics & Transcripts
Pricing
from $6.96 / 1,000 talks
TED Talks Scraper: Speakers, Views, Topics & Transcripts
Extract TED talks by topic, speaker or URL: title, speaker and occupation, views, duration, topics, dates, event, languages and transcript. Export JSON, CSV, Excel.
Pricing
from $6.96 / 1,000 talks
Rating
4.5
(2)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Share
TED Talks Scraper
Here is one real result, with every field the actor returns:
{"imageUrl": "https://pi.tedcdn.com/r/talkstar-photos.s3.amazonaws.com/uploads/fad1c1b6-af69-46d8-af12-c17f590718a1/MuthoniDrummerQueen_2019U-embed.jpg","title": "Creativity builds nations","url": "https://www.ted.com/talks/muthoni_drummer_queen_creativity_builds_nations","id": "48857","slug": "muthoni_drummer_queen_creativity_builds_nations","type": "TED Stage Talk","speaker": "Muthoni Drummer Queen","speakers": [{"name": "Muthoni Drummer Queen","occupation": "Musician","bio": "Muthoni Drummer Queen's thought-provoking music fuses traditional African drum patterns with modern styles like hip-hop, reggae and blues."}],"description": "In a hopeful talk followed by an empowering performance, musician and TED Fellow Muthoni Drummer Queen shares how indust ... [description trimmed for brevity; the real field returns the full summary]","event": "TED2019","durationSeconds": 706,"durationText": "11:46","viewCount": 273718,"recordedDate": "2019-04-15","publishedDate": "2019-09-27T16:16:40Z","topics": ["performance", "music", "art", "Africa", "... [trimmed; the real field lists every topic]"],"primaryLanguage": "en","languageCount": 20,"languages": ["English", "Swahili", "Turkish", "Portuguese, Brazilian", "... [trimmed; the real field lists all 20 languages]"],"transcriptAvailable": true,"transcript": "Between 2004 and 2008, I unsuccessfully tried to get into the Kenyan music industry. But the recurring answer from produ ... [transcript trimmed for brevity; the real field returns the full transcript]","youtubeId": "fwvbx80QidM","externalUrl": "https://www.youtube.com/watch?v=fwvbx80QidM","observedAt": "2026-08-08T21:12:18.598Z","error": null}
The description, topics, languages and transcript values above are trimmed to keep this example readable; the actor returns the full text and complete arrays. All other values are the exact record from a live run.
The most complete TED Talks scraper available. It returns every field a TED talk page exposes, including view count, duration, all speakers with occupation and bio, recorded and published dates, topics, language availability and the full transcript, and gives you two ways to collect talks: search by topic or speaker, or pass exact talk URLs.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor discovers TED talks by search term (a topic or speaker name), or takes exact talk URLs you provide, and writes one normalized record per talk to the run's dataset. With withDetails on (the default) it opens each talk page to collect the view count, duration, all speakers with occupation and bio, recorded and published dates, event name, topics, the number and list of available languages, and the full transcript. Missing source values are returned as null rather than invented. With details off, only the lightweight search-card fields are returned.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 3 talks about creativity with full details.
{"searchTerm": "creativity","maxTalks": 3,"withDetails": true}
Provide searchTerm to discover talks, or talkUrls to scrape specific talks. If both are given, the URLs are used.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerm | string | no | (empty) | A keyword, topic or speaker name to search TED for, for example leadership, climate change, Brene Brown. |
talkUrls | string[] | no | (empty) | Specific TED talk URLs to scrape, for example https://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action. Takes precedence over searchTerm when both are set. |
maxTalks | integer | no | 10 | Maximum number of talks to collect. Range 1 to 1000000. |
withDetails | boolean | no | true | Open each talk page for view count, duration, topics, all speakers, dates, language availability and transcript. Off returns only search-card fields. |
Provide at least one of searchTerm or talkUrls.
Output reference
One dataset item per talk. Types: string, integer, boolean, object[], string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
imageUrl | string | Talk thumbnail image URL. |
title | string | Talk title. |
url | string | Canonical TED talk URL. |
id | string | TED talk ID (unique per talk). |
slug | string | URL slug of the talk. |
type | string | Talk type, for example TED Stage Talk. |
speaker | string | Primary speaker name. |
speakers | object[] | All speakers, each with name, occupation and bio. |
description | string | Talk summary. |
event | string | Event the talk was recorded at, for example TED2019. |
durationSeconds | integer | Talk length in seconds. |
durationText | string | Talk length as M:SS or MM:SS. |
viewCount | integer | Total views reported by TED. |
recordedDate | string | Date the talk was recorded (YYYY-MM-DD). |
publishedDate | string | Date and time the talk was published (ISO 8601). |
topics | string[] | Topic tags assigned by TED. |
primaryLanguage | string | Primary language code, for example en. |
languageCount | integer | Number of languages the talk is available in. |
languages | string[] | Names of all available languages. |
transcriptAvailable | boolean | true when a transcript was found. |
transcript | string | Full transcript text (only with withDetails on), or null. |
youtubeId | string | YouTube video ID when the talk is mirrored on YouTube, or null. |
externalUrl | string | External video URL (for example YouTube), or null. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"searchTerm": "creativity", "maxTalks": 3}):
{"imageUrl": "https://pi.tedcdn.com/r/talkstar-photos.s3.amazonaws.com/uploads/63ab1c06-711f-4a81-9b53-99579f69d908/IsaacMizrahi_2008-embed.jpg","title": "Fashion and creativity","url": "https://www.ted.com/talks/isaac_mizrahi_fashion_and_creativity","id": "396","slug": "isaac_mizrahi_fashion_and_creativity","type": "TED Stage Talk","speaker": "Isaac Mizrahi","speakers": [{"name": "Isaac Mizrahi","occupation": "Fashion designer","bio": "Fashion designer Isaac Mizrahi mixes high fashion and the mass market, with a line of haute couture and a line for Target. Plus a talk show, a cabaret act, a movie, a new book ..."}],"event": "TED2008","durationSeconds": 836,"durationText": "13:56","viewCount": 1233218,"recordedDate": "2008-02-02","publishedDate": "2008-11-18T01:00:00Z","topics": ["business", "creativity", "design", "entertainment", "... [trimmed]"],"primaryLanguage": "en","languageCount": 23,"transcriptAvailable": true,"youtubeId": "eSn6GP0UhKM","externalUrl": "https://www.youtube.com/watch?v=eSn6GP0UhKM","observedAt": "2026-08-08T21:12:18.610Z","error": null}
The long description, languages and transcript fields are present in the full dataset item and are trimmed or omitted here for readability.
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~ted-talks-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchTerm":"creativity","maxTalks":10,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~ted-talks-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"talkUrls":["https://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action"]}'
Apify CLI:
apify call scrapers_lat/ted-talks-scraper \--input '{"searchTerm":"leadership","maxTalks":25}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per talk returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxTalks.
FAQ and troubleshooting
A run returned 0 talks. Why?
No searchTerm or talkUrls was provided, or the search matched nothing. Provide a topic, speaker name, or exact talk URLs. Zero-result runs are not charged.
Why is transcript null?
The transcript is only collected when withDetails is on, and some talks (for example performances) have no transcript. When none exists, the field is null and transcriptAvailable is false.
Can I scrape specific talks by URL?
Yes. Pass the talk URLs in talkUrls. When both talkUrls and searchTerm are set, the URLs win.
What does languageCount mean?
The number of languages TED offers the talk in. The languages array lists their names.
Is this an official TED tool? No. This actor is independent and has no affiliation with TED. It reads only data that is publicly available on TED.com.
Related scrapers
- YouTube Scraper: Videos, channels and metadata from YouTube.
- Text Classifier Tool: Classify transcripts and text into your own labels.
- Text to JSON Tool: Turn free text into structured JSON fields.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with TED. Accesses only publicly available data on TED.com.
