---
title: "Create up to 1000 links in one call"
method: POST
path: "/links/bulk"
tags: ["Link Management"]
---

# Create up to 1000 links in one call

`POST /links/bulk`

Please use this method if you need to create big packs of links. It
accepts up to 1000 links in one API call.

It works almost the same as single link creation endpoint, but accepts
an array of URLs and returns an array of responses.

Returns list of Link objects. If any URL is failed to insert, it returns
error object instead as array element. Method is not transactional – it
can insert some links from the list and return an error for others.

**Rate limit**: 5 queries in 10 seconds

## Request body

- object
  - `domain` string, hostname, required
  - `allowDuplicates` boolean
  - `links` object[], required
    - `allowDuplicates` boolean
    - `originalURL` string, required — Original URL
    - `cloaking` boolean — Cloaking
    - `password` string — Link password
    - `redirectType` 301 | 302 | 307 | 308, nullable — HTTP code for redirect
    - `expiresAt` union — Link expiration date in milliseconds or ISO string
      - integer, nullable
      - string, iso-date-time, nullable
    - `expiredURL` string, nullable — Expired URL
    - `title` string — Link title
    - `tags` string[] — Array of link tags
    - `utmSource` string — set utm_source parameter to destination link
    - `utmMedium` string — set utm_medium parameter to destination link
    - `utmCampaign` string — set utm_campaign parameter to destination link
    - `utmTerm` string — set utm_term parameter to destination link
    - `utmContent` string — set utm_content parameter to destination link
    - `ttl` union — Time to live in milliseconds or ISO string
      - string, iso-date-time, nullable
      - integer, nullable
    - `path` string, nullable — Link slug
    - `androidURL` string, nullable — Android URL
    - `iphoneURL` string, nullable — iPhone URL
    - `createdAt` union — Link creation date in milliseconds
      - integer, nullable
      - string, iso-date-time, nullable
    - `clicksLimit` integer, nullable — disable link after specified number of clicks
    - `passwordContact` boolean, nullable — Provide your email to users to get a password
    - `skipQS` boolean — Skip query string merging
    - `archived` boolean — Link is archived
    - `splitURL` string, nullable — Split URL
    - `splitPercent` integer, nullable — Split URL percentage
    - `integrationAdroll` string, nullable — Adroll integration
    - `integrationFB` string, nullable — Facebook integration
    - `integrationGA` string, nullable — Google Analytics integration
    - `integrationGTM` string, nullable — Google Tag Manager integration
  - `folderId` string — Folder ID

## Response `200`

Default Response

---

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