Twitter Account List
Give a Twitter account ID and a maximum post count to get that account's public post list with content IDs and publish times
Overview
Want a working inventory of what a Twitter account posts, without scrolling the profile by hand? Give this App a public Twitter account ID and a maximum post count, and it returns that account's public posts as individual records. Each record carries the content ID, publish time, collection time, and the account identifier stored with the post, so research and monitoring teams can treat the timeline as a dataset rather than a webpage.
A profile page is built for reading one post at a time. This list is built for comparison: you can line up publish times, keep content IDs next to the account they came from, and see when each row was collected. The values are the public identifiers and timestamps captured with each post, not reconstructed from screenshots.
Data notes
The records come from a Twitter account's public post list and are ordered from newest to oldest by publish time. Each row is one public post, and the same content ID appears only once. Keyword and business ID repeat the account identifier stored on the post. Publish time, collection time, and clean update time are timestamps without an explicit timezone. Private, protected, deleted, or login-only posts are not included.
What a result looks like
Each record is one public post from the requested account:
| Content ID | Publish time | Keyword | Business ID | Collection time | Record ID |
|---|---|---|---|---|---|
| 2092517966604870070 | 2023-01-07T16:15:39 | 1611637588921815040 | 1611637588921815040 | 2026-08-26T17:24:16 | 6a8eb0c1a247355e51208cb2 |
| 2092518471989182858 | 2023-01-07T16:15:39 | 1611637588921815040 | 1611637588921815040 | 2026-08-26T17:24:16 | 6a8eb0c1a247355e51208cb0 |
Keyword type, source identifier, clean update time, and the no-data flag are also returned when present.
Example uses
- Build an account inventory by lining up Content ID, Publish time, and Keyword for the public posts you collected.
- Confirm you collected the intended account with Business ID before using Content ID in a report.
- Track freshness with Collection time next to Publish time to see when each post was captured.
Scope and boundaries
Each run processes 1 Twitter account ID. The requested post count is a strict maximum and the actual return will not exceed that value. Pull protection covers 1,000 result pages. Only publicly visible posts are covered.
- Good for
- When you need a public post list for a specific Twitter account
- When you need content IDs, publish times, and collection timestamps for those posts
- Do not use for
- When you need private, protected, deleted, or login-only posts
- When you need tweet text, media, engagement counts, or profile details rather than post identifiers and timestamps
Failure handling
Failure and retry behavior declared by the author. We recommend including it in your system prompt when integrating.
- 1If no data is returned, verify the Twitter account ID and confirm the account has publicly visible posts
- 2Retry later after rate limiting, temporary unavailability, or a timeout
- 3When the submission outcome is unknown, avoid immediate repeated submissions that could create duplicate tasks
- 4If authentication fails, verify the API Key configured for the execution environment
Input
Parameters required to call this App, generated from the input.schema in manifest.json.
| Field | Business name | Type | Required | Default | Enum / Constraints | Example | Description |
|---|---|---|---|---|---|---|---|
| account_id | Twitter account ID | string | Yes | — | — | 1611637588921815040 | The Twitter account ID to collect, such as 1611637588921815040. Each run processes one account ID. Use 1 to 512 characters. |
| crawl_num | Maximum posts | integer | Yes | — | 1–2000 | 1 | The maximum number of public posts to collect for this account. The actual return will not exceed this value. Larger values take more time. |
Output
Field structure of a single record, generated from the output.schema in manifest.json.
| Field | Business name | Type | Example | Description |
|---|---|---|---|---|
| biz_id | Business ID | string | 1611637588921815040 | Business identifier stored on the post record; it may be empty. |
| clean_update_time | Clean update time | string | 2026-08-26T17:24:17 | Timestamp when this record was last cleaned; it may be empty and has no explicit timezone. |
| content_id | Content ID | string | 2092517966604870070 | Public identifier of the Twitter post; it may be empty. |
| crawl_time | Collection time | string | 2026-08-26T17:24:16 | Timestamp when this post was collected; it may be empty and has no explicit timezone. |
| cur_id | Record ID | string | 6a8eb0c1a247355e51208cb2 | Identifier of this collected row; it may be empty. |
| keyword | Keyword | string | 1611637588921815040 | Account identifier stored on this post record; it may be empty. |
| keyword_type | Keyword type | string | account | Type label stored with the keyword, such as account; it may be empty. |
| no_data | No data | boolean | false | Whether this identifier produced no public posts. |
| publish_time | Publish time | string | 2023-01-07T16:15:39 | Timestamp when the post was published; it may be empty and has no explicit timezone. |
| source_item | Source identifier | string | 1611637588921815040 | Original account identifier associated with this record. |
Record schema
Output is returned record by record. detail.output.idFieldHint
{
"type": "object",
"properties": {
"biz_id": {
"type": "string",
"title": "Business ID",
"description": "Business identifier stored on the post record; it may be empty.",
"prefill": "1611637588921815040"
},
"clean_update_time": {
"type": "string",
"title": "Clean update time",
"description": "Timestamp when this record was last cleaned; it may be empty and has no explicit timezone.",
"prefill": "2026-08-26T17:24:17"
},
"content_id": {
"type": "string",
"title": "Content ID",
"description": "Public identifier of the Twitter post; it may be empty.",
"prefill": "2092517966604870070"
},
"crawl_time": {
"type": "string",
"title": "Collection time",
"description": "Timestamp when this post was collected; it may be empty and has no explicit timezone.",
"prefill": "2026-08-26T17:24:16"
},
"cur_id": {
"type": "string",
"title": "Record ID",
"description": "Identifier of this collected row; it may be empty.",
"prefill": "6a8eb0c1a247355e51208cb2"
},
"keyword": {
"type": "string",
"title": "Keyword",
"description": "Account identifier stored on this post record; it may be empty.",
"prefill": "1611637588921815040"
},
"keyword_type": {
"type": "string",
"title": "Keyword type",
"description": "Type label stored with the keyword, such as account; it may be empty.",
"prefill": "account"
},
"no_data": {
"type": "boolean",
"title": "No data",
"description": "Whether this identifier produced no public posts.",
"prefill": false
},
"publish_time": {
"type": "string",
"title": "Publish time",
"description": "Timestamp when the post was published; it may be empty and has no explicit timezone.",
"prefill": "2023-01-07T16:15:39"
},
"source_item": {
"type": "string",
"title": "Source identifier",
"description": "Original account identifier associated with this record.",
"prefill": "1611637588921815040"
}
},
"required": [],
"additionalProperties": false
}Integration
This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way.
With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.
Client config
Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.
{
"mcpServers": {
"hello_moto__twitter-account-list": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=hello_moto/twitter-account-list",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}Let AI set it up for you
Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)
detail.access.mcp.composeHint
Pricing
Charged once per submitted run, regardless of how many records are returned.
Charged by the number of records successfully returned. Failed runs are not charged. Billed in units of 20 record; any partial unit is rounded up to 20 record.
Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.
View creditsTry it now
Fill in the parameters and run. Results come from a real call.