# "dvc.api.get\_url()" is not working for --external outputs

**URL:** <https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730>\
**Category:** Questions\
**Created:** [April 19, 2021, 6:27am UTC](https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730 "2021-04-19T06:27:09Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![veeresh](https://avatars.discourse-cdn.com/v4/letter/v/df705f/32.png) [@veeresh](https://discuss.dvc.org/u/veeresh)\
**Post date:** [April 19, 2021, 6:27am UTC](https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730/1 "2021-04-19T06:27:09Z")

</div>

I have added dvc remote external output to track (external cache and external data storage),

- Following is the .dvc generated,  
**path in github:** remoteTrack/wine-quality.csv.dvc  
outs:

- But same works if not mentioned as external data, following is .csv for non external  
**path in github:** wine-quality.csv.dvc  
outs:

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/dataversioncontrol/original/1X/a743fa995cf8a15725ea820f6753ee1cc0d30c95.png)  
Even after mentioning path as “remote://s3remote/wine-quality.csv”, it is not working.  
**Error** : PathMissingError: The path ‘remoteTrack/wine-quality.csv’ does not exist in the target repository neither as a DVC output nor as a Git-tracked file.

What should be the path for remote external data?

---

<div class="post-metadata">

**Author:** ![isidentical](https://avatars.discourse-cdn.com/v4/letter/i/c68b51/32.png) [@isidentical](https://discuss.dvc.org/u/isidentical)\
**Post date:** [April 19, 2021, 8:38am UTC](https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730/2 "2021-04-19T08:38:28Z")

</div>

> [@veeresh](#):
>
> What should be the path for remote external data?

Support for external outputs in `dvc.api.*` is highly experimental, and it seems like it doesn’t work for your use case. If this is a single use case, I’d advise just expanding `remote://s3remote/wine-quality.csv` to `s3://bucket/wine-quality.csv` and use boto etc to read it.

---

<div class="post-metadata">

**Author:** ![veeresh](https://avatars.discourse-cdn.com/v4/letter/v/df705f/32.png) [@veeresh](https://discuss.dvc.org/u/veeresh)\
**Post date:** [April 19, 2021, 8:59am UTC](https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730/3 "2021-04-19T08:59:41Z")

</div>

okay.  
I will try with “S3://bucket” instead of remote,  
But does that solve the issue?  
The problem am facing is when reading the URL using dvc api for different versions of data.  
The data is being stored correctly and .dvc files are generated.  
I can manually enter s3 URL and read file from that location (or download using boto3 if I know the URL).

Example URLs for different versions of data from cache,  
s3://datasource-bucket/cache/559/27fce671701990608798ea11403459  
s3://datasource-bucket/cache/5d/6f24258e3c50bb01a61194b5401f5d

---

<div class="post-metadata">

**Author:** ![isidentical](https://avatars.discourse-cdn.com/v4/letter/i/c68b51/32.png) [@isidentical](https://discuss.dvc.org/u/isidentical)\
**Post date:** [April 20, 2021, 7:26am UTC](https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730/4 "2021-04-20T07:26:37Z")

</div>

By the way, what is your use case that requires using external outputs? It might be just simpler to use regular outputs and push/pull. It is an advanced feature with some parts are still in an experimental mode.

---

<div class="post-metadata">

**Author:** ![veeresh](https://avatars.discourse-cdn.com/v4/letter/v/df705f/32.png) [@veeresh](https://discuss.dvc.org/u/veeresh)\
**Post date:** [April 20, 2021, 9:05am UTC](https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730/5 "2021-04-20T09:05:53Z")

</div>

The use case am exploring is trying to track data in remote location without storing/downloading it locally(I will not push or pull data locally).  
There can be other systems, which can change data in remote, which again I want to track from git dvc but without downloading it.  
And am trying to load different versions of remote data in jupyter notebook using dvc api.(the notebook is in cloud).  
Except --external option, other options/features download the data locally right either in cache or in local system?

---

<div class="post-metadata">

**Author:** ![isidentical](https://avatars.discourse-cdn.com/v4/letter/i/c68b51/32.png) [@isidentical](https://discuss.dvc.org/u/isidentical)\
**Post date:** [April 20, 2021, 9:19am UTC](https://discuss.dvc.org/t/dvc-api-get-url-is-not-working-for-external-outputs/730/6 "2021-04-20T09:19:28Z")

</div>

> [@veeresh](#):
>
> Except --external option, other options/features download the data locally right either in cache or in local system?

Actually, you can use `--to-remote`, which should sync your data from the remote source to the remote storage and then you can use `dvc.api.read()` etc. See [add](https://dvc.org/doc/command-reference/add#example-transfer-to-remote-storage)
