Twitter Keyword Search
Give one Twitter search keyword and an expected count to get matching public post identifiers, publish times, and collection metadata.
Source · en-USRevenir à la traduction
Aperçu
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.
Périmètre et limites
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.
- Adapté pour
- 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.
- À ne pas utiliser pour
- 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.
Gestion des échecs
Comportement en cas d'échec et de nouvelle tentative déclaré par l'auteur. Nous vous recommandons de l'inclure dans votre prompt système lors de l'intégration.
- 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.
Entrée
Paramètres requis pour appeler cette App, générés à partir de l'input.schema du manifest.json.
| Champ | Nom métier | Type | Requis | Défaut | Énum / Contraintes | Exemple | Description |
|---|---|---|---|---|---|---|---|
| keyword | Search keyword | string | Oui | — | — | 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 | Oui | — | 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. |
Sortie
Structure des champs d'un enregistrement, générée à partir de l'output.schema du manifest.json.
| Champ | Nom métier | Type | Exemple | Description |
|---|---|---|---|---|
| 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. |
Schema de l'enregistrement
La sortie est renvoyée enregistrement par enregistrement. 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
}Intégration
Cette App peut être intégrée via MCP, API, SDK ou export de fichiers — tous les canaux partagent les mêmes capacités et la même tarification. Chaque requête s'authentifie avec l'en-tête Authorization: Bearer à l'aide d'une API Key (longue durée, créée dans la console Data Hub) ; les clients MCP peuvent aussi se connecter via OAuth, sans clé. D'autres options comme la CLI et Skill arrivent bientôt.
Avec MCP (Model Context Protocol), vous pouvez appeler cette App directement depuis des clients IA comme Claude et Cursor. Choisissez votre client et votre mode d'authentification, puis copiez la config ci-dessous.
Config du client
Remplacez la valeur après Bearer par votre API Key longue durée. Fonctionne dans n'importe quel client, en CI ou en environnement sans navigateur.
{
"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>" }
}
}
}Laissez l'IA tout configurer pour vous
Vous ne voulez pas modifier les configs à la main ? Copiez le prompt d'installation et collez-le dans n'importe quel client IA — il effectuera la configuration à sa manière. (Le prompt demande à l'IA de vous réclamer votre API Key, afin que les identifiants ne finissent jamais dans l'historique de conversation ni dans des configs partagées.)
detail.access.mcp.composeHint
Tarifs
Facturé selon le nombre d'enregistrements renvoyés avec succès. Les exécutions échouées ne sont pas facturées. Facturé par unités de 20 enregistrement ; toute unité incomplète est arrondie à 20 enregistrement.
Facturé une fois par exécution soumise, quel que soit le nombre d'enregistrements renvoyés.
Plusieurs événements de facturation se cumulent indépendamment. Voir chaque élément pour les détails. Les exécutions échouées ne sont pas facturées.
Voir les créditsEssayer maintenant
Renseignez les paramètres et lancez l'exécution — les résultats proviennent d'un appel réel.