# TED Talks Scraper: Speakers, Views, Topics & Transcripts (`scrapers_lat/ted-talks-scraper`) Actor

Extract TED talks by topic, speaker or URL: title, speaker and occupation, views, duration, topics, dates, event, languages and transcript. Export JSON, CSV, Excel.

- **URL**: https://apify.com/scrapers\_lat/ted-talks-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** News, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $6.96 / 1,000 talks

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/platform/actors/running/actors-in-store#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

[![TED Talks Scraper](https://scrapers.lat/banners/ted-talks-scraper.png)](https://console.apify.com/actors/649TbsGIoeENoI6aX/input)

## TED Talks Scraper

> Extract TED talks by topic, speaker or URL with speaker occupation, view counts, topics, transcripts and subtitle availability in 100+ languages

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Global-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>24 fields</strong><br>per talk</td>
<td align="center"><strong>Global</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-07-26</td>
</tr></table>

<br>

### What you get

Each record is one TED talk with its speakers, audience metrics and full transcript, ready for research, content curation or building a talks dataset.

- **imageUrl**: wide thumbnail image of the talk
- **title**: talk title
- **url**: canonical TED talk URL
- **id**: TED numeric talk id
- **slug**: talk URL slug
- **type\***: talk kind, for example TED Talk or TEDx Talk
- **speaker**: primary speaker display name
- **speakers\***: every speaker with name, occupation and short bio
- **description\***: talk summary
- **event\***: event or conference where it was recorded, for example TED2022 or TEDxUSC
- **durationSeconds\***: talk length in seconds
- **durationText\***: talk length as minutes and seconds
- **viewCount\***: total views on TED
- **recordedDate\***: date the talk was recorded
- **publishedDate\***: date the talk was published on TED
- **topics\***: tags and topics assigned to the talk
- **primaryLanguage\***: original spoken language code
- **languageCount\***: number of subtitle languages available
- **languages\***: list of subtitle languages available
- **transcriptAvailable\***: whether a transcript is available
- **transcript\***: full transcript text of the talk
- **youtubeId\***: YouTube video id when the talk is mirrored there
- **externalUrl\***: YouTube watch URL when available
- **observedAt**: when this talk was last seen by the scraper

*\*These fields only appear when withDetails is set to true.*

### Who is it for

| Use case | Who benefits |
|---|---|
| Build a searchable dataset of talks by topic | Researchers and data teams |
| Analyze speaker occupations and themes over time | Analysts and journalists |
| Curate talk playlists for courses or newsletters | Educators and content curators |
| Mine transcripts for quotes, NLP or captioning | AI and language teams |
| Track view counts and reach of specific speakers | PR and speaker bureaus |

### Frequently Asked Questions

**Which TED talks does this cover?**
It covers talks available on ted.com, including main stage TED, TEDx, TED-Ed and partner talks. Search by any topic or speaker name, or pass exact talk URLs to scrape specific talks.

**How many talks can I collect in one run?**
Set Max Talks to any number. Search results are paginated automatically until your cap is reached or the results run out, so you can pull a handful or thousands of talks.

**Can I search by speaker instead of topic?**
Yes. Put a speaker name in the search term, for example Brene Brown or Simon Sinek, and the scraper returns that speaker's talks. You can also mix topics and keywords.

**Does it return the transcript and subtitle languages?**
Yes, when Fetch Full Talk Details is on. Each talk includes whether a transcript exists, the full transcript text, the original language and the list of subtitle languages, which often exceeds 100 for popular talks.

**What happens if a talk page cannot be read?**
That talk is written to the dataset with an error field and its source URL, and the run continues. Successful talks are never blocked by a single failure.

### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [YouTube Video & Channel Data Scraper](https://apify.com/scrapers_lat/youtube-scraper): Pull video metadata, view counts and channel stats from YouTube.
- [arXiv Papers Scraper](https://apify.com/scrapers_lat/arxiv-papers-scraper): Collect research papers with authors, abstracts and categories.
- [Reddit Posts Scraper](https://apify.com/scrapers_lat/reddit-posts-scraper): Extract Reddit posts with full text, scores and awards.
- [App Store Reviews Scraper](https://apify.com/scrapers_lat/app-store-reviews-scraper): Gather app reviews, ratings and reviewer details.
- [Chrome Web Store Scraper](https://apify.com/scrapers_lat/chrome-web-store-scraper): Extract extension listings, ratings and install counts.
- [ClinicalTrials Scraper](https://apify.com/scrapers_lat/clinicaltrials-scraper): Collect clinical study records, sponsors and conditions.

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with TED. It only accesses data that is publicly available on the platform. Use it in accordance with TED's terms of service.

# Actor input Schema

## `maxTalks` (type: `integer`):

Maximum number of talks to collect. Optional.

## `withDetails` (type: `boolean`):

When on, each talk page is opened to collect view count, duration, topics, all speakers with occupation, recorded and published dates, event name, language availability and the transcript. When off, only the search-card fields are returned.

## `searchTerm` (type: `string`):

A keyword, topic or speaker name to search TED for, e.g. leadership, climate change or Brene Brown.

## `talkUrls` (type: `array`):

Specific TED talk URLs to scrape, e.g. https://www.ted.com/talks/simon\_sinek\_how\_great\_leaders\_inspire\_action

## Actor input object example

```json
{
  "maxTalks": 10,
  "withDetails": true
}
```

# Actor output Schema

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

No description

# 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 = {
    "maxTalks": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/ted-talks-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 = { "maxTalks": 10 }

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/ted-talks-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "maxTalks": 10
}' |
apify call scrapers_lat/ted-talks-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/ted-talks-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/649TbsGIoeENoI6aX/builds/zVmWVUh9mtodLD6CO/openapi.json
