High-level file download based on URLs

Version on this page:
LTS Haskell 20.23:
Stackage Nightly 2023-05-29:
Latest on Hackage:

See all snapshots download appears in

BSD-3-Clause licensed by Don Stewart
Maintained by Sibi Prabakaran
This version can be pinned in stack with:download-,2604

Module documentation for


Build Status

Download web content as strict bytestring, strings, HTML tags, XML, RSS or Atom feeds or JSON, via HTTP, FTP or file protocols, using a URL interface.

Using the library:

Importing the library:

import Network.Download

Loading a webpage as a ByteString:

doc  <- openURI ""

Loading from a file:

doc  <- openURI "file:///tmp/A.hs"

Loading a HTML page as a list of tags:

tags <- openAsTags ""

Loading a HTML page as XML:

tags <- openAsXML ""

Loading an RSS or Atom feed:

feed <- openAsFeed ""

These data types can the be processed further with the XML, Feed and TagSoup libraries.


  • OSX Support added. Thanks to Brian Crowder.
  • Package backported to old versions of ghc. Thanks to @thielema.
  • Add Travis support for GHC 8

  • Fix C code warnings
  • Cleanup in Download.hsc file

  • Fix hackage page rendering

  • Basic test suite added.