Skip to content

Research demand

Which terms should I target? Name the problem in your own words: your agent finds the terms buyers type, measures each, and keeps the ones you can win.

Research demand
You, to your agent

Find the terms landlords search when they outgrow the rent spreadsheet.

Keep the ones I can win, and tell me what a click on each costs.

curl -X POST https://api.sb/leaseline.app/keywords/keywords%2Fkeyword_4/measure \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"venue":"reddit"}'

curl -X POST https://api.sb/leaseline.app/keywords/keywords%2Fkeyword_7/measure \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"locale":"en-US","venue":"google-search"}'

# Not live yet (gaps #11)
curl -X POST https://api.sb/leaseline.app/keywords/find \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"seeds":["rent ledger template","track rent payments"],"locale":"en-US","save":40}'
import { $ } from 'startup-builder'

const posts = await $.Keyword.measure({ keyword: 'keywords/keyword_4', venue: 'reddit' })   // “rent spreadsheet”: the posts and the words buyers use
await $.Keyword.measure({ keyword: 'keywords/keyword_7', locale: 'en-US', venue: 'google-search' })   // searches, cost of a click, difficulty, intent, trend
return await $.Keyword.find({ seeds: posts.phrases, locale: 'en-US', save: 40 })   // related terms, each measured; the ones you can win kept · Not live yet, gaps #11
npx startup-builder do Keyword.measure --json '{"keyword":"keywords/keyword_4","venue":"reddit"}'
npx startup-builder do Keyword.measure --json '{"keyword":"keywords/keyword_7","locale":"en-US","venue":"google-search"}'
npx startup-builder do Keyword.find --json '{"seeds":["rent ledger template","track rent payments"],"locale":"en-US","save":40}'   # Not live yet (gaps #11)
{
  "name": "do",
  "arguments": {
    "code": "const posts = await $.Keyword.measure({ keyword: 'keywords/keyword_4', venue: 'reddit' })   // “rent spreadsheet”: the posts and the words buyers use\nawait $.Keyword.measure({ keyword: 'keywords/keyword_7', locale: 'en-US', venue: 'google-search' })   // searches, cost of a click, difficulty, intent, trend\nreturn await $.Keyword.find({ seeds: posts.phrases, locale: 'en-US', save: 40 })   // related terms, each measured; the ones you can win kept · Not live yet, gaps #11"
  }
}
Response200application/json
{
  "$type": "KeywordList",
  "locale": "en-US",
  "venue": "google-search",
  "found": 312,
  "kept": 40,
  "terms": [
    {
      "term": "rent ledger template",
      "searches": 1900,
      "cpc": 2.4,
      "difficulty": 18,
      "intent": "buy",
      "trend": "rising",
  …
sample · 1 Not live yet
200 ideas, 40 terms measured, 10 results pages read: about $0.20
First run
Coming
Status
API
Runs by
Nothing to start. Your Google Ads account, once, makes volume and site ideas free.
Connect once

What you get

FieldWhat it says
TermThe words as buyers type them, drawn from your seed words, the problem posts and rivals’ pages.
Searches a monthMonthly searches in your Market. A blank on a long-tail term reads unknown, never zero.
Cost of a clickWhat one click on the term costs as an ad today.
Two routesOne row prices both: rank for the term in months for the cost of a page, or buy the click today.
DifficultyHow hard the term is to rank for, from 0 to 100, read against the sites in its top 10.
IntentBuy, compare or learn, so the short list keeps the terms that end in a sale.
TrendTwelve months of searches: rising, flat or falling.
Who ranksThe top 10 today and the questions people also ask, which become pages and the questions in Check AI answers.
Buyer wordsThe phrases buyers use in posts about the problem, with a link to each post.
CostThe most the pass can cost, shown before it runs, and what it cost after.

How it runs

WhenWhat happensRuns byYour partTakes
Minute 1Read the posts where buyers describe the problem, for the words they use (Problem posts)APIone sentence about the problemthe same minute
Minute 2Grow those words and your seed words into a few hundred related terms and search suggestions (Keyword ideas)APInothingthe same minute
Minute 3Measure every term: searches, cost of a click, difficulty, intent and trend (Keyword volume)APInothingthe same minute
Minute 4Read the top 10 and the questions people also ask for each term you can win (Search results)APInothingthe same minute
Minute 5Rank the short list by buying intent, difficulty and trend, with both routes priced on each row (Difficulty and intent)APIapprove 20 to 40 terms15 minutes of yours
MonthlyMeasure the approved terms again, and flag a term that rises or a new question people ask (Search trend)APInothingthe same day

Jobs inside it

JobWhat it returnsPriceStatusRuns by
Problem postsPosts where buyers describe the problem, with the phrases they use, the author and the dateunder $0.002 a searchComingAPI
Keyword ideasTerms buyers use around your seed words, each with searches and the cost of a click$0.0005 a rowComingAPI
Search suggestionsHow people finish your words in the search box, on Google and YouTubeabout $0.001 a seedComingAPI
Terms from a siteThe terms a page on your site or a rival’s site should rank forfree with your ad account connectedComingAPI
Keyword volumeMonthly searches and the cost of a click, per term, in your Market$0.0005 a termComingAPI
Difficulty and intentHow hard each term is to rank for, and whether the searcher wants to buy, compare or learnabout $0.025 for up to 1,000 termsComingAPI
Search trendTwelve months of searches, so a rising term reads as rising$0.0012 a termComingAPI
Search resultsThe top 10 for a term, the questions people also ask and the AI answer above them$0.002 a searchComingAPI
AI search volumeHow often a term is asked of AI tools, beside how often it is searched$0.0102 a termComingAPI

Where and how it runs

Where it worksHow it runsConnect once
Google Search, Bing, Reddit, X, Hacker News, YouTubeAPINothing to start. Your Google Ads account, once, makes volume and site ideas free.

Your agent acts as you on every Venue you authorize. Where a Venue has no API, a browser agent signs in as you and does the steps.

Plays that use it

Reference

ToolRuns today
POST /{namespace}/keywords/{keyword}/measureComing
Keyword.find (Not live yet, gaps #11)Coming
POST /{namespace}/monitorsComing

Compiled, not written: edit the records it reads (catalog/research-demand), then regenerate. Every step runs from a sentence or a line of code. In your words: the CRM words you know, and where each lives here.

Contents