curl --request GET \
--url https://api.tastelabs.com/design/submissions/{id}/download \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tastelabs.com/design/submissions/{id}/download"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.tastelabs.com/design/submissions/{id}/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tastelabs.com/design/submissions/{id}/download",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tastelabs.com/design/submissions/{id}/download"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tastelabs.com/design/submissions/{id}/download")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tastelabs.com/design/submissions/{id}/download")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"submission_id": "sub_2f9a1c7b",
"extraction_id": "ext_8d3e5a10",
"files": [
{
"path": "guidelines.json",
"content": "{\n \"profile\": { ... }\n}"
},
{
"path": "crawl/html.html",
"url": "https://storage.example.com/..."
},
{
"path": "crawl/screenshot.jpeg",
"url": "https://storage.example.com/..."
}
]
}{
"detail": {
"error": "NOT_FOUND",
"message": "Submission not found"
}
}{
"detail": {
"error": "NOT_READY",
"message": "Submission is extracting"
}
}"Internal Server Error"Download submission bundle
Returns a manifest of every file that makes up a completed extraction, so you can save the whole thing to disk: guidelines.json (the design system, inline in content), the captured HTML, CSS, and screenshot, and the logos, media, and icons referenced by the design system.
Each entry names a relative path and carries either inline content or a url to download. Assets are mirrored to the engine’s own storage first, so the URLs stay valid even when the origin site changes.
Authentication is optional, on the same terms as the result endpoint. The submission must be completed: an in-progress one returns 409 NOT_READY.
curl --request GET \
--url https://api.tastelabs.com/design/submissions/{id}/download \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tastelabs.com/design/submissions/{id}/download"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.tastelabs.com/design/submissions/{id}/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tastelabs.com/design/submissions/{id}/download",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tastelabs.com/design/submissions/{id}/download"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tastelabs.com/design/submissions/{id}/download")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tastelabs.com/design/submissions/{id}/download")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"submission_id": "sub_2f9a1c7b",
"extraction_id": "ext_8d3e5a10",
"files": [
{
"path": "guidelines.json",
"content": "{\n \"profile\": { ... }\n}"
},
{
"path": "crawl/html.html",
"url": "https://storage.example.com/..."
},
{
"path": "crawl/screenshot.jpeg",
"url": "https://storage.example.com/..."
}
]
}{
"detail": {
"error": "NOT_FOUND",
"message": "Submission not found"
}
}{
"detail": {
"error": "NOT_READY",
"message": "Submission is extracting"
}
}"Internal Server Error"Authorizations
API key issued by the Taste Engine. Create one in the dashboard at https://engine.tastelabs.com/app/api-keys.
Path Parameters
The submission_id returned when the submission was created.
Was this page helpful?

