Douyin Keyword Search
Search one Douyin keyword and return matching public videos, publishers, engagement metrics, and timestamps.
Aperçu
Keyword research on Douyin often starts with a simple phrase but quickly turns into a fragmented set of videos, accounts, and engagement signals. This app gathers public search results for one brand, product, topic, or campaign keyword and turns them into a structured content dataset. Each record connects the content itself with its publishing account, publication time, media links, and the engagement values visible when it was collected. The dataset is suited to research that needs evidence at the individual-content level. It preserves source identifiers and public URLs so analysts can trace notable results, while also retaining titles, account attributes, tags, recognized speech or on-screen text when available, and multiple engagement counters for comparison.
Data notes
Results come from Douyin's public keyword search and are deduplicated by Content ID. Ordering follows the selected search order and publication-period filter. Engagement values and follower counts are stored as numeric strings, while cooperation details, image lists, music details, publish locations, and topic tags remain in their original text representation. Collection time and Publish time use the source representation, whose time zone is not specified. Video duration is also preserved as a numeric string, but the source does not identify its unit. The dataset covers only public content discoverable through keyword search; deleted, private, login-only, and non-indexed content are outside its scope.
What the results look like
Each record represents one Douyin item found for the submitted keyword.
| Content ID | Content title | Account name | Publish time | Like count | Comment count |
|---|---|---|---|---|---|
| 6760573437619473671 | lol最逆天的彩蛋!揭晓! #lol | 呼叫网管 | 2019-11-18T17:18:59 | 547844.0 | 5446.0 |
| 7029249241700699400 | 《改口》真实经历#lol | 酒鬼大人 | 2021-11-11T17:57:06 | 474147.0 | 21519.0 |
| Additional fields include public content and account URLs, follower count, favorites, shares, downloads, video duration, verification details, recognized speech, on-screen text, music information, locations, and topic tags. |
Use cases
- For brand or campaign monitoring, compare Matched keyword, Publish time, Content title, and Like count to identify topics that attract attention over time.
- For creator discovery, combine Account name, Account URL, Follower count, Verification status, and engagement counters to shortlist relevant public accounts.
- For content benchmarking, group records by Topic tags and compare Like count, Comment count, Favorite count, and Share count to find formats and themes associated with stronger interaction.
Périmètre et limites
One keyword per task with an expected result count from 1 to 200; results are returned in complete batches of 10 and may be rounded up; public searchable content only.
- Adapté pour
- When you need to discover public Douyin content about a brand, product, topic, or campaign.
- When you need a structured dataset of videos, publishing accounts, timestamps, and engagement metrics for content research.
- À ne pas utiliser pour
- When you need comments from an individual video; this app returns keyword search results rather than comment details.
- When you need deleted, private, login-only, or otherwise non-searchable Douyin content.
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 results are returned, shorten or rephrase the keyword and submit a new task.
- 2Retry later after rate limits, temporary service errors, or timeouts; check the execution credential configuration after an authentication failure.
- 3Keep completed records after a partial success; resubmit the same input after a failed or expired task.
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 | — | — | 韶音 | Brand, product, topic, or phrase to search on Douyin. Each task accepts one keyword from 1 to 512 characters. |
| crawl_count | Expected result count | integer | Oui | — | 1–200 | 50 | Expected number of results, from 1 to 200. Results arrive in complete batches of 10, so the actual count may be rounded up. |
| sort | Sort order | string(enum) | Oui | — | 1 (Comprehensive) / 4 (Newest) | 4 | Choose comprehensive relevance or newest-first ordering for the search results. |
| time_limit | Publication period | string(enum) | Oui | — | 1 (Past day) / 0 (Any time) | 0 | Limit results to content published within the last day, or search without a publication-time limit. |
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 |
|---|---|---|---|---|
| accountId | Account ID | string | 109014805831 | Douyin identifier of the publishing account. |
| accountName | Account name | string | 呼叫网管 | Display name of the publishing account. |
| accountSecId | Account secure ID | string | MS4wLjABAAAAAtnCpevF0YXW29cXbyJmXnSyq6qZL-PdV2x8Cl6PQpw | Encrypted Douyin identifier of the publishing account. |
| accountShortId | Account short ID | string | — | Short identifier shown for the publishing account when available. |
| accountUniqueId | Douyin handle | string | HJWG | Unique public handle of the publishing account. |
| accountUrl | Account URL | string | https://www.douyin.com/user/MS4wLjABAAAAAtnCpevF0YXW29cXbyJmXnSyq6qZL-PdV2x8Cl6PQpw | Public Douyin profile URL of the publishing account. |
| accurateLocationCities | Matched cities | string | — | City-level location information associated with the content, as provided by the source. |
| accurateLocationProvinces | Matched provinces | string | — | Province-level location information associated with the content, as provided by the source. |
| anchorInfo | Anchor information | string | — | Raw anchor information attached to the content. |
| asrText | Speech transcript | string | — | Text recognized from the video's audio when available. |
| avatarUrl | Avatar URL | string | https://p11.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-avt-0015_5c0c342a89f6ce58ccd71b497a37a53e.heic?from=327834062 | Image URL for the publishing account's avatar. |
| bizId | Business ID | string | 英雄联盟 | Business identifier associated with the result record. |
| collectionCount | Favorite count | string | 3196.0 | Number of favorites saved as a numeric string. |
| commentCount | Comment count | string | 5446.0 | Number of comments saved as a numeric string. |
| contentId | Content ID | string | 6760573437619473671 | Unique identifier of the Douyin content. |
| contentText | Content text | string | — | Main text of the content when available. |
| contentTitle | Content title | string | lol最逆天的彩蛋!揭晓! #lol | Display title or caption of the content. |
| contentUrl | Content URL | string | https://www.douyin.com/video/6760573437619473671 | Public Douyin page URL for the content. |
| cooperationInfos | Cooperation information | string | [] | Cooperation details saved as a JSON-formatted string. |
| coverUrl | Cover URL | string | https://p95-sz-sign.douyinpic.com/tos-cn-p-0015/53734fedbaec4ad3968a06c6cb295e7e~tplv-dy-resize-walign-adapt-aq:540:q75.heic | Image URL for the content cover. |
| crawlTime | Collection time | string | 2026-09-09T16:39:38 | Time when the record was collected; the source does not specify a time zone. |
| diggCount | Like count | string | 547844.0 | Number of likes saved as a numeric string. |
| downloadCount | Download count | string | 8463.0 | Number of downloads saved as a numeric string. |
| fans | Follower count | string | 12170016 | Publisher follower count saved as a numeric string. |
| forwardCount | Forward count | string | 20.0 | Number of forwards saved as a numeric string. |
| imageUrlList | Image URL list | string | [] | Content image URLs saved as a JSON-formatted string. |
| isHot | Hot status | string | false | Whether the content is marked as hot, saved as the source string. |
| keyword | Matched keyword | string | 英雄联盟 | Search keyword associated with this result. |
| music | Music information | string | {"audition_duration":"78","author":"呼叫网管","owner_id":"109014805831","owner_nickname":"呼叫网管","id":"6760527209229798151","title":"@呼叫网管创作的原声"} | Music details saved as a JSON-formatted string. |
| ocrText | On-screen text | string | — | Text recognized from the content's visual frames when available. |
| poiInfo | Place information | string | — | Raw place information associated with the content. |
| publishLocation | Publish location | string | {} | Publishing location saved as a JSON-formatted string. |
| publishTime | Publish time | string | 2019-11-18T17:18:59 | Content publication time; the source does not specify a time zone. |
| shareCount | Share count | string | 8616.0 | Number of shares saved as a numeric string. |
| status | Content status | string | 有效 | Current validity status reported for the content. |
| tags | Topic tags | string | ["lol"] | Topic tags saved as a JSON-formatted string. |
| taskMeta | Task metadata | string | — | Keyword item and no-data marker associated with the result. |
| verified | Verification status | string | — | Publisher verification status as provided by the source. |
| verifyType | Verification type | string | — | Publisher verification type as provided by the source. |
| videoDuration | Video duration | string | 78468.0 | Video duration saved as a numeric string; the source does not specify the unit. |
| videoUrl | Video media URL | string | https://www.douyin.com/aweme/v1/play/?video_id=v0300fg10000dagho0nog65j2h6olpi0 | Media URL for the video content. |
| viewCount | View count | string | 0.0 | Number of views saved as a numeric string. |
Schema de l'enregistrement
La sortie est renvoyée enregistrement par enregistrement. detail.output.idFieldHint
{
"type": "object",
"properties": {
"accountId": {
"type": "string",
"title": "Account ID",
"description": "Douyin identifier of the publishing account.",
"prefill": "109014805831"
},
"accountName": {
"type": "string",
"title": "Account name",
"description": "Display name of the publishing account.",
"prefill": "呼叫网管"
},
"accountSecId": {
"type": "string",
"title": "Account secure ID",
"description": "Encrypted Douyin identifier of the publishing account.",
"prefill": "MS4wLjABAAAAAtnCpevF0YXW29cXbyJmXnSyq6qZL-PdV2x8Cl6PQpw"
},
"accountShortId": {
"type": "string",
"title": "Account short ID",
"description": "Short identifier shown for the publishing account when available."
},
"accountUniqueId": {
"type": "string",
"title": "Douyin handle",
"description": "Unique public handle of the publishing account.",
"prefill": "HJWG"
},
"accountUrl": {
"type": "string",
"title": "Account URL",
"description": "Public Douyin profile URL of the publishing account.",
"prefill": "https://www.douyin.com/user/MS4wLjABAAAAAtnCpevF0YXW29cXbyJmXnSyq6qZL-PdV2x8Cl6PQpw"
},
"accurateLocationCities": {
"type": "string",
"title": "Matched cities",
"description": "City-level location information associated with the content, as provided by the source."
},
"accurateLocationProvinces": {
"type": "string",
"title": "Matched provinces",
"description": "Province-level location information associated with the content, as provided by the source."
},
"anchorInfo": {
"type": "string",
"title": "Anchor information",
"description": "Raw anchor information attached to the content."
},
"asrText": {
"type": "string",
"title": "Speech transcript",
"description": "Text recognized from the video's audio when available."
},
"avatarUrl": {
"type": "string",
"title": "Avatar URL",
"description": "Image URL for the publishing account's avatar.",
"prefill": "https://p11.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-avt-0015_5c0c342a89f6ce58ccd71b497a37a53e.heic?from=327834062"
},
"bizId": {
"type": "string",
"title": "Business ID",
"description": "Business identifier associated with the result record.",
"prefill": "英雄联盟"
},
"collectionCount": {
"type": "string",
"title": "Favorite count",
"description": "Number of favorites saved as a numeric string.",
"prefill": "3196.0"
},
"commentCount": {
"type": "string",
"title": "Comment count",
"description": "Number of comments saved as a numeric string.",
"prefill": "5446.0"
},
"contentId": {
"type": "string",
"title": "Content ID",
"description": "Unique identifier of the Douyin content.",
"prefill": "6760573437619473671"
},
"contentText": {
"type": "string",
"title": "Content text",
"description": "Main text of the content when available."
},
"contentTitle": {
"type": "string",
"title": "Content title",
"description": "Display title or caption of the content.",
"prefill": "lol最逆天的彩蛋!揭晓! #lol"
},
"contentUrl": {
"type": "string",
"title": "Content URL",
"description": "Public Douyin page URL for the content.",
"prefill": "https://www.douyin.com/video/6760573437619473671"
},
"cooperationInfos": {
"type": "string",
"title": "Cooperation information",
"description": "Cooperation details saved as a JSON-formatted string.",
"prefill": "[]"
},
"coverUrl": {
"type": "string",
"title": "Cover URL",
"description": "Image URL for the content cover.",
"prefill": "https://p95-sz-sign.douyinpic.com/tos-cn-p-0015/53734fedbaec4ad3968a06c6cb295e7e~tplv-dy-resize-walign-adapt-aq:540:q75.heic"
},
"crawlTime": {
"type": "string",
"title": "Collection time",
"description": "Time when the record was collected; the source does not specify a time zone.",
"prefill": "2026-09-09T16:39:38"
},
"diggCount": {
"type": "string",
"title": "Like count",
"description": "Number of likes saved as a numeric string.",
"prefill": "547844.0"
},
"downloadCount": {
"type": "string",
"title": "Download count",
"description": "Number of downloads saved as a numeric string.",
"prefill": "8463.0"
},
"fans": {
"type": "string",
"title": "Follower count",
"description": "Publisher follower count saved as a numeric string.",
"prefill": "12170016"
},
"forwardCount": {
"type": "string",
"title": "Forward count",
"description": "Number of forwards saved as a numeric string.",
"prefill": "20.0"
},
"imageUrlList": {
"type": "string",
"title": "Image URL list",
"description": "Content image URLs saved as a JSON-formatted string.",
"prefill": "[]"
},
"isHot": {
"type": "string",
"title": "Hot status",
"description": "Whether the content is marked as hot, saved as the source string.",
"prefill": "false"
},
"keyword": {
"type": "string",
"title": "Matched keyword",
"description": "Search keyword associated with this result.",
"prefill": "英雄联盟"
},
"music": {
"type": "string",
"title": "Music information",
"description": "Music details saved as a JSON-formatted string.",
"prefill": "{\"audition_duration\":\"78\",\"author\":\"呼叫网管\",\"owner_id\":\"109014805831\",\"owner_nickname\":\"呼叫网管\",\"id\":\"6760527209229798151\",\"title\":\"@呼叫网管创作的原声\"}"
},
"ocrText": {
"type": "string",
"title": "On-screen text",
"description": "Text recognized from the content's visual frames when available."
},
"poiInfo": {
"type": "string",
"title": "Place information",
"description": "Raw place information associated with the content."
},
"publishLocation": {
"type": "string",
"title": "Publish location",
"description": "Publishing location saved as a JSON-formatted string.",
"prefill": "{}"
},
"publishTime": {
"type": "string",
"title": "Publish time",
"description": "Content publication time; the source does not specify a time zone.",
"prefill": "2019-11-18T17:18:59"
},
"shareCount": {
"type": "string",
"title": "Share count",
"description": "Number of shares saved as a numeric string.",
"prefill": "8616.0"
},
"status": {
"type": "string",
"title": "Content status",
"description": "Current validity status reported for the content.",
"prefill": "有效"
},
"tags": {
"type": "string",
"title": "Topic tags",
"description": "Topic tags saved as a JSON-formatted string.",
"prefill": "[\"lol\"]"
},
"taskMeta": {
"type": "string",
"title": "Task metadata",
"description": "Keyword item and no-data marker associated with the result."
},
"verified": {
"type": "string",
"title": "Verification status",
"description": "Publisher verification status as provided by the source."
},
"verifyType": {
"type": "string",
"title": "Verification type",
"description": "Publisher verification type as provided by the source."
},
"videoDuration": {
"type": "string",
"title": "Video duration",
"description": "Video duration saved as a numeric string; the source does not specify the unit.",
"prefill": "78468.0"
},
"videoUrl": {
"type": "string",
"title": "Video media URL",
"description": "Media URL for the video content.",
"prefill": "https://www.douyin.com/aweme/v1/play/?video_id=v0300fg10000dagho0nog65j2h6olpi0"
},
"viewCount": {
"type": "string",
"title": "View count",
"description": "Number of views saved as a numeric string.",
"prefill": "0.0"
}
},
"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": {
"meme_today__douyin-keyword-list": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=meme_today/douyin-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é une fois par exécution soumise, quel que soit le nombre d'enregistrements renvoyés.
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 10 enregistrement ; toute unité incomplète est arrondie à 10 enregistrement.
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.