Skip to main content
The Extract Network node intercepts XHR and Fetch requests made by the page and extracts data from their responses. This is useful when you’re looking to extract a lot of data and want to optimize runtime or the data you need isn’t rendered in the DOM but is available in API responses.

Parameters

ParameterTypeRequiredDescription
urlstringYesURL pattern to match against intercepted requests
extract_data_modelobjectYesData model schema for extracting specific fields using JSONPath
selectorstringNoXPath expression to wait for before extracting network data
wait_timenumberNoMaximum time (ms) to wait for the selector to appear. Only used when selector is set. Default: 15000

URL Matching

The node supports three matching modes:

Exact Match

If the URL exactly matches a request URL, it’s returned.
https://api.example.com/users/123

Substring Match

If no exact match is found, the node falls back to substring matching.
/api/users/
``n`

This matches any request containing `/api/users/` in the URL.

### Regex Match
For complex patterns, prefix the URL with `regex:` to use regular expressions.

regex:/api/v1/coverages/-?\d+

This matches:
- `/api/v1/coverages/123`
- `/api/v1/coverages/-456789`

But **not**:
- `/api/v1/coverages/` (no number)

## Examples

### Basic Usage
Extract user data from an API response:

```json
{
  "url": "/api/v1/users",
  "extract_data_model": {
    "type": "object",
    "properties": {
      "user_id": {
        "type": "string",
        "path": "$.id",
        "selected": true
      },
      "email": {
        "type": "string",
        "path": "$.email",
        "selected": true
      }
    }
  }
}

With Regex URL Matching

Extract specific fields using regex to match dynamic URLs:
{
  "url": "regex:/api/v1/orders/\\d+",
  "extract_data_model": {
    "type": "object",
    "properties": {
      "order_id": {
        "type": "string",
        "path": "$.id",
        "selected": true
      },
      "status": {
        "type": "string", 
        "path": "$.order.status",
        "selected": true
      }
    }
  }
}
Common JSONPath expressions:
  • $ — root object
  • $.field — direct field access
  • $.parent.child — nested field
  • $[0] — first array element
  • $..field — recursive search for field

Wait for Element First

Wait for a specific element to appear before extracting network data:
{
  "url": "/api/dashboard/data",
  "selector": "//*[@data-loaded='true']",
  "wait_time": 20000,
  "extract_data_model": {
    "type": "object",
    "properties": {
      "dashboard_data": {
        "type": "string",
        "path": "$",
        "selected": true
      }
    }
  }
}

Notes

  • The node automatically trims whitespace from URL patterns
  • When multiple requests match, the most recent match is used for extraction
  • Only fetch and XMLHttpRequest requests with JSON responses are captured