downloads the content of the specified URL to a local temporary file.


downloads the contents of the specified URLs to files in a local temporary directory.


downloads to a specified file.


downloads to a specified directory.


downloads the result of the specified HTTP request.


downloads the results of the list of HTTP requests.


returns only the element elem from the response.


returns only the element elem from the response.


returns an association of the values of the elements elemi.

Details and Options

  • URLDownload[url] creates a local temporary file in the directory $TemporaryDirectory.
  • URLDownload[{url1,url2,}] creates a local temporary directory in $TemporaryDirectory.
  • URLDownload[url,] returns the File[] object it has created, or a Failure[] object if the URL is not found or the file cannot be created.
  • URLDownload[{url1,url2,},] returns a list of File[] or Failure[] objects.
  • In URLDownload[{url1,url2,},], the files created have names generated from retrieved headers or from the final elements of the URL paths urli. If files with the same name already exist, a "-n" suffix is added.
  • In URLDownload[req,] and URLDownload[{req1,req2,},], the requests can be HTTPRequest[] objects or associations giving components and metadata elements, as in URLRead.
  • URLDownload takes the following options:
  • AuthenticationNoneauthentication information to send
    CookieFunction Automaticfunction to apply to each cookie received
    FollowRedirects Truewhether to follow HTTP redirects
    InteractiveTruewhether to allow interactive authentication dialogs
    TimeConstraint Infinitytime to wait for a response
    VerifySecurityCertificates Truewhether to verify SSL security certificates
  • TimeConstraint->t allows a maximum of t seconds for connection to the URL and reading from it.
  • TimeConstraint-><|"Connecting"->tc,"Reading"->tr|> specifies separate timeouts for connecting to the URL and reading from it.
  • In URLDownload[req,loc,elem], the following elements can be used:
  • "File"file object to read the response body
    "Headers"list of headers received in the response
    "Cookies"list of cookies received in the response
    "ContentType"content type header
    "StatusCode"status code returned by the server
    "StatusCodeDescription"plain text description of status code
    {elem1,elem2,}an association of the elements elemi
    Automaticsymbolic File object
    Allan association of all elements


open allclose all

Basic Examples  (3)

This saves the content of the URL:

Download a file and check the status code returned from the server:

Gather information about a connection:

For more complex requests, use HTTPRequest:

Options  (4)

CookieFunction  (1)

Apply a function to each cookie received when an HTTP response is received:

FollowRedirects  (1)

Specify whether to follow HTTP redirects when retrieving a URL:

TimeConstraint  (1)

Specify the maximum allotted time in seconds to finish downloading data from the server:

VerifySecurityCertificates  (1)

Verify that the SSL certificate used by the server is valid:

Properties & Relations  (2)

File and CloudObject are fully supported:

Perform an HTTPRequest by using Import or URLExecute:

Possible Issues  (1)

URLDownload will return a Failure if the host is unable to return a response:

URLDownload will always download the response of the server, even if the "StatusCode" indicates a client or a server error:

Wolfram Research (2016), URLDownload, Wolfram Language function, https://reference.wolfram.com/language/ref/URLDownload.html.


Wolfram Research (2016), URLDownload, Wolfram Language function, https://reference.wolfram.com/language/ref/URLDownload.html.


Wolfram Language. 2016. "URLDownload." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/URLDownload.html.


Wolfram Language. (2016). URLDownload. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/URLDownload.html


@misc{reference.wolfram_2024_urldownload, author="Wolfram Research", title="{URLDownload}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/URLDownload.html}", note=[Accessed: 17-July-2024 ]}


@online{reference.wolfram_2024_urldownload, organization={Wolfram Research}, title={URLDownload}, year={2016}, url={https://reference.wolfram.com/language/ref/URLDownload.html}, note=[Accessed: 17-July-2024 ]}