logo
languageDEdown
menu

Twitter Hashtag Post Scraper

Collect public Twitter posts for up to three keywords or hashtags, including authors, content, media links, timestamps, and engagement metrics.

Übersicht

Twitter Hashtag Post Scraper turns a small set of keywords or hashtags into structured public-post records that are ready to filter, compare, and analyze. Each record keeps the matched term, search-result category, post and author links, author name, publication time, post text, media links, advertising indicator, and reported engagement counts.

This dataset helps teams move from scattered social posts to a consistent evidence table. It preserves the text and the surrounding context needed to compare conversations, identify visible authors, inspect recurring themes, and understand which collected posts attracted more engagement at the time of collection.

Data notes

Records come from publicly visible Twitter search results and reflect what the collector could access when the run took place. A record represents one collected post associated with one submitted term and search-result category. The same post address is used to remove duplicates across retrieved result pages. Post timestamps retain the source's displayed UTC offset. Reply, retweet, like, and view counts are snapshots reported at collection time and can change afterward; they are preserved as reported text rather than recalculated values. Image links may point to an image or a video thumbnail, and a reported video link may be the same as the post link. Private, deleted, restricted, and sign-in-only content is not covered.

What the results look like

Each record is one collected public post:

Author namePost contentPost timestampPost URLLike countView count
Republicans against TrumpFlashback — Donald Trump: “If Ivanka weren’t my daughter, perhaps I’d be dating her” — TV host: “Stop it. It's so weird.” #TrumpIsWeird #TBT https://t.co/JOXOCp27CpFri Aug 02 02:17:50 +0000 2024https://x.com/RpsAgainstTrump/status/1819195875580629097333715879786
OgilvyHow to Write – A memo drafted by David Ogilvy on September 7, 1982, for the management to circulate as they saw fit. #TBTThu Sep 03 13:00:20 +0000 2026https://x.com/Ogilvy/status/209549712014066533332713270

The output also includes “Matched term,” “Result category,” “Search page URL,” “Author profile URL,” “Image URL,” “Video URL,” “Ad indicator,” “Reply count,” and “Retweet count.”

Use cases

  • For hashtag conversation research, group records by “Matched term” and review “Post content” to identify recurring topics, claims, and phrases.
  • For visible-author discovery, compare “Author name” and “Author profile URL,” then use “Post URL” to inspect the original public context.
  • For engagement comparisons, evaluate “Reply count,” “Retweet count,” “Like count,” and “View count” together instead of treating one interaction measure as the whole response.
  • For content-format analysis, compare “Image URL,” “Video URL,” and “Post content” to see which collected posts pair text with reported media.

Anwendungsbereich & Grenzen

Each run accepts 1 to 3 keywords or hashtags and up to 200 scroll-downs; retrieval is capped at 10,000 public post records per run.

  • Geeignet für
  • Use it when you need a structured snapshot of public Twitter posts associated with a small set of keywords or hashtags.
  • Use it for hashtag monitoring, content research, author discovery, or engagement comparisons.
  • Nicht verwenden für
  • Do not use it for private, deleted, restricted, or sign-in-only posts because only content visible to the collector is covered.
  • Do not use it when complete historical coverage or a guaranteed post count is required because availability can change over time.

Fehlerbehandlung

Vom Autor deklariertes Fehler- und Wiederholungsverhalten. Wir empfehlen, es bei der Integration in Ihren System-Prompt aufzunehmen.

  1. 1If a run stops before completion, retry the same small input once; if it stops again, use fewer terms or a smaller scroll-down value.
  2. 2An empty result can mean the term has no visible matching posts or access was temporarily limited; verify the spelling and retry later.

Eingabe

Parameter, die zum Aufruf dieser App erforderlich sind, generiert aus dem input.schema in der manifest.json.

FeldFachlicher NameTypErforderlichStandardEnum / EinschränkungenBeispielBeschreibung
query_termsKeywords or hashtagsarray<string>Jabis zu 3 Einträge["#tbt"]Keywords or hashtags to search on Twitter, with one term per item. Enter 1 to 3 terms per run.
scroll_down_timesScroll-down countintegerNein1–200How many times to load more search results, from 1 to 200. When omitted, the collector decides the depth; set it explicitly when a predictable depth is important.

Ausgabe

Feldstruktur eines einzelnen Datensatzes, generiert aus dem output.schema in der manifest.json.

FeldFachlicher NameTypBeispielBeschreibung
categoryResult categorystringTopPostSearch-result grouping reported for the post, such as TopPost.
keywordMatched termstring#tbtKeyword or hashtag associated with the collected post.
search_page_urlSearch page URLstringhttps://twitter.com/search?q=#tbt&src=typed_query&f=topTwitter search address from which the post was collected.
tweet_urlPost URLstringhttps://x.com/RpsAgainstTrump/status/1819195875580629097Direct address of the collected Twitter post.
author_nameAuthor namestringRepublicans against TrumpDisplay name of the account that published the post.
author_profile_urlAuthor profile URLstringhttps://x.com/RpsAgainstTrumpDirect address of the author's Twitter profile.
tweet_timestampPost timestampstringFri Aug 02 02:17:50 +0000 2024Publication time reported for the post, including its UTC offset.
tweet_contentPost contentstringFlashback Donald Trump: “If Ivanka weren’t my daughter, perhaps I’d be dating her” TV host: “Stop it. It's so weird.” #TrumpIsWeird #TBT https://t.co/JOXOCp27CpText content collected from the post.
image_urlImage URLstringhttps://pbs.twimg.com/amplify_video_thumb/1819195812393406464/img/KAyMW9OE6elaK1HB.jpgImage or video-thumbnail address reported for the post.
video_urlVideo URLstringhttps://x.com/RpsAgainstTrump/status/1819195875580629097Video address reported for the post; it may match the post address.
ad_indicatorAd indicatorstringFalseText indicator reporting whether the post was identified as an advertisement.
reply_countReply countstring2818Reply or review count reported for the post at collection time.
retweet_countRetweet countstring10855Retweet count reported for the post at collection time.
like_countLike countstring33371Like count reported for the post at collection time.
view_countView countstring5879786View count reported for the post at collection time.

Datensatz-Schema

Die Ausgabe wird Datensatz für Datensatz zurückgegeben. detail.output.idFieldHint

output.schema
{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "title": "Result category",
      "description": "Search-result grouping reported for the post, such as TopPost.",
      "prefill": "TopPost"
    },
    "keyword": {
      "type": "string",
      "title": "Matched term",
      "description": "Keyword or hashtag associated with the collected post.",
      "prefill": "#tbt"
    },
    "search_page_url": {
      "type": "string",
      "title": "Search page URL",
      "description": "Twitter search address from which the post was collected.",
      "prefill": "https://twitter.com/search?q=#tbt&src=typed_query&f=top"
    },
    "tweet_url": {
      "type": "string",
      "title": "Post URL",
      "description": "Direct address of the collected Twitter post.",
      "prefill": "https://x.com/RpsAgainstTrump/status/1819195875580629097"
    },
    "author_name": {
      "type": "string",
      "title": "Author name",
      "description": "Display name of the account that published the post.",
      "prefill": "Republicans against Trump"
    },
    "author_profile_url": {
      "type": "string",
      "title": "Author profile URL",
      "description": "Direct address of the author's Twitter profile.",
      "prefill": "https://x.com/RpsAgainstTrump"
    },
    "tweet_timestamp": {
      "type": "string",
      "title": "Post timestamp",
      "description": "Publication time reported for the post, including its UTC offset.",
      "prefill": "Fri Aug 02 02:17:50 +0000 2024"
    },
    "tweet_content": {
      "type": "string",
      "title": "Post content",
      "description": "Text content collected from the post.",
      "prefill": "Flashback \n\nDonald Trump: “If Ivanka weren’t my daughter, perhaps I’d be dating her”\n\nTV host: “Stop it. It's so weird.” #TrumpIsWeird #TBT https://t.co/JOXOCp27Cp"
    },
    "image_url": {
      "type": "string",
      "title": "Image URL",
      "description": "Image or video-thumbnail address reported for the post.",
      "prefill": "https://pbs.twimg.com/amplify_video_thumb/1819195812393406464/img/KAyMW9OE6elaK1HB.jpg"
    },
    "video_url": {
      "type": "string",
      "title": "Video URL",
      "description": "Video address reported for the post; it may match the post address.",
      "prefill": "https://x.com/RpsAgainstTrump/status/1819195875580629097"
    },
    "ad_indicator": {
      "type": "string",
      "title": "Ad indicator",
      "description": "Text indicator reporting whether the post was identified as an advertisement.",
      "prefill": "False"
    },
    "reply_count": {
      "type": "string",
      "title": "Reply count",
      "description": "Reply or review count reported for the post at collection time.",
      "prefill": "2818"
    },
    "retweet_count": {
      "type": "string",
      "title": "Retweet count",
      "description": "Retweet count reported for the post at collection time.",
      "prefill": "10855"
    },
    "like_count": {
      "type": "string",
      "title": "Like count",
      "description": "Like count reported for the post at collection time.",
      "prefill": "33371"
    },
    "view_count": {
      "type": "string",
      "title": "View count",
      "description": "View count reported for the post at collection time.",
      "prefill": "5879786"
    }
  },
  "required": [],
  "additionalProperties": false
}

Integration

Diese App kann über MCP, API, SDK oder Dateiexport integriert werden — alle Kanäle teilen sich dieselben Fähigkeiten und Preise. Jede Anfrage authentifiziert sich über den Authorization: Bearer-Header mit einem API Key (langlebig, in der Open-Platform-Konsole erstellt); MCP-Clients können sich zusätzlich per OAuth ohne Key anmelden. Weitere Optionen wie CLI und Skill sind in Vorbereitung.

Über das MCP (Model Context Protocol) können Sie diese App direkt aus KI-Clients wie Claude und Cursor aufrufen. Wählen Sie Ihren Client und den Authentifizierungsmodus und kopieren Sie dann die Konfiguration unten.

Client-Konfiguration

Ersetzen Sie den Wert nach Bearer durch Ihren langlebigen API Key. Funktioniert in jedem Client, in CI und in Headless-Umgebungen.

mcpServers config
{
  "mcpServers": {
    "YiJacobJohnRaku__twitter-scraper-by-hashtag": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=YiJacobJohnRaku/twitter-scraper-by-hashtag",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Lassen Sie die KI die Einrichtung übernehmen

Sie möchten Konfigurationen nicht von Hand bearbeiten? Kopieren Sie den Installations-Prompt und fügen Sie ihn in einen beliebigen KI-Client ein — er schließt die Einrichtung auf seine eigene Weise ab. (Der Prompt weist die KI an, Ihren API Key bei Ihnen zu erfragen, damit Zugangsdaten nie im Chatverlauf oder in geteilten Konfigurationen landen.)

detail.access.mcp.composeHint

Preise

returned post record

Berechnet nach der Anzahl der erfolgreich zurückgegebenen Datensätze. Fehlgeschlagene Aufgaben werden nicht berechnet.

0,0003 $/ Datensatz

Mehrere Abrechnungsereignisse werden unabhängig voneinander kumuliert — Details siehe jeweilige Position. Fehlgeschlagene Aufgaben werden nicht berechnet.

Jetzt ausprobieren

Füllen Sie die Parameter aus und starten Sie — die Ergebnisse stammen aus einem echten Aufruf.

Beispiel
Parameter werden vor dem Absenden gegen input.schema validiert
Bitte füllen Sie zuerst die Pflichtparameter aus
0,0003 $ / Datensatz