Agent APIs & data services

Software pricing pages in. Comparison-ready JSON out.

Codex Web-to-JSON converts supported public software pricing pages into structured plan data: prices, billing commitments, seat requirements, usage allowances, and source evidence.

Built for procurement, comparison, and pricing-monitoring workflows.

Evaluate with a sample

Full response shape shown before any payment.

Purchase capacity

$10 once for 50 extractions.

Connect your agent

Buyer-scoped API key and documented HTTPS endpoints.

Sample output

The exact shape you can build on

Synthetic example — demonstrates the response schema. It is not a customer extraction or a verified live result. Every plan record carries its own evidence string, so a comparison agent can cite what it relied on.

response.json
{
  "plans": [
    {
      "name": "Business",
      "price": 49,
      "currency": "USD",
      "price_basis": "per_seat",
      "billing_interval": "month",
      "billing_commitment": "annual",
      "minimum_seats": null,
      "evidence": "$49 per user/month, billed annually"
    }
  ],
  "warnings": [
    "Minimum seat requirement was not found."
  ]
}

Source excerpt

Business — $49 per user/month, billed annually. Includes unlimited projects and advanced reporting.

null means not established

A null field was not stated on the page. It is never guessed or inferred — and the corresponding warning tells you which field was missing.

The offer

Prepaid capacity, not a subscription

One bundle, one price, no renewal. Capacity is granted when the payment provider confirms the charge and never before — a redirect back to this site grants nothing.

Launch terms

One-time prepaid purchase. No automatic renewal. Purchased credits do not expire. The server resolves the published price and included capacity before hosted checkout.

Evaluation bundle

Codex Web-to-JSON — Pricing Page Extraction

$10once · 50 extractions
  • One permitted public HTTPS pricing-page URL per job
  • Plan records with evidence excerpts and retrieval timestamp
  • Explicit unsupported status instead of invented results
  • No automatic renewal, credits do not expire

Capacity is not granted by the checkout redirect. It is granted by the verified payment event, then collected at the extraction console. Need help? Contact support.

Repeat use

Track a vendor list without buying a subscription

Save up to ten pricing pages. The worker re-checks them daily or weekly, compares each extraction against the stored baseline, and reports only what actually changed: price, currency, price basis, billing interval, billing commitment, seat minimum or usage allowance.

Every scheduled check is paid from the same prepaid balance, one extraction per URL. Monitoring is not a separate plan, it renews nothing, and it stops on its own when capacity runs out.

Uncertain comparisons are never alerts

If a page layout changes, a field stops being stated, a plan disappears or an extraction fails, that is reported as a note with its reason — not as a price change. A confident alert requires both values to be established from the page.

One confirmed change

{
  "plan": "Business",
  "field": "price",
  "previous_value": 49,
  "current_value": 59,
  "currency": "USD",
  "price_basis": "per_seat",
  "billing_interval": "month",
  "billing_commitment": "annual",
  "source_url": "https://vendor.example/pricing",
  "evidence": "$59 per user/month, billed annually"
}

Change reports are stored with the run and readable from the extraction console. Nothing is emailed or pushed anywhere yet.

Published limits

What the service does and does not do

Known before you pay, because a limit you discover after purchase is a defect.

JavaScript-rendered pages
Not supported. The worker reads the served HTML, so client-rendered pricing tables return unsupported.
Maximum page size
2 MB of HTML. Larger pages are rejected before extraction.
Fetch timeout
15 seconds per request, including up to 3 validated redirects.
Plans per page
Up to 12 plan records, in page order.
Redirects
Followed only when the destination is also a public HTTPS URL. Private and internal hosts are blocked.
Caching
No request caching. Every paid job fetches the page live.
Result retention
A 30-day retention target is documented, but automatic deletion is not yet enforced. Purchased credits do not expire.
Access attempts
Private-network destinations, IP literals, embedded credentials, non-443 ports and authentication bypass are refused.
When a job consumes a credit
Only a completed extraction returning at least one plan record. Rejected URLs, unsupported pages, fetch failures and empty extractions consume nothing.
Retries
Reuse the same idempotency_key to retrieve the original job without a second charge.

How it runs

Evaluate, purchase, extract, repeat

  1. 01

    Evaluate

    Read the sample output and the published limits. No account needed, no anonymous live crawl.

  2. 02

    Purchase capacity

    $10 buys 50 extractions once. Only the verified payment grants credits — never the redirect back to this site.

  3. 03

    Collect your key

    Your receipt links to the extraction console, where you issue one API key scoped to your balance.

  4. 04

    Extract and repeat

    Submit a URL, reserve one credit, receive evidence-linked JSON. Top up when the balance runs low.

We use local storage and caching to keep the platform fast and reliable. No third-party advertising trackers. See our Privacy Policy.