SurfacedBySurfacedBy Docs

Credit Model

How Console scans are priced in credits, including base cost, keyword overage, platform multipliers, and add-ons.

Ask an AI:Open in ChatGPTOpen in Claude

Every Console scan has a credit cost computed from four inputs: keyword count, platform count, add-on selection, and a base cost. The formula is deterministic, visible from the API before you commit, and also shown in the Console UI at scan-submit time.

The formula and add-ons

Credit formula

  • Base per scan: 20 credits (includes 20 keywords across 3 default platforms).
  • Per customer-supplied keyword above the base: 1 credit each.
  • Per additional platform beyond the default 3: adds 20% of the base cost.
  • Hard caps: 500 keywords, 5 platforms.

Add-on costs

Add-onCredits per scan
brand_mentions5
google_ai_overview2
page_analysis10
response_source_capture5
sentiment_analysis10
strategic_brief2

The computed total is visible before you submit. POST /api/v1/console/scans/preview returns the full breakdown. The authoritative add-on list is always available from the preview endpoint and from GET /api/v1/console/platforms.

Credit pack pricing

Packs never expire. You can buy any combination of sizes and the credits pool together in one balance.

PackCreditsPricePer creditBadge
100 Credits100$10$0.100
250 Credits250$25$0.100
500 Credits500$50$0.100
750 Credits750$75$0.100
1,000 Credits1,000$100$0.100Popular
2,500 Credits2,500$245$0.098Save 2%
5,000 Credits5,000$490$0.098Save 2%
10,000 Credits10,000$980$0.098Best value

Rate limits

SurfacePer minutePer month
Business tier (public API)6050,000
Professional tier (public API)6010,000
Console API (per key)120100,000

Refunds

Credits come back to your balance automatically in two cases:

  • Terminal failure on our side. A scan that reaches the failed terminal state because of an error we own (provider outage, handler crash) is refunded in full. The ledger carries a refund row tagged with reason=scan_failed.
  • Cancel while still queued. A scan cancelled before the worker starts running it is refunded in full. The ledger row is tagged reason=scan_cancelled.

Credits stay debited in two cases: cancelling mid-run (the worker has already started spending provider budget on your keywords) and successful completion (the work was done).

Preview before you commit

Every scan payload you are about to submit can be priced upfront:

curl -X POST https://api.surfacedby.com/api/v1/console/scans/preview \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "keywords": ["ai visibility", "generative engine optimization"],
    "platforms": ["chatgpt", "claude", "perplexity", "gemini"],
    "add_ons": ["sentiment_analysis", "strategic_brief"]
  }'

The response shows the total credit cost broken down by keyword cost, platform multiplier, and each selected add-on. No credits are consumed by calling preview.

On this page