logo
languageENdown
menu

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 IDPublish timeKeywordBusiness IDCollection timeRecord ID
20925179666048700702023-01-07T16:15:39161163758892181504016116375889218150402026-08-26T17:24:166a8eb0c1a247355e51208cb2
20925184719891828582023-01-07T16:15:39161163758892181504016116375889218150402026-08-26T17:24:166a8eb0c1a247355e51208cb0

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.

  1. 1If no data is returned, verify the Twitter account ID and confirm the account has publicly visible posts
  2. 2Retry later after rate limiting, temporary unavailability, or a timeout
  3. 3When the submission outcome is unknown, avoid immediate repeated submissions that could create duplicate tasks
  4. 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.

FieldBusiness nameTypeRequiredDefaultEnum / ConstraintsExampleDescription
account_idTwitter account IDstringYes——1611637588921815040The Twitter account ID to collect, such as 1611637588921815040. Each run processes one account ID. Use 1 to 512 characters.
crawl_numMaximum postsintegerYes—1–20001The 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.

FieldBusiness nameTypeExampleDescription
biz_idBusiness IDstring1611637588921815040Business identifier stored on the post record; it may be empty.
clean_update_timeClean update timestring2026-08-26T17:24:17Timestamp when this record was last cleaned; it may be empty and has no explicit timezone.
content_idContent IDstring2092517966604870070Public identifier of the Twitter post; it may be empty.
crawl_timeCollection timestring2026-08-26T17:24:16Timestamp when this post was collected; it may be empty and has no explicit timezone.
cur_idRecord IDstring6a8eb0c1a247355e51208cb2Identifier of this collected row; it may be empty.
keywordKeywordstring1611637588921815040Account identifier stored on this post record; it may be empty.
keyword_typeKeyword typestringaccountType label stored with the keyword, such as account; it may be empty.
no_dataNo databooleanfalseWhether this identifier produced no public posts.
publish_timePublish timestring2023-01-07T16:15:39Timestamp when the post was published; it may be empty and has no explicit timezone.
source_itemSource identifierstring1611637588921815040Original account identifier associated with this record.

Record schema

Output is returned record by record. detail.output.idFieldHint

output.schema
{
  "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 config
{
  "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

Task start

Charged once per submitted run, regardless of how many records are returned.

$0.0001/ run
Per record 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.

$0.002/ 20 record

Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.

View credits

Try it now

Fill in the parameters and run. Results come from a real call.

Example
Parameters are validated against input.schema before submission
Please fill in the required parameters first
From $0.002 / 20 record