# Twitter Profile Posts Scraper – X Timelines & Media (`scrapingmonkey/twitter-profile-posts-scraper`) Actor

Extract public Twitter (X) profile posts by username. Set a page budget and get text, authors, engagement, media and source-profile details in one row per post.

- **URL**: https://apify.com/scrapingmonkey/twitter-profile-posts-scraper.md
- **Developed by:** [ScrapingMonkey](https://apify.com/scrapingmonkey) (community)
- **Categories:**
- **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. 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

Collect public posts from selected Twitter (X) profiles using plain usernames and a page budget. **Twitter Profile Posts Scraper** returns one row per post with text, author, engagement, media and the profile it was collected from.

Use it to compare account publishing, review campaign activity or build repeatable snapshots of the public timeline content X makes available.

| At a glance | Details |
|---|---|
| 📥 Input | Plain usernames and a pagesPerProfile limit |
| 📤 Output | One row per post with profile context, text, counts and media |
| 🔐 Login required | No Twitter (X) credentials or cookies |
| ⚡ Processing | Up to 5 requests concurrently with automatic retries |
| 💾 Delivery | One table; each post has its own row and matching JSON fields |

### What the Twitter (X) profile posts scraper extracts 🔎

The Actor resolves each account, reads its available post timeline and keeps post-level details together with the source profile.

- The requested profile's identity, bio, account links and public counts
- Post ID, canonical URL, text, publication date, language and content type
- Author identity, profile links, bio, public counts and account flags
- Available like, reply, repost, quote, bookmark and view counts
- Hashtags, cashtags, mentions and expanded links
- Images, video URLs, thumbnails, dimensions, alt text and available video variants
- Reply context, community reference, link-card values and edit metadata
- Quoted and reposted content included with the response, up to two embedded levels

### How to scrape Twitter (X) profile posts 🚀

1. Add a plain username such as `NASA`, without `@` or a profile URL.
2. Set `pagesPerProfile` to the maximum pages to request for each account.
3. Start the Actor and review the returned post rows.
4. Export the dataset or connect it to a scheduled reporting workflow.

```json
{
  "inputList": [
    "NASA"
  ],
  "pagesPerProfile": 1
}
```

Exact duplicate usernames are normally processed once. Keep username spelling consistent across a batch; differently capitalized inputs are not explicitly merged. Post IDs are deduplicated within each profile's pagination; the same post can still appear when collected from different profiles.

### Twitter (X) profile posts data fields and complete output 📦

| Field group | Included data |
|---|---|
| Source profile | The requested account's identity, links, counts and flags |
| Post | ID, URL, text, type, dates, language and source |
| Author | Available profile identity, bio, links, counts and account flags |
| Engagement | Likes, replies, reposts, quotes, bookmarks and views |
| Media and references | Images, videos, variants, hashtags, cashtags, mentions and links |
| Context | Reply targets, community, card data, quoted or reposted content and edit metadata |

Complete illustrative success item with fictional content, not a live result:

```json
{
  "input": "northstar_lab",
  "status": "success",
  "profile.id": "100100100",
  "profile.username": "northstar_lab",
  "profile.name": "Northstar Lab",
  "profile.profile_url": "https://x.com/northstar_lab",
  "profile.description": "Research, field notes and conversations about science.",
  "profile.location": "Singapore",
  "profile.created_at": "2021-01-15T09:00:00Z",
  "profile.created_timestamp": 1610701200,
  "profile.followers_count": 4200,
  "profile.following_count": 180,
  "profile.posts_count": 640,
  "profile.media_posts_count": 86,
  "profile.likes_given_count": 320,
  "profile.highlights_count": 8,
  "profile.avatar_url": "https://example.com/northstar_lab_normal.jpg",
  "profile.avatar_url_hd": "https://example.com/northstar_lab_400x400.jpg",
  "profile.banner_url": "https://example.com/lab-banner.jpg",
  "profile.website.url": "https://t.co/LabSite",
  "profile.website.expanded_url": "https://example.com/lab",
  "profile.bio_links.url": ["https://t.co/LabSite"],
  "profile.bio_links.expanded_url": ["https://example.com/lab"],
  "profile.bio_links.display_url": ["example.com/lab"],
  "profile.is_verified": false,
  "profile.verified_type": "",
  "profile.is_blue_verified": false,
  "profile.is_identity_verified": false,
  "profile.verification_description": "",
  "profile.verified_since_at": "",
  "profile.is_protected": false,
  "profile.possibly_sensitive": false,
  "profile.professional_type": "Business",
  "profile.affiliates_count": 0,
  "profile.creator_subscriptions_count": 0,
  "profile.can_highlight_posts": true,
  "profile.can_receive_messages": false,
  "profile.can_be_media_tagged": false,
  "profile.description_language": "en",
  "profile.profile_image_shape": "Circle",
  "profile.pinned_post_ids": ["2088355206723477000"],
  "profile.birthdate.day": 0,
  "profile.birthdate.month": 0,
  "profile.birthdate.year": 0,
  "profile.birthdate.visibility": "",
  "profile.birthdate.year_visibility": "",
  "id": "2088355206723477000",
  "url": "https://x.com/northstar_lab/status/2088355206723477000",
  "type": "mixed_media",
  "text": "Our field research plan is ready. Thanks @maya_fieldnotes. Read the guide: https://t.co/FieldGuide #Fieldwork",
  "created_at": "2026-09-01T10:00:00Z",
  "created_timestamp": 1788256800,
  "language": "en",
  "source": "X Web App",
  "author.id": "100100100",
  "author.username": "northstar_lab",
  "author.name": "Northstar Lab",
  "author.profile_url": "https://x.com/northstar_lab",
  "author.description": "Research, field notes and conversations about science.",
  "author.location": "Singapore",
  "author.created_at": "2021-01-15T09:00:00Z",
  "author.created_timestamp": 1610701200,
  "author.followers_count": 4200,
  "author.following_count": 180,
  "author.posts_count": 640,
  "author.media_posts_count": 86,
  "author.likes_given_count": 320,
  "author.highlights_count": 8,
  "author.avatar_url": "https://example.com/northstar_lab_normal.jpg",
  "author.avatar_url_hd": "https://example.com/northstar_lab_400x400.jpg",
  "author.banner_url": "https://example.com/lab-banner.jpg",
  "author.website.url": "https://t.co/LabSite",
  "author.website.expanded_url": "https://example.com/lab",
  "author.bio_links.url": ["https://t.co/LabSite"],
  "author.bio_links.expanded_url": ["https://example.com/lab"],
  "author.bio_links.display_url": ["example.com/lab"],
  "author.is_verified": false,
  "author.verified_type": "",
  "author.is_blue_verified": false,
  "author.is_identity_verified": false,
  "author.verification_description": "",
  "author.verified_since_at": "",
  "author.is_protected": false,
  "author.possibly_sensitive": false,
  "author.professional_type": "Business",
  "author.affiliates_count": 0,
  "author.creator_subscriptions_count": 0,
  "author.can_highlight_posts": true,
  "author.can_receive_messages": false,
  "author.can_be_media_tagged": false,
  "author.description_language": "en",
  "author.profile_image_shape": "Circle",
  "author.pinned_post_ids": ["2088355206723477000"],
  "author.birthdate.day": 0,
  "author.birthdate.month": 0,
  "author.birthdate.year": 0,
  "author.birthdate.visibility": "",
  "author.birthdate.year_visibility": "",
  "like_count": 84,
  "reply_count": 7,
  "repost_count": 12,
  "quote_count": 3,
  "bookmark_count": 9,
  "view_count": 4200,
  "conversation_id": "2088355206723477000",
  "reply_to_post_id": "",
  "reply_to_user_id": "",
  "reply_to_username": "",
  "is_reply": false,
  "is_quote": true,
  "is_repost": false,
  "is_note_post": false,
  "possibly_sensitive": false,
  "is_translatable": true,
  "has_community_note": false,
  "hashtags": ["Fieldwork"],
  "cashtags": [],
  "mentions.id": ["100100200"],
  "mentions.username": ["maya_fieldnotes"],
  "mentions.name": ["Maya Chen"],
  "mentions.profile_url": ["https://x.com/maya_fieldnotes"],
  "links.url": ["https://t.co/FieldGuide"],
  "links.expanded_url": ["https://example.com/field-guide"],
  "links.display_url": ["example.com/field-guide"],
  "media.id": ["200100300", "200100400"],
  "media.type": ["video", "image"],
  "media.image_url": ["https://example.com/field-briefing.jpg", "https://example.com/sampling-checklist.jpg"],
  "media.video_url": ["https://example.com/field-briefing-1080.mp4", ""],
  "media.expanded_url": ["https://x.com/northstar_lab/status/2088355206723477000/video/1", "https://x.com/northstar_lab/status/2088355206723477000/photo/2"],
  "media.alt_text": ["A short briefing on the field sampling plan", "A checklist of sampling equipment"],
  "media.width": [1920, 1200],
  "media.height": [1080, 800],
  "media.duration_ms": [30000, 0],
  "media.aspect_ratio": [[16, 9], []],
  "media.video_variants.url": [["https://example.com/field-briefing-720.mp4", "https://example.com/field-briefing-1080.mp4"], []],
  "media.video_variants.content_type": [["video/mp4", "video/mp4"], []],
  "media.video_variants.bitrate": [[832000, 2176000], []],
  "card.id": "2088355206723477200",
  "card.name": "summary_large_image",
  "card.url": "https://example.com/field-guide",
  "card.values.path": ["/title", "/description", "/thumbnail_image/url", "/thumbnail_image/width", "/thumbnail_image/height"],
  "card.values.value": ["Field research guide", "Planning and recording field observations.", "https://example.com/guide-cover.jpg", 1200, 628],
  "community.id": "",
  "community.name": "",
  "quoted_post.id": "2088355206723476000",
  "quoted_post.url": "https://x.com/maya_fieldnotes/status/2088355206723476000",
  "quoted_post.type": "text",
  "quoted_post.text": "A clear sampling question makes the rest of the field plan easier to review.",
  "quoted_post.created_at": "2026-09-01T08:00:00Z",
  "quoted_post.created_timestamp": 1788249600,
  "quoted_post.language": "en",
  "quoted_post.source": "X Web App",
  "quoted_post.author.id": "100100200",
  "quoted_post.author.username": "maya_fieldnotes",
  "quoted_post.author.name": "Maya Chen",
  "quoted_post.author.profile_url": "https://x.com/maya_fieldnotes",
  "quoted_post.author.description": "Research, field notes and conversations about science.",
  "quoted_post.author.location": "Singapore",
  "quoted_post.author.created_at": "2021-01-15T09:00:00Z",
  "quoted_post.author.created_timestamp": 1610701200,
  "quoted_post.author.followers_count": 4200,
  "quoted_post.author.following_count": 180,
  "quoted_post.author.posts_count": 640,
  "quoted_post.author.media_posts_count": 86,
  "quoted_post.author.likes_given_count": 320,
  "quoted_post.author.highlights_count": 8,
  "quoted_post.author.avatar_url": "https://example.com/maya_fieldnotes_normal.jpg",
  "quoted_post.author.avatar_url_hd": "https://example.com/maya_fieldnotes_400x400.jpg",
  "quoted_post.author.banner_url": "https://example.com/lab-banner.jpg",
  "quoted_post.author.website.url": "https://t.co/LabSite",
  "quoted_post.author.website.expanded_url": "https://example.com/lab",
  "quoted_post.author.bio_links.url": ["https://t.co/LabSite"],
  "quoted_post.author.bio_links.expanded_url": ["https://example.com/lab"],
  "quoted_post.author.bio_links.display_url": ["example.com/lab"],
  "quoted_post.author.is_verified": false,
  "quoted_post.author.verified_type": "",
  "quoted_post.author.is_blue_verified": false,
  "quoted_post.author.is_identity_verified": false,
  "quoted_post.author.verification_description": "",
  "quoted_post.author.verified_since_at": "",
  "quoted_post.author.is_protected": false,
  "quoted_post.author.possibly_sensitive": false,
  "quoted_post.author.professional_type": "Business",
  "quoted_post.author.affiliates_count": 0,
  "quoted_post.author.creator_subscriptions_count": 0,
  "quoted_post.author.can_highlight_posts": true,
  "quoted_post.author.can_receive_messages": false,
  "quoted_post.author.can_be_media_tagged": false,
  "quoted_post.author.description_language": "en",
  "quoted_post.author.profile_image_shape": "Circle",
  "quoted_post.author.pinned_post_ids": ["2088355206723477000"],
  "quoted_post.author.birthdate.day": 0,
  "quoted_post.author.birthdate.month": 0,
  "quoted_post.author.birthdate.year": 0,
  "quoted_post.author.birthdate.visibility": "",
  "quoted_post.author.birthdate.year_visibility": "",
  "quoted_post.like_count": 32,
  "quoted_post.reply_count": 2,
  "quoted_post.repost_count": 4,
  "quoted_post.quote_count": 1,
  "quoted_post.bookmark_count": 3,
  "quoted_post.view_count": 1800,
  "quoted_post.conversation_id": "2088355206723476000",
  "quoted_post.reply_to_post_id": "",
  "quoted_post.reply_to_user_id": "",
  "quoted_post.reply_to_username": "",
  "quoted_post.is_reply": false,
  "quoted_post.is_quote": false,
  "quoted_post.is_repost": false,
  "quoted_post.is_note_post": false,
  "quoted_post.possibly_sensitive": false,
  "quoted_post.is_translatable": true,
  "quoted_post.has_community_note": false,
  "quoted_post.hashtags": [],
  "quoted_post.cashtags": [],
  "quoted_post.mentions.id": [],
  "quoted_post.mentions.username": [],
  "quoted_post.mentions.name": [],
  "quoted_post.mentions.profile_url": [],
  "quoted_post.links.url": [],
  "quoted_post.links.expanded_url": [],
  "quoted_post.links.display_url": [],
  "quoted_post.media.id": [],
  "quoted_post.media.type": [],
  "quoted_post.media.image_url": [],
  "quoted_post.media.video_url": [],
  "quoted_post.media.expanded_url": [],
  "quoted_post.media.alt_text": [],
  "quoted_post.media.width": [],
  "quoted_post.media.height": [],
  "quoted_post.media.duration_ms": [],
  "quoted_post.media.aspect_ratio": [],
  "quoted_post.media.video_variants.url": [],
  "quoted_post.media.video_variants.content_type": [],
  "quoted_post.media.video_variants.bitrate": [],
  "quoted_post.card.id": null,
  "quoted_post.card.name": null,
  "quoted_post.card.url": null,
  "quoted_post.card.values.path": null,
  "quoted_post.card.values.value": null,
  "quoted_post.community.id": "",
  "quoted_post.community.name": "",
  "quoted_post.quoted_post.id": null,
  "quoted_post.quoted_post.url": null,
  "quoted_post.quoted_post.type": null,
  "quoted_post.quoted_post.text": null,
  "quoted_post.quoted_post.created_at": null,
  "quoted_post.quoted_post.created_timestamp": null,
  "quoted_post.quoted_post.language": null,
  "quoted_post.quoted_post.source": null,
  "quoted_post.quoted_post.author.id": null,
  "quoted_post.quoted_post.author.username": null,
  "quoted_post.quoted_post.author.name": null,
  "quoted_post.quoted_post.author.profile_url": null,
  "quoted_post.quoted_post.author.description": null,
  "quoted_post.quoted_post.author.location": null,
  "quoted_post.quoted_post.author.created_at": null,
  "quoted_post.quoted_post.author.created_timestamp": null,
  "quoted_post.quoted_post.author.followers_count": null,
  "quoted_post.quoted_post.author.following_count": null,
  "quoted_post.quoted_post.author.posts_count": null,
  "quoted_post.quoted_post.author.media_posts_count": null,
  "quoted_post.quoted_post.author.likes_given_count": null,
  "quoted_post.quoted_post.author.highlights_count": null,
  "quoted_post.quoted_post.author.avatar_url": null,
  "quoted_post.quoted_post.author.avatar_url_hd": null,
  "quoted_post.quoted_post.author.banner_url": null,
  "quoted_post.quoted_post.author.website.url": null,
  "quoted_post.quoted_post.author.website.expanded_url": null,
  "quoted_post.quoted_post.author.bio_links.url": null,
  "quoted_post.quoted_post.author.bio_links.expanded_url": null,
  "quoted_post.quoted_post.author.bio_links.display_url": null,
  "quoted_post.quoted_post.author.is_verified": null,
  "quoted_post.quoted_post.author.verified_type": null,
  "quoted_post.quoted_post.author.is_blue_verified": null,
  "quoted_post.quoted_post.author.is_identity_verified": null,
  "quoted_post.quoted_post.author.verification_description": null,
  "quoted_post.quoted_post.author.verified_since_at": null,
  "quoted_post.quoted_post.author.is_protected": null,
  "quoted_post.quoted_post.author.possibly_sensitive": null,
  "quoted_post.quoted_post.author.professional_type": null,
  "quoted_post.quoted_post.author.affiliates_count": null,
  "quoted_post.quoted_post.author.creator_subscriptions_count": null,
  "quoted_post.quoted_post.author.can_highlight_posts": null,
  "quoted_post.quoted_post.author.can_receive_messages": null,
  "quoted_post.quoted_post.author.can_be_media_tagged": null,
  "quoted_post.quoted_post.author.description_language": null,
  "quoted_post.quoted_post.author.profile_image_shape": null,
  "quoted_post.quoted_post.author.pinned_post_ids": null,
  "quoted_post.quoted_post.author.birthdate.day": null,
  "quoted_post.quoted_post.author.birthdate.month": null,
  "quoted_post.quoted_post.author.birthdate.year": null,
  "quoted_post.quoted_post.author.birthdate.visibility": null,
  "quoted_post.quoted_post.author.birthdate.year_visibility": null,
  "quoted_post.quoted_post.like_count": null,
  "quoted_post.quoted_post.reply_count": null,
  "quoted_post.quoted_post.repost_count": null,
  "quoted_post.quoted_post.quote_count": null,
  "quoted_post.quoted_post.bookmark_count": null,
  "quoted_post.quoted_post.view_count": null,
  "quoted_post.quoted_post.conversation_id": null,
  "quoted_post.quoted_post.reply_to_post_id": null,
  "quoted_post.quoted_post.reply_to_user_id": null,
  "quoted_post.quoted_post.reply_to_username": null,
  "quoted_post.quoted_post.is_reply": null,
  "quoted_post.quoted_post.is_quote": null,
  "quoted_post.quoted_post.is_repost": null,
  "quoted_post.quoted_post.is_note_post": null,
  "quoted_post.quoted_post.possibly_sensitive": null,
  "quoted_post.quoted_post.is_translatable": null,
  "quoted_post.quoted_post.has_community_note": null,
  "quoted_post.quoted_post.hashtags": null,
  "quoted_post.quoted_post.cashtags": null,
  "quoted_post.quoted_post.mentions.id": null,
  "quoted_post.quoted_post.mentions.username": null,
  "quoted_post.quoted_post.mentions.name": null,
  "quoted_post.quoted_post.mentions.profile_url": null,
  "quoted_post.quoted_post.links.url": null,
  "quoted_post.quoted_post.links.expanded_url": null,
  "quoted_post.quoted_post.links.display_url": null,
  "quoted_post.quoted_post.media.id": null,
  "quoted_post.quoted_post.media.type": null,
  "quoted_post.quoted_post.media.image_url": null,
  "quoted_post.quoted_post.media.video_url": null,
  "quoted_post.quoted_post.media.expanded_url": null,
  "quoted_post.quoted_post.media.alt_text": null,
  "quoted_post.quoted_post.media.width": null,
  "quoted_post.quoted_post.media.height": null,
  "quoted_post.quoted_post.media.duration_ms": null,
  "quoted_post.quoted_post.media.aspect_ratio": null,
  "quoted_post.quoted_post.media.video_variants.url": null,
  "quoted_post.quoted_post.media.video_variants.content_type": null,
  "quoted_post.quoted_post.media.video_variants.bitrate": null,
  "quoted_post.quoted_post.card.id": null,
  "quoted_post.quoted_post.card.name": null,
  "quoted_post.quoted_post.card.url": null,
  "quoted_post.quoted_post.card.values.path": null,
  "quoted_post.quoted_post.card.values.value": null,
  "quoted_post.quoted_post.community.id": null,
  "quoted_post.quoted_post.community.name": null,
  "quoted_post.quoted_post.quoted_post": null,
  "quoted_post.quoted_post.reposted_post": null,
  "quoted_post.quoted_post.edit_info.is_edit_eligible": null,
  "quoted_post.quoted_post.edit_info.editable_until": null,
  "quoted_post.quoted_post.edit_info.edits_remaining": null,
  "quoted_post.quoted_post.edit_info.edit_post_ids": null,
  "quoted_post.reposted_post.id": null,
  "quoted_post.reposted_post.url": null,
  "quoted_post.reposted_post.type": null,
  "quoted_post.reposted_post.text": null,
  "quoted_post.reposted_post.created_at": null,
  "quoted_post.reposted_post.created_timestamp": null,
  "quoted_post.reposted_post.language": null,
  "quoted_post.reposted_post.source": null,
  "quoted_post.reposted_post.author.id": null,
  "quoted_post.reposted_post.author.username": null,
  "quoted_post.reposted_post.author.name": null,
  "quoted_post.reposted_post.author.profile_url": null,
  "quoted_post.reposted_post.author.description": null,
  "quoted_post.reposted_post.author.location": null,
  "quoted_post.reposted_post.author.created_at": null,
  "quoted_post.reposted_post.author.created_timestamp": null,
  "quoted_post.reposted_post.author.followers_count": null,
  "quoted_post.reposted_post.author.following_count": null,
  "quoted_post.reposted_post.author.posts_count": null,
  "quoted_post.reposted_post.author.media_posts_count": null,
  "quoted_post.reposted_post.author.likes_given_count": null,
  "quoted_post.reposted_post.author.highlights_count": null,
  "quoted_post.reposted_post.author.avatar_url": null,
  "quoted_post.reposted_post.author.avatar_url_hd": null,
  "quoted_post.reposted_post.author.banner_url": null,
  "quoted_post.reposted_post.author.website.url": null,
  "quoted_post.reposted_post.author.website.expanded_url": null,
  "quoted_post.reposted_post.author.bio_links.url": null,
  "quoted_post.reposted_post.author.bio_links.expanded_url": null,
  "quoted_post.reposted_post.author.bio_links.display_url": null,
  "quoted_post.reposted_post.author.is_verified": null,
  "quoted_post.reposted_post.author.verified_type": null,
  "quoted_post.reposted_post.author.is_blue_verified": null,
  "quoted_post.reposted_post.author.is_identity_verified": null,
  "quoted_post.reposted_post.author.verification_description": null,
  "quoted_post.reposted_post.author.verified_since_at": null,
  "quoted_post.reposted_post.author.is_protected": null,
  "quoted_post.reposted_post.author.possibly_sensitive": null,
  "quoted_post.reposted_post.author.professional_type": null,
  "quoted_post.reposted_post.author.affiliates_count": null,
  "quoted_post.reposted_post.author.creator_subscriptions_count": null,
  "quoted_post.reposted_post.author.can_highlight_posts": null,
  "quoted_post.reposted_post.author.can_receive_messages": null,
  "quoted_post.reposted_post.author.can_be_media_tagged": null,
  "quoted_post.reposted_post.author.description_language": null,
  "quoted_post.reposted_post.author.profile_image_shape": null,
  "quoted_post.reposted_post.author.pinned_post_ids": null,
  "quoted_post.reposted_post.author.birthdate.day": null,
  "quoted_post.reposted_post.author.birthdate.month": null,
  "quoted_post.reposted_post.author.birthdate.year": null,
  "quoted_post.reposted_post.author.birthdate.visibility": null,
  "quoted_post.reposted_post.author.birthdate.year_visibility": null,
  "quoted_post.reposted_post.like_count": null,
  "quoted_post.reposted_post.reply_count": null,
  "quoted_post.reposted_post.repost_count": null,
  "quoted_post.reposted_post.quote_count": null,
  "quoted_post.reposted_post.bookmark_count": null,
  "quoted_post.reposted_post.view_count": null,
  "quoted_post.reposted_post.conversation_id": null,
  "quoted_post.reposted_post.reply_to_post_id": null,
  "quoted_post.reposted_post.reply_to_user_id": null,
  "quoted_post.reposted_post.reply_to_username": null,
  "quoted_post.reposted_post.is_reply": null,
  "quoted_post.reposted_post.is_quote": null,
  "quoted_post.reposted_post.is_repost": null,
  "quoted_post.reposted_post.is_note_post": null,
  "quoted_post.reposted_post.possibly_sensitive": null,
  "quoted_post.reposted_post.is_translatable": null,
  "quoted_post.reposted_post.has_community_note": null,
  "quoted_post.reposted_post.hashtags": null,
  "quoted_post.reposted_post.cashtags": null,
  "quoted_post.reposted_post.mentions.id": null,
  "quoted_post.reposted_post.mentions.username": null,
  "quoted_post.reposted_post.mentions.name": null,
  "quoted_post.reposted_post.mentions.profile_url": null,
  "quoted_post.reposted_post.links.url": null,
  "quoted_post.reposted_post.links.expanded_url": null,
  "quoted_post.reposted_post.links.display_url": null,
  "quoted_post.reposted_post.media.id": null,
  "quoted_post.reposted_post.media.type": null,
  "quoted_post.reposted_post.media.image_url": null,
  "quoted_post.reposted_post.media.video_url": null,
  "quoted_post.reposted_post.media.expanded_url": null,
  "quoted_post.reposted_post.media.alt_text": null,
  "quoted_post.reposted_post.media.width": null,
  "quoted_post.reposted_post.media.height": null,
  "quoted_post.reposted_post.media.duration_ms": null,
  "quoted_post.reposted_post.media.aspect_ratio": null,
  "quoted_post.reposted_post.media.video_variants.url": null,
  "quoted_post.reposted_post.media.video_variants.content_type": null,
  "quoted_post.reposted_post.media.video_variants.bitrate": null,
  "quoted_post.reposted_post.card.id": null,
  "quoted_post.reposted_post.card.name": null,
  "quoted_post.reposted_post.card.url": null,
  "quoted_post.reposted_post.card.values.path": null,
  "quoted_post.reposted_post.card.values.value": null,
  "quoted_post.reposted_post.community.id": null,
  "quoted_post.reposted_post.community.name": null,
  "quoted_post.reposted_post.quoted_post": null,
  "quoted_post.reposted_post.reposted_post": null,
  "quoted_post.reposted_post.edit_info.is_edit_eligible": null,
  "quoted_post.reposted_post.edit_info.editable_until": null,
  "quoted_post.reposted_post.edit_info.edits_remaining": null,
  "quoted_post.reposted_post.edit_info.edit_post_ids": null,
  "quoted_post.edit_info.is_edit_eligible": false,
  "quoted_post.edit_info.editable_until": "",
  "quoted_post.edit_info.edits_remaining": 0,
  "quoted_post.edit_info.edit_post_ids": [],
  "reposted_post.id": null,
  "reposted_post.url": null,
  "reposted_post.type": null,
  "reposted_post.text": null,
  "reposted_post.created_at": null,
  "reposted_post.created_timestamp": null,
  "reposted_post.language": null,
  "reposted_post.source": null,
  "reposted_post.author.id": null,
  "reposted_post.author.username": null,
  "reposted_post.author.name": null,
  "reposted_post.author.profile_url": null,
  "reposted_post.author.description": null,
  "reposted_post.author.location": null,
  "reposted_post.author.created_at": null,
  "reposted_post.author.created_timestamp": null,
  "reposted_post.author.followers_count": null,
  "reposted_post.author.following_count": null,
  "reposted_post.author.posts_count": null,
  "reposted_post.author.media_posts_count": null,
  "reposted_post.author.likes_given_count": null,
  "reposted_post.author.highlights_count": null,
  "reposted_post.author.avatar_url": null,
  "reposted_post.author.avatar_url_hd": null,
  "reposted_post.author.banner_url": null,
  "reposted_post.author.website.url": null,
  "reposted_post.author.website.expanded_url": null,
  "reposted_post.author.bio_links.url": null,
  "reposted_post.author.bio_links.expanded_url": null,
  "reposted_post.author.bio_links.display_url": null,
  "reposted_post.author.is_verified": null,
  "reposted_post.author.verified_type": null,
  "reposted_post.author.is_blue_verified": null,
  "reposted_post.author.is_identity_verified": null,
  "reposted_post.author.verification_description": null,
  "reposted_post.author.verified_since_at": null,
  "reposted_post.author.is_protected": null,
  "reposted_post.author.possibly_sensitive": null,
  "reposted_post.author.professional_type": null,
  "reposted_post.author.affiliates_count": null,
  "reposted_post.author.creator_subscriptions_count": null,
  "reposted_post.author.can_highlight_posts": null,
  "reposted_post.author.can_receive_messages": null,
  "reposted_post.author.can_be_media_tagged": null,
  "reposted_post.author.description_language": null,
  "reposted_post.author.profile_image_shape": null,
  "reposted_post.author.pinned_post_ids": null,
  "reposted_post.author.birthdate.day": null,
  "reposted_post.author.birthdate.month": null,
  "reposted_post.author.birthdate.year": null,
  "reposted_post.author.birthdate.visibility": null,
  "reposted_post.author.birthdate.year_visibility": null,
  "reposted_post.like_count": null,
  "reposted_post.reply_count": null,
  "reposted_post.repost_count": null,
  "reposted_post.quote_count": null,
  "reposted_post.bookmark_count": null,
  "reposted_post.view_count": null,
  "reposted_post.conversation_id": null,
  "reposted_post.reply_to_post_id": null,
  "reposted_post.reply_to_user_id": null,
  "reposted_post.reply_to_username": null,
  "reposted_post.is_reply": null,
  "reposted_post.is_quote": null,
  "reposted_post.is_repost": null,
  "reposted_post.is_note_post": null,
  "reposted_post.possibly_sensitive": null,
  "reposted_post.is_translatable": null,
  "reposted_post.has_community_note": null,
  "reposted_post.hashtags": null,
  "reposted_post.cashtags": null,
  "reposted_post.mentions.id": null,
  "reposted_post.mentions.username": null,
  "reposted_post.mentions.name": null,
  "reposted_post.mentions.profile_url": null,
  "reposted_post.links.url": null,
  "reposted_post.links.expanded_url": null,
  "reposted_post.links.display_url": null,
  "reposted_post.media.id": null,
  "reposted_post.media.type": null,
  "reposted_post.media.image_url": null,
  "reposted_post.media.video_url": null,
  "reposted_post.media.expanded_url": null,
  "reposted_post.media.alt_text": null,
  "reposted_post.media.width": null,
  "reposted_post.media.height": null,
  "reposted_post.media.duration_ms": null,
  "reposted_post.media.aspect_ratio": null,
  "reposted_post.media.video_variants.url": null,
  "reposted_post.media.video_variants.content_type": null,
  "reposted_post.media.video_variants.bitrate": null,
  "reposted_post.card.id": null,
  "reposted_post.card.name": null,
  "reposted_post.card.url": null,
  "reposted_post.card.values.path": null,
  "reposted_post.card.values.value": null,
  "reposted_post.community.id": null,
  "reposted_post.community.name": null,
  "reposted_post.quoted_post.id": null,
  "reposted_post.quoted_post.url": null,
  "reposted_post.quoted_post.type": null,
  "reposted_post.quoted_post.text": null,
  "reposted_post.quoted_post.created_at": null,
  "reposted_post.quoted_post.created_timestamp": null,
  "reposted_post.quoted_post.language": null,
  "reposted_post.quoted_post.source": null,
  "reposted_post.quoted_post.author.id": null,
  "reposted_post.quoted_post.author.username": null,
  "reposted_post.quoted_post.author.name": null,
  "reposted_post.quoted_post.author.profile_url": null,
  "reposted_post.quoted_post.author.description": null,
  "reposted_post.quoted_post.author.location": null,
  "reposted_post.quoted_post.author.created_at": null,
  "reposted_post.quoted_post.author.created_timestamp": null,
  "reposted_post.quoted_post.author.followers_count": null,
  "reposted_post.quoted_post.author.following_count": null,
  "reposted_post.quoted_post.author.posts_count": null,
  "reposted_post.quoted_post.author.media_posts_count": null,
  "reposted_post.quoted_post.author.likes_given_count": null,
  "reposted_post.quoted_post.author.highlights_count": null,
  "reposted_post.quoted_post.author.avatar_url": null,
  "reposted_post.quoted_post.author.avatar_url_hd": null,
  "reposted_post.quoted_post.author.banner_url": null,
  "reposted_post.quoted_post.author.website.url": null,
  "reposted_post.quoted_post.author.website.expanded_url": null,
  "reposted_post.quoted_post.author.bio_links.url": null,
  "reposted_post.quoted_post.author.bio_links.expanded_url": null,
  "reposted_post.quoted_post.author.bio_links.display_url": null,
  "reposted_post.quoted_post.author.is_verified": null,
  "reposted_post.quoted_post.author.verified_type": null,
  "reposted_post.quoted_post.author.is_blue_verified": null,
  "reposted_post.quoted_post.author.is_identity_verified": null,
  "reposted_post.quoted_post.author.verification_description": null,
  "reposted_post.quoted_post.author.verified_since_at": null,
  "reposted_post.quoted_post.author.is_protected": null,
  "reposted_post.quoted_post.author.possibly_sensitive": null,
  "reposted_post.quoted_post.author.professional_type": null,
  "reposted_post.quoted_post.author.affiliates_count": null,
  "reposted_post.quoted_post.author.creator_subscriptions_count": null,
  "reposted_post.quoted_post.author.can_highlight_posts": null,
  "reposted_post.quoted_post.author.can_receive_messages": null,
  "reposted_post.quoted_post.author.can_be_media_tagged": null,
  "reposted_post.quoted_post.author.description_language": null,
  "reposted_post.quoted_post.author.profile_image_shape": null,
  "reposted_post.quoted_post.author.pinned_post_ids": null,
  "reposted_post.quoted_post.author.birthdate.day": null,
  "reposted_post.quoted_post.author.birthdate.month": null,
  "reposted_post.quoted_post.author.birthdate.year": null,
  "reposted_post.quoted_post.author.birthdate.visibility": null,
  "reposted_post.quoted_post.author.birthdate.year_visibility": null,
  "reposted_post.quoted_post.like_count": null,
  "reposted_post.quoted_post.reply_count": null,
  "reposted_post.quoted_post.repost_count": null,
  "reposted_post.quoted_post.quote_count": null,
  "reposted_post.quoted_post.bookmark_count": null,
  "reposted_post.quoted_post.view_count": null,
  "reposted_post.quoted_post.conversation_id": null,
  "reposted_post.quoted_post.reply_to_post_id": null,
  "reposted_post.quoted_post.reply_to_user_id": null,
  "reposted_post.quoted_post.reply_to_username": null,
  "reposted_post.quoted_post.is_reply": null,
  "reposted_post.quoted_post.is_quote": null,
  "reposted_post.quoted_post.is_repost": null,
  "reposted_post.quoted_post.is_note_post": null,
  "reposted_post.quoted_post.possibly_sensitive": null,
  "reposted_post.quoted_post.is_translatable": null,
  "reposted_post.quoted_post.has_community_note": null,
  "reposted_post.quoted_post.hashtags": null,
  "reposted_post.quoted_post.cashtags": null,
  "reposted_post.quoted_post.mentions.id": null,
  "reposted_post.quoted_post.mentions.username": null,
  "reposted_post.quoted_post.mentions.name": null,
  "reposted_post.quoted_post.mentions.profile_url": null,
  "reposted_post.quoted_post.links.url": null,
  "reposted_post.quoted_post.links.expanded_url": null,
  "reposted_post.quoted_post.links.display_url": null,
  "reposted_post.quoted_post.media.id": null,
  "reposted_post.quoted_post.media.type": null,
  "reposted_post.quoted_post.media.image_url": null,
  "reposted_post.quoted_post.media.video_url": null,
  "reposted_post.quoted_post.media.expanded_url": null,
  "reposted_post.quoted_post.media.alt_text": null,
  "reposted_post.quoted_post.media.width": null,
  "reposted_post.quoted_post.media.height": null,
  "reposted_post.quoted_post.media.duration_ms": null,
  "reposted_post.quoted_post.media.aspect_ratio": null,
  "reposted_post.quoted_post.media.video_variants.url": null,
  "reposted_post.quoted_post.media.video_variants.content_type": null,
  "reposted_post.quoted_post.media.video_variants.bitrate": null,
  "reposted_post.quoted_post.card.id": null,
  "reposted_post.quoted_post.card.name": null,
  "reposted_post.quoted_post.card.url": null,
  "reposted_post.quoted_post.card.values.path": null,
  "reposted_post.quoted_post.card.values.value": null,
  "reposted_post.quoted_post.community.id": null,
  "reposted_post.quoted_post.community.name": null,
  "reposted_post.quoted_post.quoted_post": null,
  "reposted_post.quoted_post.reposted_post": null,
  "reposted_post.quoted_post.edit_info.is_edit_eligible": null,
  "reposted_post.quoted_post.edit_info.editable_until": null,
  "reposted_post.quoted_post.edit_info.edits_remaining": null,
  "reposted_post.quoted_post.edit_info.edit_post_ids": null,
  "reposted_post.reposted_post.id": null,
  "reposted_post.reposted_post.url": null,
  "reposted_post.reposted_post.type": null,
  "reposted_post.reposted_post.text": null,
  "reposted_post.reposted_post.created_at": null,
  "reposted_post.reposted_post.created_timestamp": null,
  "reposted_post.reposted_post.language": null,
  "reposted_post.reposted_post.source": null,
  "reposted_post.reposted_post.author.id": null,
  "reposted_post.reposted_post.author.username": null,
  "reposted_post.reposted_post.author.name": null,
  "reposted_post.reposted_post.author.profile_url": null,
  "reposted_post.reposted_post.author.description": null,
  "reposted_post.reposted_post.author.location": null,
  "reposted_post.reposted_post.author.created_at": null,
  "reposted_post.reposted_post.author.created_timestamp": null,
  "reposted_post.reposted_post.author.followers_count": null,
  "reposted_post.reposted_post.author.following_count": null,
  "reposted_post.reposted_post.author.posts_count": null,
  "reposted_post.reposted_post.author.media_posts_count": null,
  "reposted_post.reposted_post.author.likes_given_count": null,
  "reposted_post.reposted_post.author.highlights_count": null,
  "reposted_post.reposted_post.author.avatar_url": null,
  "reposted_post.reposted_post.author.avatar_url_hd": null,
  "reposted_post.reposted_post.author.banner_url": null,
  "reposted_post.reposted_post.author.website.url": null,
  "reposted_post.reposted_post.author.website.expanded_url": null,
  "reposted_post.reposted_post.author.bio_links.url": null,
  "reposted_post.reposted_post.author.bio_links.expanded_url": null,
  "reposted_post.reposted_post.author.bio_links.display_url": null,
  "reposted_post.reposted_post.author.is_verified": null,
  "reposted_post.reposted_post.author.verified_type": null,
  "reposted_post.reposted_post.author.is_blue_verified": null,
  "reposted_post.reposted_post.author.is_identity_verified": null,
  "reposted_post.reposted_post.author.verification_description": null,
  "reposted_post.reposted_post.author.verified_since_at": null,
  "reposted_post.reposted_post.author.is_protected": null,
  "reposted_post.reposted_post.author.possibly_sensitive": null,
  "reposted_post.reposted_post.author.professional_type": null,
  "reposted_post.reposted_post.author.affiliates_count": null,
  "reposted_post.reposted_post.author.creator_subscriptions_count": null,
  "reposted_post.reposted_post.author.can_highlight_posts": null,
  "reposted_post.reposted_post.author.can_receive_messages": null,
  "reposted_post.reposted_post.author.can_be_media_tagged": null,
  "reposted_post.reposted_post.author.description_language": null,
  "reposted_post.reposted_post.author.profile_image_shape": null,
  "reposted_post.reposted_post.author.pinned_post_ids": null,
  "reposted_post.reposted_post.author.birthdate.day": null,
  "reposted_post.reposted_post.author.birthdate.month": null,
  "reposted_post.reposted_post.author.birthdate.year": null,
  "reposted_post.reposted_post.author.birthdate.visibility": null,
  "reposted_post.reposted_post.author.birthdate.year_visibility": null,
  "reposted_post.reposted_post.like_count": null,
  "reposted_post.reposted_post.reply_count": null,
  "reposted_post.reposted_post.repost_count": null,
  "reposted_post.reposted_post.quote_count": null,
  "reposted_post.reposted_post.bookmark_count": null,
  "reposted_post.reposted_post.view_count": null,
  "reposted_post.reposted_post.conversation_id": null,
  "reposted_post.reposted_post.reply_to_post_id": null,
  "reposted_post.reposted_post.reply_to_user_id": null,
  "reposted_post.reposted_post.reply_to_username": null,
  "reposted_post.reposted_post.is_reply": null,
  "reposted_post.reposted_post.is_quote": null,
  "reposted_post.reposted_post.is_repost": null,
  "reposted_post.reposted_post.is_note_post": null,
  "reposted_post.reposted_post.possibly_sensitive": null,
  "reposted_post.reposted_post.is_translatable": null,
  "reposted_post.reposted_post.has_community_note": null,
  "reposted_post.reposted_post.hashtags": null,
  "reposted_post.reposted_post.cashtags": null,
  "reposted_post.reposted_post.mentions.id": null,
  "reposted_post.reposted_post.mentions.username": null,
  "reposted_post.reposted_post.mentions.name": null,
  "reposted_post.reposted_post.mentions.profile_url": null,
  "reposted_post.reposted_post.links.url": null,
  "reposted_post.reposted_post.links.expanded_url": null,
  "reposted_post.reposted_post.links.display_url": null,
  "reposted_post.reposted_post.media.id": null,
  "reposted_post.reposted_post.media.type": null,
  "reposted_post.reposted_post.media.image_url": null,
  "reposted_post.reposted_post.media.video_url": null,
  "reposted_post.reposted_post.media.expanded_url": null,
  "reposted_post.reposted_post.media.alt_text": null,
  "reposted_post.reposted_post.media.width": null,
  "reposted_post.reposted_post.media.height": null,
  "reposted_post.reposted_post.media.duration_ms": null,
  "reposted_post.reposted_post.media.aspect_ratio": null,
  "reposted_post.reposted_post.media.video_variants.url": null,
  "reposted_post.reposted_post.media.video_variants.content_type": null,
  "reposted_post.reposted_post.media.video_variants.bitrate": null,
  "reposted_post.reposted_post.card.id": null,
  "reposted_post.reposted_post.card.name": null,
  "reposted_post.reposted_post.card.url": null,
  "reposted_post.reposted_post.card.values.path": null,
  "reposted_post.reposted_post.card.values.value": null,
  "reposted_post.reposted_post.community.id": null,
  "reposted_post.reposted_post.community.name": null,
  "reposted_post.reposted_post.quoted_post": null,
  "reposted_post.reposted_post.reposted_post": null,
  "reposted_post.reposted_post.edit_info.is_edit_eligible": null,
  "reposted_post.reposted_post.edit_info.editable_until": null,
  "reposted_post.reposted_post.edit_info.edits_remaining": null,
  "reposted_post.reposted_post.edit_info.edit_post_ids": null,
  "reposted_post.edit_info.is_edit_eligible": null,
  "reposted_post.edit_info.editable_until": null,
  "reposted_post.edit_info.edits_remaining": null,
  "reposted_post.edit_info.edit_post_ids": null,
  "edit_info.is_edit_eligible": false,
  "edit_info.editable_until": "",
  "edit_info.edits_remaining": 0,
  "edit_info.edit_post_ids": []
}
```

`profile.*` identifies the account whose collection was requested; `author.*` describes the post's author. These may differ for shared content.

The table and JSON share literal field names such as `author.username`. Lists for a collection align by position; `media.video_variants.url` contains one inner variant list per media item. Optional quote and repost branches remain null where no embedded content exists.

Link-card data uses `card.values.path` and `card.values.value`: each path identifies a card field, and the value at the same position holds its content. The same arrangement is used within quoted or reposted card fields.

Successful rows can contain empty strings, zero counts, false flags, empty lists or null optional branches when a value is unavailable. A failed row retains `input`, sets `status` to `failed` and leaves the entity data fields null.

### Input requirements and coverage ⚙️

| Parameter | Type | Required | Default and rules |
|---|---|---|---|
| `inputList` | array of strings | Yes | No default; at least one item. No fixed input-count maximum. |
| `pagesPerProfile` | integer | No | Default `1`; minimum `1`; no fixed upper limit. Sets the page budget for each profile. |

Enter plain usernames of 1–15 letters, numbers or underscores, without `@` or a profile URL. Navigation words such as `home` and `search` are not usernames accepted by the Actor.

The Actor reads the public profile-post timeline. Posts and reposts can appear as X returns them; the requested profile and each post's author are recorded separately. It is not a complete replies-tab crawl.

Each page requests up to 40 posts, but fewer may be returned. Pagination stops at the page budget or earlier if no new post IDs are found, no next cursor is available, or the next cursor repeats. A larger page budget does not guarantee complete history or a fixed number of rows.

### Twitter (X) profile posts use cases 🎯

#### Publishing analysis

Compare topics, formats and posting dates across selected account timelines.

#### Campaign snapshots

Collect available recent campaign posts with engagement and media references.

#### Organization monitoring

Maintain scheduled snapshots of public posts from a known list of organization accounts.

#### Content archives for review

Retain source-linked post records within the public coverage and page budget available to each run.

### Pricing and billable posts 💰

Check the Actor's **Pricing** tab for the current charging model and rate. The Store configuration is authoritative.

Under dataset-item pricing, each saved success or failed row can count as a billable item. Automatic retries do not independently add result rows.

Each newly saved post is a dataset item. Profile fields and embedded media remain in that post's row. The page setting controls requests, not a fixed row total. A profile reporting zero posts, or an empty first timeline page, produces a failed row. A later request failure can add a failed row alongside previously saved posts.

### Twitter (X) profile posts API and integrations 🔌

Replace `$ACTOR_ID` with the ID shown in the Actor API tab and `$APIFY_TOKEN` with your Apify token.

```bash
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"inputList":["NASA"],"pagesPerProfile":1}'
```

Start runs through REST, Apify client libraries or schedules. Use webhooks to handle completion, then export the dataset as JSON, CSV or Excel, or send it to Google Sheets, Make, Zapier and your reporting tools.

### Reliability and limits ⚠️

Protected profiles are rejected by this Actor. Temporary request failures and selected access errors are retried automatically. A profile reporting zero posts, or an empty first timeline page, produces a failed row. An empty later page ends collection without adding an empty success row. If a later request exhausts retries, earlier saved posts remain and a failed row can mark the incomplete collection.

Some posts expose only part of their media, author or engagement data. Missing counts can default to zero, and a false flag can mean the value was not exposed. Video URLs and image URLs may expire; the Actor does not download files.

Quoted and reposted content is read only when embedded in the response and is limited to two levels. Reply counts and reply-target IDs do not mean that a complete conversation has been collected. The community-note field is a flag, not the note text, and edit metadata does not include a full revision history.

### Frequently asked questions ❓

#### Does it guarantee every historical post?

No. The result is limited by the page budget and the public timeline X exposes. Pagination may stop earlier.

#### Does one page always contain 40 posts?

No. The Actor requests up to 40 per page, but X can return fewer and duplicate IDs are skipped.

#### Can I submit a profile URL or @handle?

No. Enter a plain username without @ or a profile link.

#### What happens when no posts are returned?

A profile reporting zero posts, or an empty first timeline page, produces a failed row. That failed row is different from a successful post record.

#### Are quoted posts or replies separate rows?

Embedded quotes and reposts remain part of their parent row. The Actor does not separately paginate reply conversations.

#### Can the same post appear twice in a multi-profile run?

Post IDs are deduplicated within each profile's collection. A post returned for two different profiles can appear once under each source profile.

### Support, responsible use, and related actors 🛟

For a reproducible issue, contact support with the run ID, approximate time and a safe public input. Keep credentials and private data out of support messages.

Use public data in line with applicable privacy, copyright and platform requirements.

# Actor input Schema

## `inputList` (type: `array`):

Add one X username per item without @ and without a profile link, for example openai.

## `pagesPerProfile` (type: `integer`):

Maximum number of timeline pages to request for each profile. X normally returns up to 40 posts per page.

## Actor input object example

```json
{
  "inputList": [
    "NASA"
  ],
  "pagesPerProfile": 1
}
```

# Actor output Schema

## `posts` (type: `string`):

Dataset rows with success or failed status.

# 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 = {
    "inputList": [
        "NASA"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapingmonkey/twitter-profile-posts-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 = { "inputList": ["NASA"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapingmonkey/twitter-profile-posts-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 '{
  "inputList": [
    "NASA"
  ]
}' |
apify call scrapingmonkey/twitter-profile-posts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapingmonkey/twitter-profile-posts-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/D8SOhyNEjk8M37osg/builds/qO0iaJarMQKEt5BB4/openapi.json
