Gyazo API
Overview
The Gyazo API can be used in a wide array of apps to upload new images, show a Gyazo user's images, and more. It provides a RESTful API for HTTP requests and returns a response in JSON. This should be familiar to anyone who has used major APIs before such as ChatGPT API and Perplexity API.
Preparation
To use the API, you need an access token. Follow these steps to obtain your access token:
- Go to the dashboard
- Create a new application
- Generate an access token for your application(this will be your API key)
HTTP Requests
Upload an image
const formData = new FormData(); formData.append('imagedata', fileInput.files[0]); fetch('https://upload.gyazo.com/api/upload', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' }, body: formData }) .then(response => response.json()) .then(data => { console.log(data); // { // "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", // "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", // "thumb_url": "https://i.gyazo.com/thumb/180/afaiefnaf.png", // "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png", // "type": "png" // } });
import requests files = {'imagedata': open('/home/gyazo/greatpicture.png', 'rb')} headers = {'Authorization': 'Bearer YOUR_ACCESS_TOKEN'} response = requests.post('https://upload.gyazo.com/api/upload', files=files, headers=headers) print(response.json()) # { # "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", # "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", # "thumb_url": "https://i.gyazo.com/thumb/180/afaiefnaf.png", # "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png", # "type": "png" # }
$ curl -i https://upload.gyazo.com/api/upload \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -F "imagedata=@/home/gyazo/greatpicture.png" HTTP/1.1 200 OK { "image_id" : "8980c52421e452ac3355ca3e5cfe7a0c", "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", "thumb_url" : "https://i.gyazo.com/thumb/180/afaiefnaf.png", "url" : "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png", "type": "png" }
Search images by query
const params = new URLSearchParams({ query: 'cat', page: '1', per: '10' }); fetch(`https://api.gyazo.com/api/search?${params}`, { headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' } }) .then(response => response.json()) .then(data => { console.log(data); // { // "captures": [ // { // "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", // "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", // "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png" // } // ], // "number_of_captures": 1, // "query": "cat" // } });
import requests params = { 'query': 'cat', 'page': '1', 'per': '10' } headers = {'Authorization': 'Bearer YOUR_ACCESS_TOKEN'} response = requests.get('https://api.gyazo.com/api/search', params=params, headers=headers) print(response.json()) # { # "captures": [ # { # "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", # "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", # "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png" # } # ], # "number_of_captures": 1, # "query": "cat" # }
$ curl -i "https://api.gyazo.com/api/search?query=cat&page=1&per=10" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" HTTP/1.1 200 OK { "captures": [ { "image_id": "8980c52421e452ac3355ca3e5cfe7a0c", "permalink_url": "http://gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c", "url": "https://i.gyazo.com/8980c52421e452ac3355ca3e5cfe7a0c.png" } ], "number_of_captures": 1, "query": "cat" }
API Endpoint
API endpoint is below.
https://api.gyazo.com https://upload.gyazo.com (Upload API)
The endpoint has a different Upload API than the others.
Timestamp
Timestamp is in the following format:
YYYY-MM-DDTHH:MM:SSZ
Policy
If your app continuously uploads illegal or inappropriate images, or puts excessive strain on our servers we may be forced to block access.