Skip to Navigation


Articles of interest to QuickBase folks

Downloading Files

Downloading Files

There are two ways to download a file.

The first and easiest way to download an attached file can be used if you know the database ID, the record ID, the Field ID of the file field you are attaching to, and the version ID.

To use this type of download, you use a GET request using this URL format:

replacing DBID with your TABLE dbid (not the application dbid!) , RID with the rid of the record with the File attachment, FID witht the fid of the File attachment field, and VID with the version ID of the file. Specifying 0 (zero) for the VID always gets you the most recent version.

If you use file attachments, you should know about the QuickBase version feature. Take a peek at the QuickBase online help for more information.

If you're executing this URL from a source outside of QuickBase, you may need to also provide and application token and authentication ticket to access the file (provided by invoking our Authenticate API call). To do so, you can use this URL format:

An alternate way to get the file is to use a different GET. This way uses a GET containing the URL of the file attachment, using no IDs other than the table dbid. The trick is getting the URL of the file attachement. How do you get that? You get the file attachment URL back from a call to API_DoQuery if you set its <fmt> parameter to structured. (The URL comes back, surprisingly in the <url></url> tags)

Heres a typical URL that you would use in this second way of doing a GET:



Appending Request with Ticket

This API documentation desperately needs to be updated.  If you just follow the instructions given, you will only get the login page rather than your file. You need to append the ticket to the URL as described above.

We also found we had to include our url instance in the url.

Here's an example in case it's helpful:

$fileUrl = ''. $fileRecordId . '/eFID/v0?ticket='. $ticket;

What is a GET request

?  Can someone give me a sample?

Hi Ryan, A GET request is in

Hi Ryan,


A GET request is in this case a web address you build to download a file attachment. Please see these two examples described above:




Fix I found

Hello Everyone, sometimes the simplest solution tends to be the most accurate one... I've found that there is a "www." missing in the given URL. For what is worth, this stops asking me for account information. 
So, even though the address is no longer valid, the example should be set like this:




Even though your support team

Even though your support team is responsive... I believe this is a problem that should be addressed with this post because I am having the same problem as prassana dr. You post and http get to the url and instead of the binary data for the attached document, you get the response binary of the login page.

This article is basically re-hashing your API documentation here: and if these two places don't let you know whether or not you need to submit any additional values via a cookie or a form riding with the get request then that should be documented.

use api_authenticate to get a

use api_authenticate to get a ticket and append the ticket value in your url like ?ticket=[ticket value]

re: file downloads

Hi --

I'm not an API expert (part of the reason for the redirect to Support in the comment below), but if you try the API_DoQuery method described in the article, you will need to first call API_Authenticate, which will give you a session ticket. Then you can use the session ticket in the API_DoQuery call that returns the file URL. That should prevent the login page from appearing.



quick base image downloading issue

i am developing android app , i did according to the API. issue is i got a webpage as a response. and it is the login page of quick base.  do i need to give any app token or something with the get request ??

please contact customer support

Hi Prasanna --

I'm not sure I have enough information to give you a useful answer to your question. I'd suggest opening a support case ( with a complete description of the problem, including: which API you were using, what you were trying to do, what you expected to happen, and what happened instead. Our support team is very responsive, and they are more likely to resolve your issue correctly than I am.

Thanks for writing,


Post new comment

The content of this field is kept private and will not be shown publicly.
Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.