Visible tables and cards
Structured plan fields, feature bullets, and limit rows.
For competitor research, sales ops, and monitoring prep, you need stable plan fields, not brittle selectors. Try the demo, create a free key, then copy the first pricing extraction call.
{
"plans": [
{
"name": "Starter",
"monthly_price": 19,
"currency": "GBP",
"request_allowance": "5000/month",
"included_features": ["Public extraction"],
"requires_auth": false,
"batch_available": false,
"caveats": []
}
]
}Good fit for public plan cards, comparison grids, docs with plan limits, and visible product pricing.
Structured plan fields, feature bullets, and limit rows.
Works when rendered DOM exposes real pricing content.
Login walls, region-personalized prices, sales-call-only pricing, CAPTCHA, and thin shells fail closed.
querySelector('.price-card .price')
querySelector('.plan-name')
querySelectorAll('.feature li')One redesign and this cracks.
{
"url": "https://example.com/pricing",
"prompt": "Extract plans with name, monthly price, allowance, and included features as JSON"
}You keep one shape and tune prompt detail.
curl -X POST https://hauntapi.com/v1/extract \
-H "Content-Type: application/json" \
-H "X-API-Key: PASTE" \
-d '{"url":"https://example.com/pricing","prompt":"Extract plan names, monthly prices, request allowances, and included features as JSON"}'Free tier: 100 successful requests per month. No credit card.