feat: AI Pricing Transparency Scanner Chrome Extension v1.0.0

This commit is contained in:
Bun Bun
2026-06-22 05:47:35 +00:00
commit 4906edb65a
18 changed files with 1631 additions and 0 deletions
+378
View File
@@ -0,0 +1,378 @@
// AI Tool Pricing Database — real pricing data, June 2026
// Loaded as content script; exposes window.AptDB
(function () {
'use strict';
var tools = [
{
id: 'chatgpt-plus',
name: 'ChatGPT Plus',
vendor: 'OpenAI',
domains: ['openai.com', 'chatgpt.com'],
tier: 'subscription',
priceMonthly: 20,
priceAnnual: 200,
annualDiscountPercent: 17,
freeTier: {
exists: true,
type: 'demo',
limits: 'GPT-4o limited messages, resets every 3-4 hours. ~50 messages per 3h window.',
realValue: 'Product tour — most users hit limits within 30 min of real work.'
},
models: ['gpt-4o', 'gpt-4o-mini', 'o4-mini'],
apiEquivalent: {
model: 'gpt-4o',
inputPer1M: 2.50,
outputPer1M: 10.00,
notes: 'API gives raw model access. Subscription includes ChatGPT UI, data analysis, image gen.'
},
quotas: [
{ name: 'gpt-4o', type: 'rolling', window: '3h', approxMessages: 80 },
{ name: 'gpt-4o-mini', type: 'rolling', window: '3h', approxMessages: null },
{ name: 'o4-mini', type: 'rolling', window: '3h', approxMessages: 30 }
],
communityReports: [
{ userId: 'u1', date: '2026-06-15', report: 'Hit GPT-4o limit after 45 messages in 2h. Downgraded to mini.' },
{ userId: 'u2', date: '2026-06-10', report: 'o4-mini quota very tight during code analysis work.' }
]
},
{
id: 'chatgpt-pro',
name: 'ChatGPT Pro',
vendor: 'OpenAI',
domains: ['openai.com', 'chatgpt.com'],
tier: 'subscription',
priceMonthly: 200,
priceAnnual: 1920,
annualDiscountPercent: 20,
freeTier: null,
models: ['gpt-4o', 'o3', 'o4-mini', 'gpt-4o-mini'],
apiEquivalent: {
model: 'o3',
inputPer1M: 15.00,
outputPer1M: 60.00,
notes: 'Pro includes "unlimited" access but rate limits still apply during peak.'
},
quotas: [
{ name: 'o3', type: 'rolling', window: 'unknown', approxMessages: null }
],
communityReports: [
{ userId: 'u3', date: '2026-06-12', report: 'Still hit rate limits on o3 during heavy coding sessions.' }
]
},
{
id: 'claude-pro',
name: 'Claude Pro (Max 5x)',
vendor: 'Anthropic',
domains: ['anthropic.com', 'claude.ai'],
tier: 'subscription',
priceMonthly: 20,
priceAnnual: 204,
annualDiscountPercent: 15,
freeTier: {
exists: true,
type: 'demo',
limits: 'Claude.ai free: limited Sonnet messages, resets every few hours. ~10-15 messages per session.',
realValue: 'Demo tier — hits wall quickly during any sustained conversation.'
},
models: ['claude-sonnet-4', 'claude-opus-4'],
apiEquivalent: {
model: 'claude-sonnet-4',
inputPer1M: 3.00,
outputPer1M: 15.00,
notes: 'API has no rate limits beyond spend. Subscription includes Projects, Artifacts UI.'
},
quotas: [
{ name: 'claude-sonnet-4', type: 'rolling', window: '5h', approxMessages: 225 },
{ name: 'claude-opus-4', type: 'rolling', window: '5h', approxMessages: 25 }
],
communityReports: [
{ userId: 'u4', date: '2026-06-18', report: 'Opus runs out fast. Sonnet quota is generous but not unlimited.' },
{ userId: 'u5', date: '2026-06-14', report: 'Switched to API after hitting limits during code review sessions.' }
]
},
{
id: 'claude-max',
name: 'Claude Max (20x)',
vendor: 'Anthropic',
domains: ['anthropic.com', 'claude.ai'],
tier: 'subscription',
priceMonthly: 100,
priceAnnual: 960,
annualDiscountPercent: 20,
freeTier: null,
models: ['claude-sonnet-4', 'claude-opus-4'],
apiEquivalent: {
model: 'claude-opus-4',
inputPer1M: 15.00,
outputPer1M: 75.00,
notes: 'Max gives 20x free tier usage. Opus access significantly expanded.'
},
quotas: [
{ name: 'claude-sonnet-4', type: 'rolling', window: '5h', approxMessages: 900 },
{ name: 'claude-opus-4', type: 'rolling', window: '5h', approxMessages: 100 }
],
communityReports: [
{ userId: 'u6', date: '2026-06-16', report: 'Opus at 20x is finally usable for real work. Still not truly unlimited.' }
]
},
{
id: 'gemini-advanced',
name: 'Gemini Advanced (Google One AI Premium)',
vendor: 'Google',
domains: ['aistudio.google.com', 'gemini.google.com'],
tier: 'subscription',
priceMonthly: 19.99,
priceAnnual: 219.99,
annualDiscountPercent: 8,
freeTier: {
exists: true,
type: 'generous',
limits: 'Gemini free tier: fairly usable. Gemini 2.5 Flash with decent limits, Gemini 2.5 Pro limited.',
realValue: 'Genuinely usable for casual use — best free tier among major AI tools.'
},
models: ['gemini-2.5-pro', 'gemini-2.5-flash'],
apiEquivalent: {
model: 'gemini-2.5-pro',
inputPer1M: 1.25,
outputPer1M: 10.00,
notes: 'API available via Google AI Studio. Advanced includes 2TB storage + Gemini in Workspace.'
},
quotas: [
{ name: 'gemini-2.5-pro', type: 'rolling', window: 'unknown', approxMessages: null },
{ name: 'gemini-2.5-flash', type: 'rolling', window: 'unknown', approxMessages: null }
],
communityReports: [
{ userId: 'u7', date: '2026-06-17', report: 'Gemini Pro rarely hits limits. Best subscription value currently.' }
]
},
{
id: 'perplexity-pro',
name: 'Perplexity Pro',
vendor: 'Perplexity',
domains: ['perplexity.ai'],
tier: 'subscription',
priceMonthly: 20,
priceAnnual: 200,
annualDiscountPercent: 17,
freeTier: {
exists: true,
type: 'generous',
limits: '5 Pro searches per 4 hours, unlimited basic search.',
realValue: 'Basic search genuinely useful. Pro searches are the real value-add.'
},
models: ['sonar-pro', 'gpt-4o', 'claude-sonnet-4', 'gemini-2.5-pro'],
apiEquivalent: {
model: 'sonar-pro',
inputPer1M: 3.00,
outputPer1M: 15.00,
notes: 'Pro includes model choice, image gen, file uploads. API is search-native.'
},
quotas: [
{ name: 'sonar-pro', type: 'rolling', window: '4h', approxMessages: 300 }
],
communityReports: [
{ userId: 'u8', date: '2026-06-13', report: '300 Pro searches/day is plenty for research. Best value $20 plan.' }
]
},
{
id: 'cursor-pro',
name: 'Cursor Pro',
vendor: 'Cursor (Anysphere)',
domains: ['cursor.com'],
tier: 'subscription',
priceMonthly: 20,
priceAnnual: 192,
annualDiscountPercent: 20,
freeTier: {
exists: true,
type: 'demo',
limits: '2 week trial, then 50 slow premium requests + 200 completions/month.',
realValue: 'Effectively a trial. 50 requests/month is a few days of real coding.'
},
models: ['gpt-4o', 'claude-sonnet-4', 'o4-mini'],
apiEquivalent: {
model: 'claude-sonnet-4',
inputPer1M: 3.00,
outputPer1M: 15.00,
notes: 'Cursor wraps models with codebase context. API requires your own context management.'
},
quotas: [
{ name: 'premium-requests', type: 'monthly', window: '30d', approxMessages: 500 }
],
communityReports: [
{ userId: 'u9', date: '2026-06-19', report: '500 fast requests run out mid-month for daily coders. Slow requests are unusable.' },
{ userId: 'u10', date: '2026-06-11', report: 'Switched to API + Continue.dev after running out of requests.' }
]
},
{
id: 'deepseek',
name: 'DeepSeek',
vendor: 'DeepSeek',
domains: ['deepseek.com', 'platform.deepseek.com'],
tier: 'freemium',
priceMonthly: 0,
priceAnnual: 0,
annualDiscountPercent: 0,
freeTier: {
exists: true,
type: 'generous',
limits: 'DeepSeek-V3 chat is free with generous limits. API is extremely cheap.',
realValue: 'Best free AI value. Real model access, not a demo.'
},
models: ['deepseek-v3', 'deepseek-r1'],
apiEquivalent: {
model: 'deepseek-v3',
inputPer1M: 0.27,
outputPer1M: 1.10,
notes: 'API is practically free. Best $/token ratio in the market.'
},
quotas: [
{ name: 'deepseek-v3', type: 'rolling', window: 'unknown', approxMessages: null }
],
communityReports: [
{ userId: 'u11', date: '2026-06-18', report: 'Switched from ChatGPT Plus to DeepSeek. 95% as good for coding, completely free.' }
]
},
{
id: 'grok',
name: 'X Premium (Grok)',
vendor: 'xAI',
domains: ['x.ai', 'x.com', 'grok.com'],
tier: 'subscription',
priceMonthly: 16,
priceAnnual: 168,
annualDiscountPercent: 13,
freeTier: {
exists: true,
type: 'demo',
limits: 'Free X users get limited Grok access. Very low message caps.',
realValue: 'Teaser tier. Real Grok requires X Premium.'
},
models: ['grok-3', 'grok-4'],
apiEquivalent: {
model: 'grok-3',
inputPer1M: 5.00,
outputPer1M: 15.00,
notes: 'API available via x.ai. Bundled with X Premium subscription.'
},
quotas: [
{ name: 'grok-3', type: 'rolling', window: '2h', approxMessages: 25 },
{ name: 'grok-4', type: 'rolling', window: '2h', approxMessages: 10 }
],
communityReports: [
{ userId: 'u12', date: '2026-06-16', report: 'Grok-4 quota very tight. 10 msgs per 2h is rough.' }
]
},
{
id: 'midjourney-basic',
name: 'Midjourney Basic',
vendor: 'Midjourney',
domains: ['midjourney.com'],
tier: 'subscription',
priceMonthly: 10,
priceAnnual: 96,
annualDiscountPercent: 20,
freeTier: {
exists: false,
type: 'none',
limits: 'No free tier. Trial only via Discord occasionally.',
realValue: 'Must pay to use.'
},
models: ['midjourney-v7'],
apiEquivalent: {
model: 'n/a',
inputPer1M: 0,
outputPer1M: 0,
notes: 'No official API. Third-party proxies exist but unreliable.'
},
quotas: [
{ name: 'images', type: 'monthly', window: '30d', approxMessages: 200 }
],
communityReports: [
{ userId: 'u13', date: '2026-06-15', report: '200 images/month basic tier runs out fast. Standard ($30) gives unlimited relax mode.' }
]
},
{
id: 'poe',
name: 'Poe (Monthly)',
vendor: 'Quora',
domains: ['poe.com'],
tier: 'subscription',
priceMonthly: 20,
priceAnnual: 250,
annualDiscountPercent: 0,
freeTier: {
exists: true,
type: 'demo',
limits: '100 compute points/day. Roughly 3-5 messages with top models.',
realValue: 'Demo tier. Just enough to try, not for real use.'
},
models: ['multi-model'],
apiEquivalent: {
model: 'various',
inputPer1M: 0,
outputPer1M: 0,
notes: 'Poe is an aggregator. Compare individual model APIs instead.'
},
quotas: [
{ name: 'compute-points', type: 'daily', window: '24h', approxMessages: null }
],
communityReports: [
{ userId: 'u14', date: '2026-06-14', report: 'Point system confusing. Claude Opus costs 2000+ points per message.' }
]
},
{
id: 'mistral-lechat',
name: 'Le Chat (Mistral)',
vendor: 'Mistral AI',
domains: ['mistral.ai', 'chat.mistral.ai'],
tier: 'subscription',
priceMonthly: 20,
priceAnnual: 192,
annualDiscountPercent: 20,
freeTier: {
exists: true,
type: 'generous',
limits: 'Free tier includes Mistral Small and limited Large access.',
realValue: 'Reasonably usable free tier for lighter tasks.'
},
models: ['mistral-large-2', 'mistral-small', 'codestral'],
apiEquivalent: {
model: 'mistral-large-2',
inputPer1M: 2.00,
outputPer1M: 6.00,
notes: 'API pricing very competitive. Le Chat adds canvas and agent features.'
},
quotas: [
{ name: 'mistral-large', type: 'rolling', window: 'unknown', approxMessages: 150 }
],
communityReports: [
{ userId: 'u15', date: '2026-06-20', report: 'Le Chat free tier is surprisingly usable for non-coding tasks.' }
]
}
];
var pricingPatterns = {
copycatPricePoint: {
price: 20,
tools: ['ChatGPT Plus', 'Claude Pro', 'Perplexity Pro', 'Cursor Pro', 'Poe', 'Le Chat'],
insight: 'Almost every AI subscription converges on $20/month despite 10x variance in actual value.'
},
fakeFreeTiers: {
description: 'Tools where "free tier" is actually a product demo, not usable.',
flaggedIds: ['chatgpt-plus', 'claude-pro', 'grok', 'cursor-pro', 'poe'],
genuinelyFreeIds: ['deepseek', 'gemini-advanced', 'mistral-lechat']
},
annualDiscountTrend: {
description: 'Annual discounts have increased from ~20% to up to 50%, signaling high monthly churn.',
examples: ['ChatGPT Pro (20%)', 'Claude Max (20%)', 'Cursor Pro (20%)', 'Midjourney (20%)']
},
apiVsSubscriptionSavings: {
description: 'For most tools, API access is 2-7x cheaper than subscription for typical usage (500 msgs/month).',
averageMultiplier: 3.5
}
};
window.AptDB = { tools: tools, pricingPatterns: pricingPatterns, version: '2026-06-22' };
})();