Browse the docs
Parse node

URL

Split a URL column into its parts (scheme, host, domain, path, query, fragment), pull query parameters into columns, or explode them into rows.

Category
Parse

What it does

Breaks a URL text column into structured data, three ways. Components splits each URL into the parts you pick: scheme, host, path, query, fragment, and smart pieces like subdomain, registrable domain and public suffix. Query → columns pulls named query parameters into their own typed columns. Query → rows explodes every parameter into one name/value row each.

Inputs and outputs

InputsOne.
OutputsOne.

When to use it

  • Group traffic by registrable domain or public suffix (example.co.uk, not just the raw host)
  • Split marketing links into utm_source / utm_campaign / utm_medium columns
  • Land unknown query strings as a tidy name/value table you can pivot
  • Pull the host or path out of a column of links for cleanup or joining

Examples

Domain intelligence

mail.google.co.uk → subdomain=mail, domain=google.co.uk, suffix=co.uk

Multi-part suffixes resolve correctly, not just the last label.

Pull query params

?utm_source=news&page=3 → utm_source, page (Integer)

Values are URL-decoded; a missing one is null.

Explode to rows

?a=1&b=2 → 2 rows (a|1, b|2)

Other columns are copied down onto each row.

Bare host

www.example.com/p → host, path

With "assume a scheme" on, scheme-less URLs still parse.

Tips

  • Domain, subdomain, and public suffix use the public suffix list, so google.co.uk resolves correctly (not just .uk); an IP address has none of these.
  • "When a URL has no scheme": Assume (default) prepends https:// so bare hosts parse; switch to strict to leave them null.
  • A null cell or a URL that won't parse yields null parts and the run keeps going. Add the "Is valid?" component to flag which rows parsed.
  • In Components, set a prefix like url_ so the new columns don't clash with existing ones; Port can come out as a number or text.
  • Query values are percent- and plus-decoded (a%20b and a+b both become "a b").