Pricing Page Extraction

Read a SaaS pricing page: plans, prices, features per plan, billing periods, trials and guarantees.

Pay by wallet (x402) AI-generated pricing-page-extract

Example

Example answer
{
  "url": "https://example.com",
  "plans": [],
  "pricing_model": null,
  "enterprise_cta": false,
  "annual_discount": null,
  "free_tier_available": false,
  "free_trial_available": false,
  "money_back_guarantee": false
}

Inputs

FieldTypeRequiredWhat it is
urlstringYesPricing page URL

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
plansarrayAlways (present in every successful answer)
pricing_modelstringAlways (present in every successful answer)
enterprise_ctabooleanAlways (present in every successful answer)
free_trial_availablebooleanAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "pricing-page-extract",
    "inputs": {
      "url": "https://stripe.com/pricing"
    },
    "max_price_cents": 30
  }'

Limitations

  • Negotiated prices and discounts are not included

    Extracts visible pricing — custom/enterprise pricing, volume discounts, and negotiated rates are not available

    What to do instead: Flag extracted prices as 'list price' and note that enterprise or high-volume pricing requires direct contact

  • Interactive pricing pages can hide plan details

    Dynamic pricing pages with complex JavaScript interactions may not fully render all plan tiers

    What to do instead: If results appear incomplete, pass the direct pricing page URL rather than the homepage

  • Output size cap per call

    Structured output is limited to about 1,500 output tokens per call; requests exceeding this limit are refused rather than returned truncated. Requests with large results can exceed this limit, and repeating the same request does not help.

    What to do instead: This pricing page produced more plans than fit in one call — no direct workaround; retry is unlikely to help