SYNQ Video
synq · Media
* [Sign up for a developer API key!](https://www.synq.fm/register) * [SYNQ API Guide](/)
Authentication
Sample Requests
Create a new video, optionally setting some metadata fields. You may optionally set some of the metadata associated with the video. Only fields inside the "userdata" field can be set.
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/create"
import requests
response = requests.post(
"https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/create",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/create';
const response = await fetch(url, {
method: 'POST',
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/create"
req, _ := http.NewRequest("POST", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/create")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/create";
$opts = ["http" => [
"method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Return details about a video. You may optionally request that only some of the metadata fields are returned.
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/details"
import requests
response = requests.post(
"https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/details",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/details';
const response = await fetch(url, {
method: 'POST',
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/details"
req, _ := http.NewRequest("POST", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/details")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/details";
$opts = ["http" => [
"method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Find videos matching any criteria, by running a JavaScript function over each video object. A detailed tutorial on how to use this functionality is available on the [documentation page](https://www.synq.fm/queries-video-api/).
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/query"
import requests
response = requests.post(
"https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/query",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/query';
const response = await fetch(url, {
method: 'POST',
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/query"
req, _ := http.NewRequest("POST", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/query")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/synq.fm/1.9.1/video/query";
$opts = ["http" => [
"method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with SYNQ Video?
SYNQ Video is a Media API. Developers commonly use media APIs for:
- storing and delivering images, video, and audio
- building digital asset management and media libraries
- transcoding and optimising media for the web
- adding video streaming and playback to your app
- automating content tagging and metadata extraction
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. SYNQ Video is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide