curl --request GET \
--url https://catchbackcards.com/api/public/v1/cards/{id}import requests
url = "https://catchbackcards.com/api/public/v1/cards/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://catchbackcards.com/api/public/v1/cards/{id}', 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://catchbackcards.com/api/public/v1/cards/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://catchbackcards.com/api/public/v1/cards/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://catchbackcards.com/api/public/v1/cards/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://catchbackcards.com/api/public/v1/cards/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"card": {
"id": "0e94dc61-…",
"category": "pokemon",
"name": "Charizard ex",
"set": "Pokemon Sv3 En-Obsidian Flames",
"grading_company": "PSA",
"grading_rank": 10,
"slab_label": "2023 Obsidian Flames Charizard ex",
"language": "english",
"cert_number": "84512377",
"front_image": "https://…/0e94dc61-….png",
"back_image": "https://…/0e94dc61-…-back.png",
"render_image": "https://…/0e94dc61-…-render.png",
"image_url": "https://…/0e94dc61-…-render.png"
}
}{
"error": "Invalid card id"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Card not found"
}{
"error": "Too many requests",
"code": "RATE_LIMITED",
"retry_after_seconds": 37
}{
"error": "<string>",
"code": "<string>"
}Public card metadata
No key. No scope.
Any card’s metadata and image URLs, by id. It carries no price or value of any kind. Call it from a server: it sends no CORS header, so another site’s browser JavaScript can’t read the response.
Our CDN caches a 200 for up to 5 minutes and can serve it for up to a minute more while it refreshes, so a response can be up to about 7 minutes old. Errors are never cached. The limit is 60 requests a minute per IP address (an IPv4 address or an IPv6 /64), and a response from the CDN doesn’t count. Send only category as a query parameter: anything else misses the CDN and counts against your limit.
curl --request GET \
--url https://catchbackcards.com/api/public/v1/cards/{id}import requests
url = "https://catchbackcards.com/api/public/v1/cards/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://catchbackcards.com/api/public/v1/cards/{id}', 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://catchbackcards.com/api/public/v1/cards/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://catchbackcards.com/api/public/v1/cards/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://catchbackcards.com/api/public/v1/cards/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://catchbackcards.com/api/public/v1/cards/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"card": {
"id": "0e94dc61-…",
"category": "pokemon",
"name": "Charizard ex",
"set": "Pokemon Sv3 En-Obsidian Flames",
"grading_company": "PSA",
"grading_rank": 10,
"slab_label": "2023 Obsidian Flames Charizard ex",
"language": "english",
"cert_number": "84512377",
"front_image": "https://…/0e94dc61-….png",
"back_image": "https://…/0e94dc61-…-back.png",
"render_image": "https://…/0e94dc61-…-render.png",
"image_url": "https://…/0e94dc61-…-render.png"
}
}{
"error": "Invalid card id"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Card not found"
}{
"error": "Too many requests",
"code": "RATE_LIMITED",
"retry_after_seconds": 37
}{
"error": "<string>",
"code": "<string>"
}Path Parameters
A card id: item.id or card_id from any other endpoint.
^[A-Za-z0-9_-]{1,128}$Query Parameters
The card's catalog, if you know it. Without it, every catalog is searched.
A card's catalog. goods is luxury goods and singles is raw singles.
pokemon, onepiece, sports, riftbound, watches, goods, singles Response
The card.
Named fields of the card object. No price or value of any kind, and no goods attributes. A field a card's catalog doesn't have is left out. A field it has but we don't know is null.
Show child attributes
Show child attributes

