Twitter Keyword Search
Give one Twitter search keyword and an expected count to get matching public post identifiers, publish times, and collection metadata.
Original · en-USZur Übersetzung
Übersicht
Researching how a topic appears in Twitter search often starts with a dependable set of matching post identifiers and the times those posts were published. This app turns one search keyword into a structured collection of matching items, keeping the keyword and collection context beside each identifier so the dataset remains understandable after it is exported or joined with other research material.
The result is useful as a discovery index: it shows which public posts were associated with a brand, product, topic, or campaign at collection time. It is especially suited to building repeatable monitoring sets, comparing the content populations found for different terms, and preparing identifiers for later analysis without manually copying items from search pages.
Data notes
Each record represents one Twitter post associated with the submitted search keyword, or a no-data marker for that search. Content IDs are de-duplicated within the returned dataset. Matched keyword, Source item, and Business ID preserve the collection context and may repeat across many records from the same search. Publish time, Collection time, and Clean update time are returned without timezone information, so they should not be treated as absolute cross-region timestamps without additional context. Keyword type describes the kind of search item attached to the record.
The collection contains identifiers, timestamps, and collection metadata, not post text, media, engagement totals, comments, or a complete author profile. A No-data marker distinguishes search metadata that reports no matching content from ordinary matched records. Private, deleted, or otherwise non-searchable Twitter content is not covered.
What a result looks like
Each row is one matched Twitter post or a no-data marker associated with the search keyword.
| Content ID | Matched keyword | Publish time | Collection time | No-data marker |
|---|---|---|---|---|
| 2092504987695714392 | shokz | 2026-03-17T15:43:44 | 2026-08-26T18:50:22 | No |
| 2092527502547927469 | shokz | 2025-12-19T17:41:09 | 2026-08-26T18:50:22 | No |
Keyword type, Collection record ID, Business ID, Source item, and Clean update time are also available when supplied with the record.
Use cases
- For topic discovery, group rows by Matched keyword and count distinct Content ID values to compare the searchable post population associated with each term.
- For monitoring, repeat a keyword collection and compare Content ID sets while using Publish time and Collection time as source-provided context for newly observed items.
- For provenance checks, compare Matched keyword, Source item, and Business ID to confirm which search context produced each post before combining datasets.
- For follow-up review, filter on No-data marker to separate empty-search metadata from usable matched records.
Anwendungsbereich & Grenzen
One Twitter search keyword per task with an expected result count from 1 to 2000; results are returned in complete batches of 20 and may be rounded up; fetch protection covers 100 pages or 2000 records; coverage is limited to public Twitter keyword search listings.
- Geeignet für
- When you need public Twitter post identifiers and publish times returned by a keyword search for a brand, product, topic, or campaign.
- When you need a structured list that connects each matched post with its search keyword and collection metadata.
- Nicht verwenden für
- When you need post text, media, engagement metrics, comments, or complete author profiles.
- When you need an immediate single-record lookup rather than a background keyword collection task.
Fehlerbehandlung
Vom Autor deklariertes Fehler- und Wiederholungsverhalten. Wir empfehlen, es bei der Integration in Ihren System-Prompt aufzunehmen.
- 1If no matching records are returned, verify the keyword or try a shorter and broader search phrase.
- 2Keep completed records after a partial success; resubmit the same input after a failed or expired task.
- 3Retry later after rate limiting, temporary service unavailability, or a timeout.
- 4If authentication fails, verify the API Key configured for the execution environment.
Eingabe
Parameter, die zum Aufruf dieser App erforderlich sind, generiert aus dem input.schema in der manifest.json.
| Feld | Fachlicher Name | Typ | Erforderlich | Standard | Enum / Einschränkungen | Beispiel | Beschreibung |
|---|---|---|---|---|---|---|---|
| keyword | Search keyword | string | Ja | — | — | Shokz | A brand, product, topic, or phrase to search on Twitter. Each task accepts one keyword from 1 to 512 characters. |
| crawl_count | Expected result count | integer | Ja | — | 1–2000 | 1 | Expected number of search results, from 1 to 2000. Results are returned in complete batches of 20, so the actual count may be rounded up. A partial batch is still billed as 20 records. |
Ausgabe
Feldstruktur eines einzelnen Datensatzes, generiert aus dem output.schema in der manifest.json.
| Feld | Fachlicher Name | Typ | Beispiel | Beschreibung |
|---|---|---|---|---|
| content_id | Content ID | string | 2092504987695714392 | Unique identifier of the matched Twitter post. |
| keyword | Matched keyword | string | shokz | Search keyword associated with the collected post. |
| keyword_type | Keyword type | string | keyword | Classification of the search item associated with the record. |
| publish_time | Publish time | string | 2026-03-17T15:43:44 | Timestamp when the post was published; the source does not specify a timezone. |
| crawl_time | Collection time | string | 2026-08-26T18:50:22 | Timestamp associated with collecting the record; the source does not specify a timezone. |
| clean_update_time | Clean update time | string | 2026-08-26T18:50:45 | Timestamp associated with cleaning the collected record; the source does not specify a timezone. |
| cur_id | Collection record ID | string | 6a8ec50697a2800ddeb6901f | Unique identifier of this collected row; it may differ from the Twitter post Content ID. |
| biz_id | Business ID | string | shokz | Business grouping identifier returned with the collected record. |
| source_item | Source item | string | shokz | Keyword item associated with the collection that produced this record. |
| no_data | No-data marker | boolean | false | Indicates whether this search item produced no matching records. |
Datensatz-Schema
Die Ausgabe wird Datensatz für Datensatz zurückgegeben. detail.output.idFieldHint
{
"type": "object",
"properties": {
"content_id": {
"type": "string",
"title": "Content ID",
"description": "Unique identifier of the matched Twitter post.",
"prefill": "2092504987695714392"
},
"keyword": {
"type": "string",
"title": "Matched keyword",
"description": "Search keyword associated with the collected post.",
"prefill": "shokz"
},
"keyword_type": {
"type": "string",
"title": "Keyword type",
"description": "Classification of the search item associated with the record.",
"prefill": "keyword"
},
"publish_time": {
"type": "string",
"title": "Publish time",
"description": "Timestamp when the post was published; the source does not specify a timezone.",
"prefill": "2026-03-17T15:43:44"
},
"crawl_time": {
"type": "string",
"title": "Collection time",
"description": "Timestamp associated with collecting the record; the source does not specify a timezone.",
"prefill": "2026-08-26T18:50:22"
},
"clean_update_time": {
"type": "string",
"title": "Clean update time",
"description": "Timestamp associated with cleaning the collected record; the source does not specify a timezone.",
"prefill": "2026-08-26T18:50:45"
},
"cur_id": {
"type": "string",
"title": "Collection record ID",
"description": "Unique identifier of this collected row; it may differ from the Twitter post Content ID.",
"prefill": "6a8ec50697a2800ddeb6901f"
},
"biz_id": {
"type": "string",
"title": "Business ID",
"description": "Business grouping identifier returned with the collected record.",
"prefill": "shokz"
},
"source_item": {
"type": "string",
"title": "Source item",
"description": "Keyword item associated with the collection that produced this record.",
"prefill": "shokz"
},
"no_data": {
"type": "boolean",
"title": "No-data marker",
"description": "Indicates whether this search item produced no matching records.",
"prefill": false
}
},
"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 Data Hub 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": {
"hello_moto__twitter-keyword-list": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=hello_moto/twitter-keyword-list",
"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
Berechnet nach der Anzahl der erfolgreich zurückgegebenen Datensätze. Fehlgeschlagene Läufe werden nicht berechnet. Abgerechnet in Einheiten von 20 Datensatz; jede angefangene Einheit wird auf 20 Datensatz aufgerundet.
Wird pro übermitteltem Lauf einmal berechnet, unabhängig davon, wie viele Datensätze zurückgegeben werden.
Mehrere Abrechnungsereignisse werden unabhängig voneinander kumuliert. Details siehe jeweilige Position. Fehlgeschlagene Läufe werden nicht berechnet.
Credits ansehenJetzt ausprobieren
Füllen Sie die Parameter aus und starten Sie — die Ergebnisse stammen aus einem echten Aufruf.