---
title: Retrieve Multiple Datasource Entries
description: Retrieve multiple datasource entries with filtering by datasource and dimension using Storyblok's Content Delivery API.
url: https://storyblok.com/docs/api/content-delivery/v2/datasources/retrieve-multiple-datasource-entries
---

# Retrieve Multiple Datasource Entries

Returns an array of [datasource entry objects](/docs/api/content-delivery/v2/datasources/the-datasource-entry-object) for the `datasource` and `dimension` defined.

GET

```html
https://api.storyblok.com/v2/cdn/datasource_entries/
```

> [!NOTE]
> This endpoint is paginated by default, including a maximum of 1000 datasource entries in the response. See [Pagination](/docs/api/content-delivery/v2/getting-started/paginatio).

## Query parameters

-   `token` (required) (string)
    
    A preview or public [access token](/docs/concepts/access-tokens)
    
-   `datasource` (string)
    
    Datasource `slug`
    
-   `dimension` (string)
    
    A datasource dimension
    
-   `page` (number)
    
    Default: `1` (See [Pagination](/docs/api/content-delivery/v2/getting-started/pagination))
    
-   `per_page` (number)
    
    Default: `25`, Max: `1000` (See [Pagination](/docs/api/content-delivery/v2/getting-started/pagination))
    
-   `cv` (number)
    
    Cached version Unix timestamp (see [Cache Invalidation](/docs/api/content-delivery/v2/getting-started/cache-invalidation))
    

## Response properties

-   `datasource_entries`
    
    An array of [datasource entry objects](/docs/api/content-delivery/v2/datasources/the-datasource-entry-object)
    
-   `cv` (number)
    
    Cached version Unix timestamp (see [Cache Invalidation](/docs/api/content-delivery/v2/getting-started/cache-invalidation))
    

## Examples

-   cURL
    
    ```shellscript
    curl "https://api.storyblok.com/v2/cdn/datasource_entries/\
    ?datasource=product-labels\
    &dimension=de\
    &token=ask9soUkv02QqbZgmZdeDAtt"
    ```
    
-   JS
    
    ```javascript
    // storyblok-js-client@>=7, node@>=18
    import Storyblok from "storyblok-js-client";
    
    const storyblok = new Storyblok({
      accessToken: "krcV6QGxWORpYLUWt12xKQtt",
    });
    
    try {
      const response = await storyblok.get('cdn/datasource_entries/', {
        "datasource": "product-labels",
        "dimension": "de"
      })
      console.log({ response })
    } catch (error) {
      console.log(error)
    }
    ```
    
-   PHP
    
    ```php
    $client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
    
    $client->getDatasourceEntries('product-labels', [
      "dimension" => "de"
    ])->getBody();
    ```
    
-   Java
    
    ```java
    HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/datasource_entries/?datasource=product-labels&dimension=de&token=ask9soUkv02QqbZgmZdeDAtt")
      .asString();
    ```
    
-   C#
    
    ```csharp
    var client = new RestClient("https://api.storyblok.com/v2/cdn/datasource_entries/?datasource=product-labels&dimension=de&token=ask9soUkv02QqbZgmZdeDAtt");
    var request = new RestRequest(Method.GET);
    
    IRestResponse response = client.Execute(request);
    ```
    
-   Python
    
    ```python
    import requests
    
    url = "https://api.storyblok.com/v2/cdn/datasource_entries/"
    
    querystring = {"datasource":"product-labels","dimension":"de","token":"ask9soUkv02QqbZgmZdeDAtt"}
    
    payload = ""
    headers = {}
    
    response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
    
    print(response.text)
    ```
    
-   Ruby
    
    ```ruby
    require 'storyblok'
    client = Storyblok::Client.new(token: 'YOUR_TOKEN')
    
    client.datasource_entries({:params => {
      "datasource" => "product-labels",
      "dimension" => "de"
    }})
    ```
    
-   Swift
    
    ```swift
    let storyblok = URLSession(storyblok: .cdn(accessToken: "ask9soUkv02QqbZgmZdeDAtt"))
    var request = URLRequest(storyblok: storyblok, path: "datasource_entries/")
    request.url!.append(queryItems: [
        URLQueryItem(name: "datasource", value: "product-labels"),
        URLQueryItem(name: "dimension", value: "de")
    ])
    let (data, _) = try await storyblok.data(for: request)
    print(try JSONSerialization.jsonObject(with: data))
    ```
    
-   Kotlin
    
    ```kotlin
    val client = HttpClient {
        install(Storyblok(CDN)) {
            accessToken = "ask9soUkv02QqbZgmZdeDAtt"
        }
    }
    
    val response = client.get("datasource_entries/") {
        url {
            parameters.append("datasource", "product-labels")
            parameters.append("dimension", "de")
        }
    }
    
    println(response.body<JsonElement>())
    ```

Response

```json
{
  "datasource_entries":[
    {
      "id":8118432,
      "name":"Product One",
      "value":"product-one",
      "dimension_value":"produkt-eins"
    },
    {
      "id":8118434,
      "name":"Product Two",
      "value":"product-two",
      "dimension_value":"produkt-zwei"
    }
  ],
  "cv": 1731064694
}
```

## Pagination

-   [Previous: Retrieve Multiple Datasources](/docs/api/content-delivery/v2/datasources/retrieve-multiple-datasources)
-   [Next: The Datasource Object](/docs/api/content-delivery/v2/datasources/the-datasource-object)
