GET

https://send.now/api/file/direct_link?key=1ltghrilhllgrx2b2&file_code=eb58d02u8znz
https://send.now/api/file/direct_link?key=1ltghrilhllgrx2b2&file_code=jfru5kl9dhrt&q=n
https://send.now/api/file/direct_link?key=1ltghrilhllgrx2b2&file_code=jfru5kl9dhrt&hls=1

Parameters Description Example Format Required
key API-Key 1ltghrilhllgrx2b2 String yes
file_code File code eb58d02u8znz String yes
q One quality of a video that was encoded into several qualities: l Low, n Normal, h HD, x UHD, or o the uploaded file (only for your own videos, and only when a browser can play it as it is). The answer is a link to a video stream, see the notice n String no
hls 1 = the HLS stream (master.m3u8) of all the qualities your account may play. Not together with q 1 Number no

cURL example


curl --include \
'https://send.now/api/file/direct_link?key=1ltghrilhllgrx2b2&file_code=eb58d02u8znz'
          

cURL example: one quality


curl --include \
'https://send.now/api/file/direct_link?key=1ltghrilhllgrx2b2&file_code=jfru5kl9dhrt&q=n'
          

cURL example: HLS stream


curl --include \
'https://send.now/api/file/direct_link?key=1ltghrilhllgrx2b2&file_code=jfru5kl9dhrt&hls=1'
          

Response


          {
            "result": {
              "url": "https://d134.sendcdn.com/d/sryy3jkz6cocj4l4pj5vtevayczwo6nfnauk23vrozxo2huk2p4nacnuqkfintnmzyvwm26e/file.zip",
              "size": 9840497
            },
            "msg": "OK",
            "server_time": "2024-08-26 12:57:11",
            "status": 200
          }
          

Response with q


{
  "msg": "OK",
  "result": {
    "url": "https://d134.sendcdn.com/v/00246/q7w9x2k4m6c8_n/video.mp4?t=slzfF5A4GI42UQHUu6j5S6mrfijC1yLUSIV8Qua0uM0&s=1724674798&e=1264&id=1234567&usr=7&d=1&sp=500&i=0.0",
    "size": 14208551,
    "quality": "n",
    "type": "mp4"
  },
  "status": 200,
  "server_time": "2024-08-26 12:19:28"
}
          

Response with hls


{
  "msg": "OK",
  "result": {
    "url": "https://d134.sendcdn.com/hls/00246/q7w9x2k4m6c8_,l,n,.urlset/master.m3u8?t=d7PcMNk_sQnykV9e3ogD_lyXq21PcDKpWJvzvY3iCZY&s=1724674798&e=1264&id=1234567&usr=7&d=1&sp=500&i=0.0&srv=",
    "hls_direct": "https://d134.sendcdn.com/hls/00246/q7w9x2k4m6c8_,l,n,.urlset/master.m3u8?t=d7PcMNk_sQnykV9e3ogD_lyXq21PcDKpWJvzvY3iCZY&s=1724674798&e=1264&id=1234567&usr=7&d=1&sp=500&i=0.0&srv=",
    "type": "hls",
    "qualities": ["l", "n"],
    "sizes": { "l": 6419320, "n": 14208551 }
  },
  "status": 200,
  "server_time": "2024-08-26 12:19:28"
}
          

Notice

Without q and hls the reply is the first one above: a download link of the file. It is the same for every file that has only one version and while the site does not make several qualities of videos.
q and hls are for a video that has been encoded into several qualities (File encodings lists them). For any other file they are ignored and you get the download link of the first reply, which has no type key. type is mp4 for q and hls for hls.
The link of q or hls is a link to a video stream: give it to a player or to a download tool. It is signed and works for a limited time (at least twice the length of the video plus 15 minutes), and it carries the download speed limit of your account (a site can set a lower limit for HLS streams). The bytes are taken from the direct link traffic of your account: for a video of another account your traffic has to hold at least the size of the quality you ask for (for hls the largest quality in the stream), else the reply is 402. The stream is counted from the log of the file server, not as a download of the file: no download is counted and no earnings are made. The link works from any address unless the site has switched on the IP check of its video streaming settings, so do not publish it.
hls: qualities are the qualities in the stream and sizes their sizes in bytes. hls_direct has the same address as url (a second name, for programs that look for it). A quality your account may not play is not in the stream. Only for sites that have HLS switched on.
q and hls follow the rules of the download page. For the file of another account: a file with a price is refused (402), a Premium only file when your account is not Premium (403), and so is a file of an account that uses the download page for its earnings (403). An end-to-end encrypted file has no stream link for anybody, its owner included (409). A password protected file is refused for other accounts as before. q=o, the uploaded file itself, is only for its owner: for the file of another account use the call without q.
A video whose owner has turned on Disable download (My Account) cannot be taken by other accounts: the reply is 403 with the text Download on file is disabled, for every form of this call. The owner and admins are never refused. The download queue of the desktop app follows the same rule: /appi/queue/link answers 403 with the error code download_disabled and /appi/queue/add counts such a video under skipped.unavailable.
Errors: 400 q is not one of l n h x o, or both q and hls are given; 402 The file has to be bought on the download page, or Not enough direct link traffic on your account for this quality; 403 HLS streaming is not enabled on this site, Your account can not play this quality, The file is for premium users, The owner uses the download page for this file, q=o of the file of another account, the Disable download text, or no direct link traffic on the account; 404 the video has no such quality (No such quality), no stream can be made (No HLS stream for this video, No link available for this quality) or the file is not found; 409 Encrypted files can only be opened in the browser.

Status code

200 Everything is OK. Request succeeded
400 Bad request (e.g. wrong parameters)
402 Payment required (the file has to be bought, or the direct link traffic does not hold the quality)
403 Permission denied
404 File not found
409 Conflict (an end-to-end encrypted file has no stream link)
451 Unavailable