Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

55 Commits

Folders and files

Repository files navigation

seo-scripts

Command-line tools for keyword research and search visibility checks, built around Russian search (Yandex Wordstat, Yandex Webmaster) and the global engines (Google, Bing). Each tool reads a list of phrases or a spreadsheet, calls a search data API and writes an Excel report.

Tools

Tool What it does Data source
wordstat-frequency/ Extracts keywords from content briefs (.docx) and fills in Yandex search volume: broad and exact frequency, 24-month dynamics, flags for topics with no demand Yandex Wordstat API (Yandex Cloud AI Studio)
keyword-volume/ Search volume for the US and other non-Russian markets: Google Ads volume, 12-month trend, CPC, Bing impressions DataForSEO, Bing Webmaster API
serp-snapshot/ Organic results snapshot for a phrase list in Yandex, Google and Bing: your site's positions, top-N per phrase, a competitor map weighted by search volume SerpApi
search-queries-export/ Monthly export of the queries a site gets impressions and clicks for, merged from both consoles into one table with brand segments and coverage Yandex Webmaster API, Google Search Console API

The tools are independent: each directory has its own dependencies, .env.example and README. wordstat-frequency output can be fed to serp-snapshot to weight competitors by demand.

Requirements

  • Bun 1.3 or later for wordstat-frequency, keyword-volume and serp-snapshot.
  • Python 3 for search-queries-export (see its README for the exact packages).
  • API credentials for the services each tool uses; every README explains where to get them.

Common behaviour

  • Credentials come from command-line options, environment variables or a .env file in the tool's directory (copy .env.example). Environment variables take precedence over .env.
  • Long runs keep a checkpoint (*.jsonl) next to the input. A repeated run with the same arguments continues from it and does not pay for the requests already made.
  • Exit codes of the TypeScript tools: 0 everything collected, 1 invalid arguments or a fatal error, 2 partial result because an API quota ran out, 3 partial result because the API kept failing (where the tool distinguishes it). A partial report is always written.
  • Report sheet and column names are in Russian; each README has a table with their meaning.

Development

cd <tool>
bun install
bun test
bun run typecheck

Tests run offline against local mock servers and recorded fixtures; they need no API keys.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages