---
title: "Get Object Store File"
description: "Get the Object Store file under a specific organization and key in QC Cloud through a request with the QC API."
canonical: https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/object-store-management/get-object-store-file
markdown: https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/object-store-management/get-object-store-file.md
language: python
source: https://github.com/QuantConnect/Documentation/tree/master/01%20Cloud%20Platform/99%20API%20Reference/09%20Object%20Store%20Management/03%20Get%20Object%20Store%20File
modified: 2026-10-29
index: https://www.quantconnect.com/llms.txt
---

# Get Object Store File

[Documentation](https://www.quantconnect.com/docs/v2.md) > [Cloud Platform](https://www.quantconnect.com/docs/v2/cloud-platform.md) > [API Reference](https://www.quantconnect.com/docs/v2/cloud-platform/api-reference.md) > [Object Store Management](https://www.quantconnect.com/docs/v2/cloud-platform/api-reference/object-store-management.md) > Get Object Store File

> Code examples are shown in Python. Append `?lang=csharp` to this URL for the C# version of this page.

## Introduction

Get Object Store file of a specific organization and key.

## Description

Downloading files from the Object Store is only available to [Institution](https://www.quantconnect.com/docs/v2/cloud-platform/organizations/tier-features.md#06-Institution-Tier) tier organizations that have signed QuantConnect's derived data agreement, and only for derived data. Without that permission, the endpoint returns `Organization does not have derivative export enabled`. See [Download Files](https://www.quantconnect.com/docs/v2/cloud-platform/object-store.md#04-Download-Files).

## Request

Get Object Store files of a specific organization and key. The `/object/get` API accepts requests in the following format:

| `GetObjectStoreJobIdRequest` Model - Request to create a download job for some Object Store files. |  |
| --- | --- |
| organizationId | `string required example: 5cad178b20a1d52567b534553413b691` Id of the organization that owns the Object Store. |
| keys | `string Array required example: ['key1', 'key2']` Keys of the Object Store files. |
| Example | `{ "organizationId": "5cad178b20a1d52567b534553413b691", "keys": [ "key1", "key2" ] }` |

| `GetObjectStoreURLRequest` Model - Request to get a download URL for some Object Store files. |  |
| --- | --- |
| organizationId | `string required example: 5cad178b20a1d52567b534553413b691` Id of the organization that owns the Object Store. |
| jobId | `string required example: 2585354eb2e23cbbc4ba714332884650` Id of the download job for the files. |
| Example | `{ "organizationId": "5cad178b20a1d52567b534553413b691", "jobId": "2585354eb2e23cbbc4ba714332884650" }` |

## Responses

The `/object/get` API provides a response in the following format:

### 200 Success

| `GetObjectStoreResponse` Model - Response received when fetching an Object Store file. |  |
| --- | --- |
| jobId | `string` Id of the job, which you can use to request a download URL. |
| url | `string` The URL to download the object. This can also be null. To download the object, paste the full URL (including the URL parameters) into a browser. |
| success | `boolean` Indicate if the API request was successful. |
| errors | `string Array` List of errors with the API call. |
| Example | `{ "jobId": "string", "url": "string", "success": true, "errors": [ "string" ] }` |

### 401 Authentication Error

| `UnauthorizedError` Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. |  |
| --- | --- |
| www_authenticate | `string` Header |

## Examples

The following example demonstates uploading, getting, deleting, and listing Object Store objects through the cloud API.

```
from base64 import b64encode
from hashlib import sha256
from time import time
from requests import get, post
BASE_URL = 'https://www.quantconnect.com/api/v2/'

# You need to replace these with your actual credentials.
# You can request your credentials at https://www.quantconnect.com/settings/
# You can find our organization ID at https://www.quantconnect.com/organization/
USER_ID = 0
API_TOKEN = '____'
ORGANIZATION_ID = '____'

def get_headers():
    # Get timestamp
    timestamp = f'{int(time())}'
    time_stamped_token = f'{API_TOKEN}:{timestamp}'.encode('utf-8')

    # Get hased API token
    hashed_token = sha256(time_stamped_token).hexdigest()
    authentication = f'{USER_ID}:{hashed_token}'.encode('utf-8')
    authentication = b64encode(authentication).decode('ascii')

    # Create headers dictionary.
    return {
        'Authorization': f'Basic {authentication}',
        'Timestamp': timestamp
    }

# Authenticate to verify credentials
response = post(f'{BASE_URL}/authenticate', headers = get_headers())
print(response.json())

# --------------------

# The key of the object wishes to manipulate
key = "..."

### Upload Object Store File
# Send a POST request to the /object/set endpoint to upload a file
response = post(f'{BASE_URL}/object/set', headers=get_headers(),
                data={"organizationId": ORGANIZATION_ID, "key": key},  # Organization ID and key for the object
                files={"objectData": b"Hello, world!"})  # File content as bytes
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the result
if result['success']:
    print("Object Store File Uploaded Successfully:")
    print(result)

### Get Object Store Metadata
# Prepare data payload to get object metadata
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "key": key  # Key of the object to get metadata for
}
# Send a POST request to the /object/properties endpoint to get metadata
response = post(f'{BASE_URL}/object/properties', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the metadata
if result['success']:
    print("Object Store Metadata:")
    print(result)

### Get Object Store File
# Prepare data payload to retrieve the object
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "keys": [key]  # List of keys to retrieve (single key in this case)
}
# Send a POST request to the /object/get endpoint to get the object
response = post(f'{BASE_URL}/object/get', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the file content
if result['success']:
    print("Object Store File Content:")
    print(result)

### Delete Object Store File
# Prepare data payload to delete the object
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "key": key  # Key of the object to delete
}
# Send a POST request to the /object/delete endpoint to delete the object
response = post(f'{BASE_URL}/object/delete', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the result
if result['success']:
    print("Object Store File Deleted Successfully:")
    print(result)

### List Object Store Files
# Define an empty path to list all objects (replace with specific path if needed)
path = ""
# Prepare data payload to list objects
payload = {
    "organizationId": ORGANIZATION_ID,  # ID of the organization
    "path": path  # Path to list objects from
}
# Send a POST request to the /object/list endpoint to list objects
response = post(f'{BASE_URL}/object/list', headers=get_headers(), json=payload)
# Parse the JSON response into python managable dict
result = response.json()
# Check if the request was successful and print the list
if result['success']:
    print("List of Object Store Files:")
    print(result)
```
