TCG API Docs

TCG API Documentation

Request access to API

Over 40,000+ Card Database

Total cards

40,000+

+5% this week

API Status

Active

Image Title Condition Price
Mega Rayquaza EX NM CA $1.22
Charizard EX LP CA $3.99

ACCESS TRADING CARD GAME DATA

Our TCG API is a custom-built RESTful API designed to help developers, collectors, and players quickly and easily build trading card–related services and applications. It provides access to a wealth of information, including card details, images, sets, prices, and formats, making it an ideal choice for creating apps, marketplaces, and collection tools. The API also offers niche resources across games like Pokémon, Yu-Gi-Oh!, Magic: The Gathering, Digimon, Vanguard, and Arcana.

Card Identify

GET https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]
      
Parameter
Key - Required
A secret/unique number to gain access
File - file, optional, default is null
The number page you want to see.
https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]&page=3
image_url - optional, string, default is null
A string/query consisting of keywords that are used to search for names of species
https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]&q=monstera


<!-- Example JSON Response -->

   {
     "is_card": "card",
     "card_type": "pokemon",
     "card_side": "front",
     "card_state": "graded",
     "authenticator_type": "PSA",
     "identity": [
         {
            "card_identity": "1",
            "card_identity_confidence": 99.76
         },
         {
            "card_identity": "8175",
            "card_identity_confidence": 2.76
         },
         {
            "card_identity": "653",
            "card_identity_confidence": 1.33
         }
     ]
   }

       
Frontend
Backend
// Example React Component import React, { useState, useEffect } from 'react'; import axios from 'axios'; function App() { const [data, setData] = useState(null); useEffect(() => { async function fetchData() { try { const response = await axios.get(`https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]`); setData(response.data); } catch (error) { console.error("Error fetching data:", error); } } fetchData(); }, []); return ( <div> <h1>API Data</h1> <pre>{JSON.stringify(data, null, 2)}</pre> </div> ); } export default App;
// Example Next.js Component import { useState } from 'react'; import axios from 'axios'; export default function Home() { const [response, setResponse] = useState(null); const Request = async () => { try { const result = await axios.get(`https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]`, { someData: 'test' }); // Replace the data with your actual payload setResponse(result.data); } catch (error) { console.error("Error occured:", error); setResponse(error.message); } }; return ( <div> <button onClick={Request}>Upload Image</button> {response && <div>Response: {JSON.stringify(response)}</div>} </div> ); }
// Example Javascript Component var requestOptions = { method: '', redirect: 'follow' }; fetch(`https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]`, requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
// Example Python Component import requests url = "https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]" payload = {} headers = {} response = requests.request("", url, headers=headers, data=payload) print(response.text)
// Example PHP Component <?php $client = new GuzzleHttp\Client(); $url = "https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]"; $response = $client->request('', $url); echo $response->getBody(); ?>
// Example NodeJS Component const axios = require('axios'); const url = `https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]`; axios.get(url) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
// Example Ruby Component require "uri" require "net/http" url = URI("https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]") http = Net::HTTP.new(url.host, url.port); request = Net::HTTP::.new(url) response = http.request(request) puts response.read_body
// Example Java Component Unirest.setTimeouts(0, 0); HttpResponse response = Unirest.get("https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]") .asString();
// Example C# Component var client = new HttpClient(); var url = $"https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]"; var response = await client.Async(url); response.EnsureSuccessStatusCode(); Console.WriteLine(await response.Content.ReadAsStringAsync());
// Example Go Component package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]" client := &http.Client {} req, err := http.NewRequest("", url, nil) if err != nil { fmt.Println(err) return } res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
// Example cURL Component curl --location 'https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]'
// Example Swift Component let urlString = "https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]" guard let url = URL(string: urlString) else { return } var request = URLRequest(url: url, timeoutInterval: Double.infinity) request.httpMethod = "" let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) return } print(String(data: data, encoding: .utf8)!) } task.resume()
// Example Dart Component var request = http.Request('', Uri.parse('https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]')); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { print(await response.stream.bytesToString()); } else { print(response.reasonPhrase); }
// Example Kotlin Component val client = OkHttpClient() val request = Request.Builder() .url("https://gibltcg.com/api/predict-card?key=[YOUR-API-KEY]") .post(RequestBody.create(null, ByteArray(0))) .build() val response = client.newCall(request).execute()
Card List

GET https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]
      
Parameter
Key - Required
A secret/unique number to gain access
Card_id - optional, integer
ID of the card
https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]&id=3
Page - integer, optional, default is 1
The number page you want to see.
https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]&page=3
q - optional, string
A string/query consisting of keywords that are used to search for names of species
https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]&q=rayquaza
Order - optional, string
Alphabetical order by card name
Order Options - asc, desc
https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]&order=asc


<!-- Example JSON Response -->

{
    "data": [
        {
            "id": "1-hgss4-1",
            "type": "pokemon",
            "name": "Aggron",
            "image": "https://gibltcg.com/images/etc/aggron.jpg",
        },
        {
            "id": "2-xy5-1",
            "type": "pokemon",
            "name": "Weedle",
            "image": "https://gibltcg.com/images/etc/weedle.jpg",
        },
        {
            "id": "3-pl1-1",
            "type": "pokemon",
            "name": "Ampharos",
            "image": "https://gibltcg.com/images/etc/ampharos.jpg",
        },
        ...
    ],
    "to": 30,
    "per_page": 30,
    "current_page": 1,
    "from": 1,
    "last_page": 405,
    "total": 10104
}

       
Frontend
Backend
// Example React Component import React, { useState, useEffect } from 'react'; import axios from 'axios'; function App() { const [data, setData] = useState(null); useEffect(() => { async function fetchData() { try { const response = await axios.get(`https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]`); setData(response.data); } catch (error) { console.error("Error fetching data:", error); } } fetchData(); }, []); return ( <div> <h1>API Data</h1> <pre>{JSON.stringify(data, null, 2)}</pre> </div> ); } export default App;
// Example Next.js Component import { useState } from 'react'; import axios from 'axios'; export default function Home() { const [response, setResponse] = useState(null); const Request = async () => { try { const result = await axios.get(`https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]`, { someData: 'test' }); // Replace the data with your actual payload setResponse(result.data); } catch (error) { console.error("Error occured:", error); setResponse(error.message); } }; return ( <div> <button onClick={Request}>Upload Image</button> {response && <div>Response: {JSON.stringify(response)}</div>} </div> ); }
// Example Javascript Component var requestOptions = { method: '', redirect: 'follow' }; fetch(`https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]`, requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
// Example Python Component import requests url = "https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]" payload = {} headers = {} response = requests.request("", url, headers=headers, data=payload) print(response.text)
// Example PHP Component <?php $client = new GuzzleHttp\Client(); $url = "https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]"; $response = $client->request('', $url); echo $response->getBody(); ?>
// Example NodeJS Component const axios = require('axios'); const url = `https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]`; axios.get(url) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
// Example Ruby Component require "uri" require "net/http" url = URI("https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]") http = Net::HTTP.new(url.host, url.port); request = Net::HTTP::.new(url) response = http.request(request) puts response.read_body
// Example Java Component Unirest.setTimeouts(0, 0); HttpResponse response = Unirest.get("https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]") .asString();
// Example C# Component var client = new HttpClient(); var url = $"https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]"; var response = await client.Async(url); response.EnsureSuccessStatusCode(); Console.WriteLine(await response.Content.ReadAsStringAsync());
// Example Go Component package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]" client := &http.Client {} req, err := http.NewRequest("", url, nil) if err != nil { fmt.Println(err) return } res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
// Example cURL Component curl --location 'https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]'
// Example Swift Component let urlString = "https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]" guard let url = URL(string: urlString) else { return } var request = URLRequest(url: url, timeoutInterval: Double.infinity) request.httpMethod = "" let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) return } print(String(data: data, encoding: .utf8)!) } task.resume()
// Example Dart Component var request = http.Request('', Uri.parse('https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]')); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { print(await response.stream.bytesToString()); } else { print(response.reasonPhrase); }
// Example Kotlin Component val client = OkHttpClient() val request = Request.Builder() .url("https://gibltcg.com/api/v1/card-list?key=[YOUR-API-KEY]") .post(RequestBody.create(null, ByteArray(0))) .build() val response = client.newCall(request).execute()
Card Details

GET https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]
      
Parameter
Key - Required
A secret/unique number to gain access
Card_id - optional, integer
ID of the card
https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]&id=3


<!-- Example JSON Response -->

{  
   "id": "1-hgss4-1",
   "type": "pokemon",
   "name": "Aggron",
   "image": "https://gibltcg.com/images/etc/aggron.jpg",
   "avgActivePriceCurrency": "usd",
   "avgActivePrice": 51.44,
   "avgSoldPrice": 49.99,
   "soldLast30Days": 109,
   "ListedLast30Days": 350,
}

       
Frontend
Backend
// Example React Component import React, { useState, useEffect } from 'react'; import axios from 'axios'; function App() { const [data, setData] = useState(null); useEffect(() => { async function fetchData() { try { const response = await axios.get(`https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`); setData(response.data); } catch (error) { console.error("Error fetching data:", error); } } fetchData(); }, []); return ( <div> <h1>API Data</h1> <pre>{JSON.stringify(data, null, 2)}</pre> </div> ); } export default App;
// Example Next.js Component import { useState } from 'react'; import axios from 'axios'; export default function Home() { const [response, setResponse] = useState(null); const Request = async () => { try { const result = await axios.get(`https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`, { someData: 'test' }); // Replace the data with your actual payload setResponse(result.data); } catch (error) { console.error("Error occured:", error); setResponse(error.message); } }; return ( <div> <button onClick={Request}>Upload Image</button> {response && <div>Response: {JSON.stringify(response)}</div>} </div> ); }
// Example Javascript Component var requestOptions = { method: '', redirect: 'follow' }; fetch(`https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`, requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
// Example Python Component import requests url = "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]" payload = {} headers = {} response = requests.request("", url, headers=headers, data=payload) print(response.text)
// Example PHP Component <?php $client = new GuzzleHttp\Client(); $url = "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]"; $response = $client->request('', $url); echo $response->getBody(); ?>
// Example NodeJS Component const axios = require('axios'); const url = `https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`; axios.get(url) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
// Example Ruby Component require "uri" require "net/http" url = URI("https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]") http = Net::HTTP.new(url.host, url.port); request = Net::HTTP::.new(url) response = http.request(request) puts response.read_body
// Example Java Component Unirest.setTimeouts(0, 0); HttpResponse response = Unirest.get("https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]") .asString();
// Example C# Component var client = new HttpClient(); var url = $"https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]"; var response = await client.Async(url); response.EnsureSuccessStatusCode(); Console.WriteLine(await response.Content.ReadAsStringAsync());
// Example Go Component package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]" client := &http.Client {} req, err := http.NewRequest("", url, nil) if err != nil { fmt.Println(err) return } res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
// Example cURL Component curl --location 'https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]'
// Example Swift Component let urlString = "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]" guard let url = URL(string: urlString) else { return } var request = URLRequest(url: url, timeoutInterval: Double.infinity) request.httpMethod = "" let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) return } print(String(data: data, encoding: .utf8)!) } task.resume()
// Example Dart Component var request = http.Request('', Uri.parse('https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]')); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { print(await response.stream.bytesToString()); } else { print(response.reasonPhrase); }
// Example Kotlin Component val client = OkHttpClient() val request = Request.Builder() .url("https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]") .post(RequestBody.create(null, ByteArray(0))) .build() val response = client.newCall(request).execute()
Card Price Details

GET https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]
      
Parameter
Key - Required
A secret/unique number to gain access
Card_id - optional, integer
ID of the card
https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]&id=3
Order - optional, string
Order by datetime
Order Options - asc, desc
https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]&order=asc


<!-- Example JSON Response -->

{  
   "id": "1-hgss4-1",
   "type": "pokemon",
   "name": "Aggron",
   "image": "https://gibltcg.com/images/etc/aggron.jpg",
   "history": [
      "sold": [
         {
            "date": "8-22-2025",
            "avgSoldPrice": 49.99
            "avgSoldPriceCurrency": "usd",
            "sold_listings"[
               {
                  "platform": "Ebay",
                  "currency": "usd",
                  "price": 47.57,
                  "shipping": 1.99,
                  "totalPrice": 49.56,
                  "soldDate": "8-22-2025"
               },
               ...
            ]
         },
         {
            "date": "8-21-2025",
            "avgSoldPrice": 48.99
            "avgSoldPriceCurrency": "usd",
            "sold_listings"[
               {
                  "platform": "Ebay",
                  "currency": "usd",
                  "price": 46.57,
                  "shipping": 1.99,
                  "totalPrice": 49.56,
                  "soldDate": "8-21-2025"
               },
               ...
            ]
         },
         {
            "date": "8-20-2025",
            "avgSoldPrice": 47.99
            "avgSoldPriceCurrency": "usd",
            "sold_listings"[
               {
                  "platform": "Ebay",
                  "currency": "usd",
                  "price": 46.57,
                  "shipping": 0.99,
                  "totalPrice": 49.56,
                  "soldDate": "8-20-2025"
               },
               ...
            ]
         },
      ]
   ]
}

       
Frontend
Backend
// Example React Component import React, { useState, useEffect } from 'react'; import axios from 'axios'; function App() { const [data, setData] = useState(null); useEffect(() => { async function fetchData() { try { const response = await axios.get(`https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`); setData(response.data); } catch (error) { console.error("Error fetching data:", error); } } fetchData(); }, []); return ( <div> <h1>API Data</h1> <pre>{JSON.stringify(data, null, 2)}</pre> </div> ); } export default App;
// Example Next.js Component import { useState } from 'react'; import axios from 'axios'; export default function Home() { const [response, setResponse] = useState(null); const Request = async () => { try { const result = await axios.get(`https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`, { someData: 'test' }); // Replace the data with your actual payload setResponse(result.data); } catch (error) { console.error("Error occured:", error); setResponse(error.message); } }; return ( <div> <button onClick={Request}>Upload Image</button> {response && <div>Response: {JSON.stringify(response)}</div>} </div> ); }
// Example Javascript Component var requestOptions = { method: '', redirect: 'follow' }; fetch(`https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`, requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
// Example Python Component import requests url = "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]" payload = {} headers = {} response = requests.request("", url, headers=headers, data=payload) print(response.text)
// Example PHP Component <?php $client = new GuzzleHttp\Client(); $url = "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]"; $response = $client->request('', $url); echo $response->getBody(); ?>
// Example NodeJS Component const axios = require('axios'); const url = `https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]`; axios.get(url) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
// Example Ruby Component require "uri" require "net/http" url = URI("https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]") http = Net::HTTP.new(url.host, url.port); request = Net::HTTP::.new(url) response = http.request(request) puts response.read_body
// Example Java Component Unirest.setTimeouts(0, 0); HttpResponse response = Unirest.get("https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]") .asString();
// Example C# Component var client = new HttpClient(); var url = $"https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]"; var response = await client.Async(url); response.EnsureSuccessStatusCode(); Console.WriteLine(await response.Content.ReadAsStringAsync());
// Example Go Component package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]" client := &http.Client {} req, err := http.NewRequest("", url, nil) if err != nil { fmt.Println(err) return } res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
// Example cURL Component curl --location 'https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]'
// Example Swift Component let urlString = "https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]" guard let url = URL(string: urlString) else { return } var request = URLRequest(url: url, timeoutInterval: Double.infinity) request.httpMethod = "" let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data else { print(String(describing: error)) return } print(String(data: data, encoding: .utf8)!) } task.resume()
// Example Dart Component var request = http.Request('', Uri.parse('https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]')); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { print(await response.stream.bytesToString()); } else { print(response.reasonPhrase); }
// Example Kotlin Component val client = OkHttpClient() val request = Request.Builder() .url("https://gibltcg.com/api/v1/card-list-details?key=[YOUR-API-KEY]") .post(RequestBody.create(null, ByteArray(0))) .build() val response = client.newCall(request).execute()
User Requested Access For Your Pokemon API