How to use the RandomDog API in Go
Random pictures of dogs. A free animals API by random.dog. This guide calls it from Go with code we've run against the live endpoint.
Online · 1405 msEndpoint tested Oct 24, 2026
1. What you need
Go 1.18 or newer. Save as `main.go` and run `go run main.go`.
No API key or sign-up. Endpoint: https://random.dog/woof.json
2. Make the request
package main
import (
"encoding/json"
"fmt"
"net/http"
"time"
)
func main() {
client := &http.Client{Timeout: 10 * time.Second}
res, err := client.Get("https://random.dog/woof.json")
if err != nil {
panic(err)
}
defer res.Body.Close()
var data any
json.NewDecoder(res.Body).Decode(&data)
fmt.Println(data)
}3. The response
Trimmed from the live response on Oct 24, 2026.
{
"fileSizeBytes": 2159717,
"url": "https://random.dog/8590d98b-5839-4ec7-9065-e3aa0c2d0763.mp4"
}4. Before you ship
- Set a timeout and handle non-200 responses: free APIs can rate-limit or go down.
- Cache responses where you can, instead of calling the API on every page view.
- Read the official documentation ↗ for rate limits and terms of use.
FAQ
Does the RandomDog API need an API key in Go?
No. The RandomDog API works without an API key, so the Go example runs as-is.
Can I call the RandomDog API from the browser?
Yes. It sends CORS headers, so front-end JavaScript can call it directly.
What does the RandomDog API return?
JSON. The example response on this page is trimmed from a real response our health check received on Oct 24, 2026.
Same API in: Python · JavaScript · Node.js · PHP · Java · Ruby · C#
RandomDog API: ratings & reviews · RandomDog API alternatives · more free APIs for Go