AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

App Pricing Research

skill-vicoa-ai-app-business-skills-app-pricing-research · by vicoa-ai

Research any App Store app's in-app-purchase / subscription prices across countries, with live USD conversion. Resolves an app by name or numeric App Store id (defaults to ChatGPT), pulls each storefront's real rendered prices, converts via live exchange rates, and prints one table per pricing tier. Use when researching app pricing strategy, comparing subscription prices by country/region, buildi…

— No reviews yet
0 installs
1 views
0.0% view→install

Install

$ agentstack add skill-vicoa-ai-app-business-skills-app-pricing-research

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-vicoa-ai-app-business-skills-app-pricing-research)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of App Pricing Research? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

app-pricing-research

First step of app pricing-strategy research: get an app's prices across many countries (original local price + estimated USD), one table per pricing tier.

Quick start

cd app-business-skills/skills/app-pricing-research/scripts

# default: ChatGPT across large-population markets
python3 benchmark.py

# a specific app + countries (ISO codes or names), write to a file too
python3 benchmark.py --app-id 6448311069 --countries in,br,id,tr,us --out report.md

# resolve an app by name (lists matches if ambiguous; re-run with --app-id)
python3 benchmark.py --app-name "Duolingo"

How to choose inputs

App — give --app-id if known. Otherwise --app-name "" resolves it via the iTunes Search API (if several match, it prints candidates — pick one and pass --app-id). No app specified → defaults to ChatGPT (6448311069).

Countries — --countries takes ISO-3166 alpha-2 codes (in,br,jp) or country names (India,Brazil,Poland). Any country resolves automatically from the bundled data/countries.json (~246 countries → name, flag, currency). An unknown name errors clearly; an unknown code is still tried best-effort. With no --countries, it uses the default_markets list in data/countries.json — edit that list to change your standing set of interested markets. To target the user's own top markets, first pull installs/proceeds by territory from App Store Connect (Sales & Trends needs a Sales/Finance/Admin key + vendor number; the rich Analytics Reports API needs an Admin key).

How it works

  • Prices: the App Store listing is rendered per storefront with the gstack browse binary

(real JS render — IAP prices are NOT in the static HTML), then read from the Information → In-App Purchases section. URL form: apps.apple.com//app/id?l=en.

  • USD: live rates from open.er-api.com (verified to track Google Finance within ~0.2%);

the report stamps the rate date. The currency is read from the displayed price (so USD-billed storefronts like Kenya convert correctly), falling back to the country's currency.

  • Output: one markdown table per pricing tier (rows = countries; local price + ≈USD).

Notes / limits

  • USD is approximate — FX updates ~daily and drifts between Apple's price-point updates.

The local price is exact (straight from Apple); treat ≈USD as a comparison aid.

  • Duplicate tiers: some apps list the same IAP name twice (e.g. ChatGPT's monthly + annual

"Plus"); the tool disambiguates by ascending price as Name (1) / Name (2).

  • Locale formats are handled (Rp 75ribu=75,000, 132.000đ=132,000, R$ 39,90=39.90).

If a price can't be parsed safely, ≈USD shows ? rather than a wrong number.

  • Unknown / no data: an unrecognized country name errors; a country that returns no IAPs is

listed in a "No data returned" note at the end rather than silently dropped.

  • Each country is a separate browser load (~a few seconds); ~15 countries takes a couple minutes.

Files

  • scripts/benchmark.py — the tool. data/countries.json — country reference (code → name +

currency) and the editable default_markets list; regenerate from mledoze/countries to refresh.

Prereqs

  • gstack browse (the /browse skill) installed.
  • python3 (standard library only).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.