---
title: "bytes(from:delegate:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/urlsession/bytes(from:delegate:)"
---

# bytes(from:delegate:)

Retrieves the contents of a given URL and delivers an asynchronous sequence of bytes.

## Declaration

```swift
func bytes(from url: URL, delegate: (any URLSessionTaskDelegate)? = nil) async throws -> (URLSession.AsyncBytes, URLResponse)
```

## Parameters

- `url`: The URL to retrieve.
- `delegate`: A delegate that receives life cycle and authentication challenge callbacks as the transfer progresses.

## Return Value

Return Value An asynchronously-delivered tuple that contains a URLSession.AsyncBytes sequence to iterate over, and a URLResponse.

## Discussion

Discussion Use this method when you want to process the bytes while the transfer is underway. You can use a for-await-in loop to handle each byte. For textual data, use the URLSession.AsyncBytes properties characters, unicodeScalars, or lines to receive the content as asynchronous sequences of those types. To wait until the session finishes transferring data and receive it in a single Data instance, use data(from:delegate:).

## See Also

### Performing asynchronous transfers

- [bytes(for:delegate:)](foundation/urlsession/bytes(for:delegate:).md)
- [URLSession.AsyncBytes](foundation/urlsession/asyncbytes.md)
- [data(for:delegate:)](foundation/urlsession/data(for:delegate:).md)
- [data(from:delegate:)](foundation/urlsession/data(from:delegate:).md)
- [data(for:)](foundation/urlsession/data(for:).md)
- [data(from:)](foundation/urlsession/data(from:).md)
- [download(for:delegate:)](foundation/urlsession/download(for:delegate:).md)
- [download(from:delegate:)](foundation/urlsession/download(from:delegate:).md)
- [download(resumeFrom:delegate:)](foundation/urlsession/download(resumefrom:delegate:).md)
- [upload(for:from:delegate:)](foundation/urlsession/upload(for:from:delegate:).md)
- [upload(for:fromFile:delegate:)](foundation/urlsession/upload(for:fromfile:delegate:).md)
- [upload(for:from:)](foundation/urlsession/upload(for:from:).md)
- [upload(for:fromFile:)](foundation/urlsession/upload(for:fromfile:).md)
- [URLSessionTaskDelegate](foundation/urlsessiontaskdelegate.md)
