---
title: "startFetchingMetadata(for:completionHandler:)"
framework: linkpresentation
role: symbol
role_heading: Instance Method
path: "linkpresentation/lpmetadataprovider/startfetchingmetadata(for:completionhandler:)-9e6s8"
---

# startFetchingMetadata(for:completionHandler:)

Fetches metadata for the given NSURLRequest.

## Declaration

```swift
func startFetchingMetadata(for request: URLRequest, completionHandler: @escaping @Sendable (LPLinkMetadata?, (any Error)?) -> Void)
```

```swift
func startFetchingMetadata(for request: URLRequest) async throws -> LPLinkMetadata
```

## Discussion

Discussion Call this method once per LPMetadataProvider instance. If you attempt to fetch metadata multiple times on a single LPMetadataProvider instance, it throws an error. The completion handler executes on a background queue. Dispatch any necessary UI updates back to the main queue. When the completion handler returns, it deletes any file URLs returned in the resulting LPLinkMetadata.
