A flow is a multi-step scraping pipeline made of nodes that run in order.
Base path: /flows Authentication: an x-api-key header or a session cookie.
POST /flows
Creates a flow. You can define its nodes in the same request.
curl -X POST https://api.jetscrape.com/flows \
-H "Content-Type: application/json" \
-H "x-api-key: js_YOUR_API_KEY" \
-d '{
"name": "E-Commerce Scraper",
"description": "Collects product information",
"nodes": [
{
"label": "Product Listing",
"request_body": {
"url": "https://shop.example.com/products",
"formats": [
{
"type": "unblocker",
"selectors": [
{
"property_name": "product_urls[]",
"selector": "a.product-link",
"attribute_type": "ATTRIBUTE",
"attribute": "href"
}
]
}
]
}
}
]
}'{
"id": "flow_abc123",
"name": "E-Commerce Scraper",
"description": "Collects product information",
"is_active": true,
"createdAt": "2025-06-08T10:00:00.000Z",
"nodes": []
}name(string, required) — the flow name.description(string, optional).nodes(array, optional) — initial nodes; they can also be added later.
GET /flows
Returns your own flows plus the public flows and public nodes available to you.
curl https://api.jetscrape.com/flows -H "x-api-key: js_YOUR_API_KEY"{
"flows": [],
"public-flows": [],
"public-nodes": []
}GET /flows/:id
curl https://api.jetscrape.com/flows/flow_abc123 -H "x-api-key: js_YOUR_API_KEY"PATCH /flows/:id
Updates flow metadata. Only the fields you send change.
curl -X PATCH https://api.jetscrape.com/flows/flow_abc123 \
-H "Content-Type: application/json" \
-H "x-api-key: js_YOUR_API_KEY" \
-d '{
"name": "Updated Flow Name",
"is_active": false
}'A flow with is_active: false cannot run — this is how you pause a pipeline without deleting it.
DELETE /flows/:id
curl -X DELETE https://api.jetscrape.com/flows/flow_abc123 \
-H "x-api-key: js_YOUR_API_KEY"Deleting a flow removes its nodes as well and cannot be undone. To pause a pipeline instead, set is_active: false.
Errors: 401 invalid key or session · 403 the flow belongs to someone else · 404 no such flow.