Base path: /api/subscriptions Authentication: session cookie, except the bank callback.
A subscription loads credit automatically every period — more practical than buying packs if you use JetScrape regularly.
GET /api/subscriptions/plans
Lists the plans. No session required.
curl https://api.jetscrape.com/api/subscriptions/plans{
"success": true,
"plans": [
{
"id": "plan_pro",
"name": "Pro",
"price": 99.99,
"currency": "TRY",
"credits_per_month": 10000,
"interval": "monthly"
}
]
}POST /api/subscriptions/subscribe
curl -X POST https://api.jetscrape.com/api/subscriptions/subscribe \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{
"plan_id": "plan_pro",
"card_holder": "JOHN DOE",
"card_number": "4111111111111111",
"card_exp_month": "12",
"card_exp_year": "2026",
"cvv": "123"
}'Activated straight away:
{ "success": true, "subscription_activated": true, "order_id": "ord_sub_abc123" }3D Secure required:
{
"success": true,
"subscription_activated": false,
"order_id": "ord_sub_abc123",
"html_3d": "<html>...3D Secure form...</html>"
}When subscription_activated is false, render html_3d; the subscription activates once verification completes.
GET /api/subscriptions/current
curl https://api.jetscrape.com/api/subscriptions/current -b cookies.txt{
"success": true,
"subscription": {
"id": "sub_abc123",
"plan_id": "plan_pro",
"status": "active",
"current_period_end": "2025-07-08T00:00:00.000Z"
},
"plan": { "id": "plan_pro", "name": "Pro", "credits_per_month": 10000 },
"stored_card": { "last4": "1111", "brand": "Visa" }
}With no subscription:
{ "success": true, "subscription": null }stored_card is absent when no card is on file. Handle all three shapes in your UI: no subscription, a subscription with a stored card, and a subscription without one.
POST /api/subscriptions/change-plan
curl -X POST https://api.jetscrape.com/api/subscriptions/change-plan \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{ "new_plan_id": "plan_enterprise" }'POST /api/subscriptions/cancel
curl -X POST https://api.jetscrape.com/api/subscriptions/cancel -b cookies.txt{ "success": true, "cancelledAt": "2025-06-08T11:00:00.000Z" }POST /api/subscriptions/reactivate
curl -X POST https://api.jetscrape.com/api/subscriptions/reactivate -b cookies.txtGET /api/subscriptions/charges
curl "https://api.jetscrape.com/api/subscriptions/charges?page=1&limit=10" -b cookies.txtPack or subscription?
- Irregular, unpredictable usage — credit packs.
- A similar volume every month — a subscription.
- One large one-off job — a credit pack.
- Continuous production workloads — a subscription plus balance monitoring.