The first 60 posts of an Imgur gallery list: most viral or newest (sorted by virality or time), or top posts of a day, week, month, year or all time. Each post has its id, link, title, thumbnail, points, views, type and tags. Pass page to go past the first 60 posts.
Every response includes credits_used: the credits this call cost.
Parameters
name
type
description
section
hot | new | top
hot (most viral, default), new (user submitted) or top. Example: hot
sort
viral | time
For hot and new: viral (default) or time. Example: viral
window
day | week | month | year | all
For top: day (default), week, month, year or all. Example: week
page
integer
Page of the gallery list (1-based). Given, the list comes page by page past the first 60 posts (each page holds up to about 200 posts) and every post also has its date, up and down votes, comment and favourite counts, image count and author; next_page is the next page.
import os, requests
res = requests.get(
"https://api.api.sh/imgur/v1/gallery",
params={"section": "hot"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json()
const url = new URL("https://api.api.sh/imgur/v1/gallery");
url.searchParams.set("section", "hot");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).
The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.