Breaking Bad / Better Call Saul API
breakingbadapi.com · Developer Tools
Breaking Bad and Better Call Saul quotes, characters, episodes, and deaths. Great for beginner API practice. Free, no API key.
Authentication
No authentication requiredFree to use with no key needed.
Sample Requests
GET
Random quote
Get a random Breaking Bad quote.
https://breakingbadapi.com/api/quote/random
Hover any highlighted part to learn what it does
curl -X GET "https://breakingbadapi.com/api/quote/random"
import requests
response = requests.get(
"https://breakingbadapi.com/api/quote/random",
)
print(response.json())const url = 'https://breakingbadapi.com/api/quote/random'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://breakingbadapi.com/api/quote/random"
req, _ := http.NewRequest("GET", 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://breakingbadapi.com/api/quote/random")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://breakingbadapi.com/api/quote/random";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET
Get characters
Get Breaking Bad character data.
https://breakingbadapi.com/api/characters?limit=3
Hover any highlighted part to learn what it does
curl -X GET "https://breakingbadapi.com/api/characters?limit=3"
import requests
response = requests.get(
"https://breakingbadapi.com/api/characters?limit=3",
)
print(response.json())const url = 'https://breakingbadapi.com/api/characters?limit=3'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://breakingbadapi.com/api/characters?limit=3"
req, _ := http.NewRequest("GET", 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://breakingbadapi.com/api/characters?limit=3")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://breakingbadapi.com/api/characters?limit=3";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- No API key needed
- Random quote: GET https://breakingbadapi.com/api/quote/random
- All quotes: GET /api/quotes
- Characters: GET /api/characters
- Episodes: GET /api/episodes