Multilingual self-talk search-demand map (en/es/de/fr/pt)
About 1,000 keyword rows covering how people search for negative self-talk and stuck-thought problems in English, Spanish, German, French and Portuguese. Each row carries verified search demand, competition, and the pages that currently rank.
What to deliver
- 2 minimum · 6 preferred · 42 maximum files
- How much of each field to fill is spelled out below
- 220 MB total, at most
- Every file gets a tamper-proof fingerprint on upload
- 1+ “documentation” file
- 1+ “evidence” file
Accepted formats
What each record needs
phrase_verbatimtextRequired
Search phrase (verbatim). The search phrase as real people type it, in the row's language.
Produce it: Natural, first-person phrasing as actually searched. Not a marketing keyword, not a translated English phrase. Lowercase as typed. Non-English rows must be genuine queries in that language.
Output path: phrase_verbatim
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: keywordqueryphrase
Example: why do i always think im not good enough
Missing values: Not allowed.
Source: Name the tool that surfaced this phrase in the methodology file.
Buyer review: Reject marketing-style keywords, translated English, and phrases that are not plausibly typed by a person about their own thinking.
localetextRequired
Language. Language of the phrase.
Produce it: Exactly one of: en, es, de, fr, pt. Lowercase, no region suffix.
Output path: locale
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: languagelanglocale
Example: de
Missing values: Not allowed.
Buyer review: Verify the phrase is genuinely in the declared language.
countrycountryRequired
Market. The country the search volume is measured in.
Produce it: ISO 3166-1 alpha-2, uppercase. Must match the tool's geo setting for this row.
Output path: country
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: countrygeomarket
Example: DE
Missing values: Not allowed.
Source: State the geo setting used per locale in the methodology file.
Buyer review: Country must be a plausible market for the declared language.
monthly_search_volumeintegerRequired
Monthly search volume. Average monthly searches for this phrase in this country.
Produce it: Must come from the tool named in data_source. Never hand-estimated, interpolated or model-guessed. Minimum 20; drop anything below.
Output path: monthly_search_volume
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: avg_monthly_searchesvolumesearch_volume
Example: 320
Missing values: Not allowed.
Source: The tool named in data_source must be the actual origin of this number.
Buyer review: Re-query a random sample against the declared source. Material mismatches fail the submission.
keyword_difficultydecimalOptional
Keyword difficulty. Competition score from 0 to 100 as reported by the source tool.
Produce it: Leave blank if your tool does not report it. A blank is acceptable; a fabricated value is not.
Output path: keyword_difficulty
Coverage: 0 minimum populated · 700 preferred · 1,200 maximum · 0% minimum · 70% target
Flat-file columns: difficultykdcompetition_index
Example: 34.5
Missing values: Allowed When the source tool does not report a difficulty score..
Source: Must come from the same tool as the volume figure.
Buyer review: Blank is fine. Invented numbers are not.
cpc_usddecimalOptional
Cost per click (USD). Average cost per click in US dollars, as reported by the source tool.
Produce it: Convert to USD if the tool reports another currency, and say which rate you used in the methodology file. Blank is acceptable.
Output path: cpc_usd
Coverage: 0 minimum populated · 700 preferred · 1,200 maximum · 0% minimum · 70% target
Flat-file columns: cpccost_per_clicktop_of_page_bid
Example: 1.42
Missing values: Allowed When the source tool does not report CPC..
Source: Must come from the same tool as the volume figure.
Buyer review: Blank is fine. Invented numbers are not.
serp_top3_domainstextRequired
Top 3 ranking domains. The three domains ranking highest organically for this phrase in this country, in order.
Produce it: Pipe-separated, bare domains, rank order. Example: reddit.com|healthline.com|betterhelp.com. Organic results only, no ads.
Output path: serp_top3_domains
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: top_domainsserp
Example: reddit.com|healthline.com|betterhelp.com
Missing values: Not allowed.
Source: State how SERPs were inspected, including location and personalisation settings.
Buyer review: Re-check a random sample. Allow for normal SERP drift, but the top domains should be recognisably the same.
serp_top1_titletextRequired
Top result page title. Page title of the number one organic result.
Produce it: Copy the title as displayed in the SERP.
Output path: serp_top1_title
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: titletop_result_title
Example: How to Stop Negative Self-Talk: 10 Techniques
Missing values: Not allowed.
Source: Same SERP inspection as the domains column.
Buyer review: Should correspond to the first domain in serp_top3_domains.
serp_content_typetextRequired
Top result format. What kind of page holds position one.
Produce it: Exactly one of: forum, article, video, app_store, quiz, clinic, other. This tells us what format we would have to beat.
Output path: serp_content_type
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: content_typeresult_type
Example: forum
Missing values: Not allowed.
Buyer review: Check the classification matches the actual page at position one.
themetextRequired
Theme cluster. Which of our 15 priority themes this phrase belongs to.
Produce it: Exactly one of: procrastination, perfectionism, engimposter, burnout, breakup, dating, parenting, moneyfear, socialfear, pleaser, griefloss, bodyimage, jobloss, adhd, boundaries. Pick the closest fit; do not invent new themes.
Output path: theme
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: themeclustercategory
Example: procrastination
Missing values: Not allowed.
Buyer review: Check the phrase plausibly belongs to the assigned theme. Reject rows using themes outside the list of 15.
data_sourcetextRequired
Metrics source. Which tool produced the metrics on this row.
Produce it: Exactly one of: google_keyword_planner, dataforseo, google_search_console, google_trends, other. Must be the genuine origin of the volume figure.
Output path: data_source
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: sourcetool
Example: google_keyword_planner
Missing values: Not allowed.
Source: This column is the source attribution.
Buyer review: Cross-check against the exports supplied. A source with no matching export fails.
captured_atdateRequired
Date captured. The date the metrics for this row were pulled.
Produce it: ISO 8601, YYYY-MM-DD. Must be within 90 days of submission.
Output path: captured_at
Coverage: 1,000 minimum populated · 1,000 preferred · 1,200 maximum · 100% minimum · 100% target
Flat-file columns: datecaptured_atpulled_at
Example: 2026-07-20
Missing values: Not allowed.
Buyer review: Reject rows older than 90 days at submission time.
View the full field spec
{
"type": "array",
"items": {
"type": "object",
"required": [
"phrase_verbatim",
"locale",
"country",
"monthly_search_volume",
"serp_top3_domains",
"serp_top1_title",
"serp_content_type",
"theme",
"data_source",
"captured_at"
],
"properties": {
"theme": {
"type": "string",
"title": "Theme cluster",
"examples": [
"procrastination"
],
"description": "Which of our 15 priority themes this phrase belongs to."
},
"locale": {
"type": "string",
"title": "Language",
"examples": [
"de"
],
"description": "Language of the phrase."
},
"country": {
"type": "string",
"title": "Market",
"examples": [
"DE"
],
"description": "The country the search volume is measured in."
},
"cpc_usd": {
"type": "number",
"title": "Cost per click (USD)",
"minimum": 0,
"examples": [
"1.42"
],
"description": "Average cost per click in US dollars, as reported by the source tool."
},
"captured_at": {
"type": "string",
"title": "Date captured",
"format": "date",
"examples": [
"2026-07-20"
],
"description": "The date the metrics for this row were pulled."
},
"data_source": {
"type": "string",
"title": "Metrics source",
"examples": [
"google_keyword_planner"
],
"description": "Which tool produced the metrics on this row."
},
"phrase_verbatim": {
"type": "string",
"title": "Search phrase (verbatim)",
"examples": [
"why do i always think im not good enough"
],
"maxLength": 200,
"minLength": 3,
"description": "The search phrase as real people type it, in the row's language."
},
"serp_top1_title": {
"type": "string",
"title": "Top result page title",
"examples": [
"How to Stop Negative Self-Talk: 10 Techniques"
],
"maxLength": 300,
"description": "Page title of the number one organic result."
},
"serp_content_type": {
"type": "string",
"title": "Top result format",
"examples": [
"forum"
],
"description": "What kind of page holds position one."
},
"serp_top3_domains": {
"type": "string",
"title": "Top 3 ranking domains",
"examples": [
"reddit.com|healthline.com|betterhelp.com"
],
"description": "The three domains ranking highest organically for this phrase in this country, in order."
},
"keyword_difficulty": {
"type": "number",
"title": "Keyword difficulty",
"maximum": 100,
"minimum": 0,
"examples": [
"34.5"
],
"description": "Competition score from 0 to 100 as reported by the source tool."
},
"monthly_search_volume": {
"type": "integer",
"title": "Monthly search volume",
"minimum": 20,
"examples": [
"320"
],
"description": "Average monthly searches for this phrase in this country."
}
},
"additionalProperties": false
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"minItems": 1000
}Record relationships
No cross-field rules are required.
Files and relationships
Methodology write-up
One file, plain prose is fine.
1 minimum · 1 preferred · 2 maximum files · .md, .pdf, .txt · 10 MB eachRaw tool exports
Must collectively cover at least 10 percent of submitted rows.
1 minimum · 5 preferred · 40 maximum files · .csv, .xlsx, .png, .jpg, .jpeg, .pdf · 25 MB eachRights and sourcing
- Must be free to use commercially
- Whoever delivers it confirms they have the right to share it
CC0-1.0CC-BY-4.0ODC-BY-1.0Additional instructions
RealityWipe publishes programmatic landing pages for self-talk patterns across five locales. We can generate pages faster than we can tell which ones deserve to exist. This dataset shows which patterns have real demand outside English and which SERPs are winnable, so page production follows demand instead of guesswork.