# Twitter/X List Scraper (`igview-owner/twitter-x-lists-timeline`) Actor

Extract tweets from any Twitter/X List timeline. Get all tweets posted in a list with engagement metrics (likes, retweets, views), author info, media, retweets, and quoted tweets. Supports pagination.

- **URL**: https://apify.com/igview-owner/twitter-x-lists-timeline.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Social media, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## 🐦 Twitter/X Lists Timeline Scraper – Extract Tweets from X Lists

**Extract the complete timeline, tweets, retweets, and quoted tweets from any public Twitter/X List. Monitor curated lists of influencers, industries, competitors, or specific communities with detailed metadata, user details, media contents, and engagement metrics. Perfect for competitive intelligence, market research, content curation, and brand monitoring!**

### 📋 Table of Contents

- [Features](#features)
- [Use Cases](#use-cases)
- [Quick Start](#quick-start)
- [Input Parameters](#input-parameters)
- [Output Format](#output-format)
- [Data Fields Explained](#data-fields-explained)
- [FAQ](#faq)

### 🚀 Features

#### **Complete List Timeline Scraper**
- **Full Feed Extraction** - Extract all tweets, retweets, and quoted tweets from any public Twitter/X List timeline.
- **Detailed Author Metadata** - Display name, username/screen name, user ID, profile image, verified status, and follower counts of list contributors.
- **Engagement Statistics** - Monitor impressions/views, likes, retweets, replies, quote count, and bookmarks count.
- **Deep Content Parsing** - Differentiate between regular tweets, retweets, and quoted tweets with structured nested objects (`retweeted_tweet` and `quoted_tweet`).
- **Rich Media Assets** - Retrieve image and video URLs embedded directly inside tweets.

#### **Reliable Scraping Architecture**
- **Pagination Support** - Automated `maxPages` controls pagination cursors under the hood to scrape up to 20 pages of list updates.
- **No Account Required** - Pull data securely from public lists without logging into a personal Twitter/X account or using browser sessions.

### 🎯 Use Cases

| Use Case | Description | Benefits |
|----------|-------------|----------|
| **Competitor Monitoring** | Scrape a list containing all your competitors' official accounts | Track product launches, content strategies, and updates in one place |
| **Influencer Tracking** | Analyze post frequency and content patterns of niche influencers | Identify trends, verify active influencers |
| **Trend Discovery** | Follow curated lists on tech, AI, finance, or web3 | Capture news, links, and updates early |
| **Social Media Curations** | Aggregate tweets from list contributors to feed database/newsletters | Simplify content aggregation |
| **Community Analytics** | Pull tweets from specific community-built X Lists | Measure overall activity, topics, and sentiments |

### ⚡ Quick Start

#### 1️⃣ Single List Timeline Scraping
```json
{
  "listIds": [
    "1234567890123456789"
  ],
  "maxPages": 2
}
````

#### 2️⃣ Multiple Lists or List URLs

```json
{
  "listIds": [
    "https://x.com/i/lists/1234567890123456789",
    "https://twitter.com/username/lists/987654321098765432"
  ],
  "maxPages": 5
}
```

### 📊 Input Parameters

#### Configuration Options

| Parameter | Type | Required | Description | Default |
|-----------|------|----------|-------------|---------|
| `listIds` | Array | Yes | List of Twitter/X List IDs or List URLs to scrape. Supports direct numeric IDs and list URLs. | |
| `maxPages` | Integer | No | Max pages of timeline results to retrieve per list (1 page = 1 API call). Range: 1 to 20. | `1` |

### 📤 Output Format

#### **List Tweet Result Example**

```json
{
  "tweet_id": "1800000000000000000",
  "text": "Excited to share our latest research on artificial intelligence!",
  "screen_name": "ai_researcher",
  "created_at": "Wed Jun 12 14:00:00 +0000 2026",
  "favorites": 845,
  "retweets": 120,
  "replies": 32,
  "quotes": 14,
  "bookmarks": 85,
  "views": "45000",
  "lang": "en",
  "source": "Twitter Web App",
  "author_id": "44196397",
  "author_name": "AI Researcher",
  "author_username": "ai_researcher",
  "author_avatar": "https://pbs.twimg.com/profile_images/1234567890/photo_400x400.jpg",
  "author_verified": true,
  "author_followers": 25000,
  "is_retweet": false,
  "is_quote": false,
  "retweeted_tweet": null,
  "quoted_tweet": null,
  "media": null,
  "list_id": "1234567890123456789",
  "scraped_at": "2026-07-08T10:45:00.000Z"
}
```

### 📈 Data Fields Explained

#### **Complete Field Reference**

| Field | Type | Description |
|-------|------|-------------|
| `tweet_id` | String | Unique status ID of the list tweet. |
| `text` | String | Plain-text content of the tweet. |
| `screen_name` | String | Username of the author. |
| `created_at` | String | Original post timestamp. |
| `favorites` | Integer | Favorite/like count. |
| `retweets` | Integer | Retweet count. |
| `replies` | Integer | Direct reply count. |
| `quotes` | Integer | Quote tweet count. |
| `bookmarks` | Integer | Bookmark count. |
| `views` | String/Number | Impression/views count. |
| `lang` | String | Language code of the tweet. |
| `author_id` | String | Unique user ID of the tweet author. |
| `author_name` | String | Display name of the author. |
| `author_username` | String | Screen name/username of the author. |
| `author_avatar` | String | URL of the author's profile image. |
| `author_verified` | Boolean | Verification status. |
| `author_followers` | Integer | Follower count of the author. |
| `is_retweet` | Boolean | True if this is a retweet of another post. |
| `is_quote` | Boolean | True if this is a quote tweet. |
| `retweeted_tweet` | Object | Detailed nested object of the original tweet if `is_retweet` is true. |
| `quoted_tweet` | Object | Detailed nested object of the quoted tweet if `is_quote` is true. |
| `list_id` | String | The list ID being scraped. |
| `scraped_at` | String | Extraction timestamp. |

### ❓ FAQ

#### **Q: Can I scrape private Twitter/X lists?**

**A:** No. This actor can only scrape public lists. Private lists will result in access denied errors.

#### **Q: Do I need to be a member of the list to scrape it?**

**A:** No, as long as the list is public, anyone can scrape it.

#### **Q: Can I use the full List URL instead of just the List ID?**

**A:** Yes! The actor automatically parses full URLs like `https://x.com/i/lists/123456789` and extracts the ID.

***

### Related Actors 🤝

- **[Twitter X Thread Reader Scraper](https://apify.com/igview-owner/twitter-x-thread-reader)**
- **[Twitter X Recent Replies Scraper](https://apify.com/igview-owner/twitter-x-recent-replies)**
- **[Twitter X Profile Scraper](https://apify.com/igview-owner/twitter-x-profile-scraper)**
- **[Twitter X Video Downloader](https://apify.com/igview-owner/twitter-x-video-downloader)**
- **[X Profile Viewer](https://apify.com/igview-owner/x-twitter-profile-viewer)**
- **[X Follower Scraper](https://apify.com/igview-owner/twitter-x-follower-scraper)**
- **[X Following Scraper](https://apify.com/igview-owner/twitter-x-following-scraper)**
- **[Twitter Affiliates X Scraper](https://apify.com/igview-owner/twitter-advanced-x-scraper)**

***

### 🏷️ **Keywords & Tags**

`twitter list scraper`, `x list scraper`, `twitter list timeline`, `extract twitter list`, `download x list tweets`, `twitter feeds aggregator`, `monitor twitter list`, `twitter influencer tracker`, `apify twitter list scraper`, `x.com lists`

***

### 🚀 **Get Started Now**

1. Click ["Try for free"](https://apify.com?fpr=ykgg9c) to run this actor in the Apify Console.
2. Provide one or more List IDs or List URLs in the input array.
3. Configure `maxPages` to load older list timeline tweets.
4. Export your data as JSON, CSV, or Excel!

**⭐ If this actor is useful to your workflow, please leave a star!**

***

*Built by Sachin Kumar Yadav using Apify Platform*

# Actor input Schema

## `listIds` (type: `array`):

Enter Twitter/X List IDs or full list URLs. Examples: '941033329507303426', 'https://x.com/i/lists/941033329507303426'

## `maxPages` (type: `integer`):

📊 Number of result pages to scrape (1-20). Each page contains list tweets. More pages = more results but longer runtime and higher API usage.

## Actor input object example

```json
{
  "listIds": [
    "941033329507303426"
  ],
  "maxPages": 1
}
```

# Actor output Schema

## `list_overview` (type: `string`):

Open the dataset view with an overview of all list tweets including author, tweet text, likes, retweets, views, and more.

# 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 = {
    "listIds": [
        "941033329507303426"
    ],
    "maxPages": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/twitter-x-lists-timeline").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 = {
    "listIds": ["941033329507303426"],
    "maxPages": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/twitter-x-lists-timeline").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 '{
  "listIds": [
    "941033329507303426"
  ],
  "maxPages": 1
}' |
apify call igview-owner/twitter-x-lists-timeline --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=igview-owner/twitter-x-lists-timeline",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Twitter/X List Scraper",
        "description": "Extract tweets from any Twitter/X List timeline. Get all tweets posted in a list with engagement metrics (likes, retweets, views), author info, media, retweets, and quoted tweets. Supports pagination.",
        "version": "1.0",
        "x-build-id": "yw2T5AzlG7gdrsIf1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/igview-owner~twitter-x-lists-timeline/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-igview-owner-twitter-x-lists-timeline",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/igview-owner~twitter-x-lists-timeline/runs": {
            "post": {
                "operationId": "runs-sync-igview-owner-twitter-x-lists-timeline",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/igview-owner~twitter-x-lists-timeline/run-sync": {
            "post": {
                "operationId": "run-sync-igview-owner-twitter-x-lists-timeline",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "listIds"
                ],
                "properties": {
                    "listIds": {
                        "title": "List IDs or URLs",
                        "minItems": 1,
                        "maxItems": 50,
                        "type": "array",
                        "description": "Enter Twitter/X List IDs or full list URLs. Examples: '941033329507303426', 'https://x.com/i/lists/941033329507303426'",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "941033329507303426"
                        ]
                    },
                    "maxPages": {
                        "title": "📄 Maximum Pages",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "📊 Number of result pages to scrape (1-20). Each page contains list tweets. More pages = more results but longer runtime and higher API usage.",
                        "default": 1
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
