---
title: "Create dataset"
method: POST
path: "/v2/datasets"
tags: ["Storage/Datasets"]
---

# Create dataset

`POST /v2/datasets`

Creates a dataset and returns its object.
Keep in mind that data stored under unnamed dataset follows [data retention period](https://docs.apify.com/platform/storage#data-retention).
It creates a dataset with the given name if the parameter name is used.
If a dataset with the given name already exists then returns its object.

## Query parameters

- `name` string

## Response `200`

Returns the existing dataset object if a dataset with the given name already exists.

- DatasetResponse — Response containing dataset metadata.
  - `data` Dataset, required
    - `id` string, required
    - `name` string, nullable
    - `userId` string, required
    - `createdAt` string, date-time, required
    - `modifiedAt` string, date-time, required
    - `accessedAt` string, date-time, required
    - `itemCount` integer, required
    - `cleanItemCount` integer, required
    - `actId` string, nullable
    - `actRunId` string, nullable
    - `fields` string[], nullable
    - `schema` object, nullable — Defines the schema of items in your dataset, the full specification can be found in [Apify docs](/storage/dataset-schema)
    - `consoleUrl` string, uri, required
    - `itemsPublicUrl` string, uri — A public link to access the dataset items directly.
    - `urlSigningSecretKey` string, nullable — A secret key for generating signed public URLs. It is only provided to clients with WRITE permission for the dataset.
    - `generalAccess` 'ANYONE_WITH_ID_CAN_READ' | 'ANYONE_WITH_NAME_CAN_READ' | 'FOLLOW_USER_SETTING' | 'RESTRICTED' — Defines the general access level for the resource.
    - `stats` DatasetStats
      - `readCount` integer
      - `writeCount` integer
      - `storageBytes` integer — Total storage size in bytes. Only returned by the single-dataset endpoint.
      - `inflatedBytes` integer — Uncompressed size in bytes. Only returned by the dataset list endpoint.

## Other responses

- `201`
- `400` — Bad request - invalid input parameters or request body.
- `401` — Unauthorized - authentication required or invalid token.
- `403` — Forbidden - insufficient permissions to perform this action.
- `405` — Method not allowed.
- `429` — Too many requests - rate limit exceeded.

---

[API](https://skmtc.net/apify/apis/apify-api.md) · [All operations](https://skmtc.net/apify/apis/apify-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/apify/apify-api/versions/01a71794279b/schema)
