{
  "info": {
    "_postman_id": "5d0b6f0e-6a53-4c39-9a3e-2f6b1c8e7a41",
    "name": "Karatology Metal Price API",
    "description": "Live gold, silver, platinum and palladium prices in USD from Karatology, plus gold value by karat, hallmark fineness prices, melt value and cross-metal ratios.\n\n## Setup\n\n1. Create a free account at https://karatology.com/signup, then create a key at https://karatology.com/dashboard/keys.\n2. Open this collection's Variables tab and paste your key into `apiKey` (a secret variable). `baseUrl` is already set.\n3. Send any request. Each request has tests that check the status, `success` and, on price endpoints, `timestamp`.\n\n## Authentication\n\nThe collection sends your key in the `X-API-Key` header. The API also accepts `Authorization: Bearer <key>` or an `api_key` query parameter. `/metals`, `/` and `/openapi.json` need no key.\n\n## Freshness\n\nEvery call fetches live prices at request time; Karatology does not cache prices. New prices are collected hourly, and every price response says when its price was collected (`timestamp`, `age_seconds`). `stale` is true when the price is more than 2 hours old.\n\n## Metering\n\nOnly successful (200) responses from price endpoints count toward your monthly quota. Errors, `/usage`, `/metals`, `/`, `/openapi.json` and preflight requests do not. Quotas reset at 00:00 UTC on the 1st of each month.\n\nMelt and karat values are spot price times pure metal content, with no markup, labor or refining fees. They are estimates for information, not appraisals or offers.\n\nFull documentation: https://karatology.com/docs",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "version": "1.0.0"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "X-API-Key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{apiKey}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.karatology.com/v1",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "",
      "type": "secret"
    }
  ],
  "item": [
    {
      "name": "Prices",
      "description": "Live spot prices, latest prices for all four metals, and cross-metal ratios. Each successful call counts as 1 call.",
      "item": [
        {
          "name": "Latest prices for all four metals",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"timestamp is present\", function () {",
                  "    pm.expect(body.timestamp).to.be.a(\"string\").and.not.empty;",
                  "});",
                  "",
                  "pm.test(\"gold price is a number\", function () {",
                  "    pm.expect(body.metals.gold.price).to.be.a(\"number\");",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/latest?unit=toz",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "latest"
              ],
              "query": [
                {
                  "key": "unit",
                  "value": "toz",
                  "description": "Unit the prices are expressed in. Per-gram and per-pennyweight prices have 4 decimals; other units have 2. Allowed: toz, g, kg, dwt, tola."
                },
                {
                  "key": "metals",
                  "value": "gold,silver",
                  "description": "Optional. Limit the response to these metals, for example gold,silver. All four are returned when omitted. Allowed: Comma list of gold, silver, platinum, palladium (or symbols).",
                  "disabled": true
                },
                {
                  "key": "currency",
                  "value": "USD",
                  "description": "Optional. Only USD is available. Any other value returns 400 unsupported_currency. Allowed: USD.",
                  "disabled": true
                }
              ]
            },
            "description": "Gold, silver, platinum and palladium in one call, with the change since the previous day's close. Counts as 1 call.\n\nCounts as 1 call when it succeeds (200). Requires an API key.\n\nDocs: https://karatology.com/docs#latest"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/latest?unit=toz"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"timestamp\": \"2026-11-10T01:04:07.389Z\",\n  \"age_seconds\": 2040,\n  \"stale\": false,\n  \"currency\": \"USD\",\n  \"unit\": \"toz\",\n  \"metals\": {\n    \"gold\": {\n      \"metal\": \"gold\",\n      \"symbol\": \"XAU\",\n      \"price\": 4130.4,\n      \"change\": 59.81,\n      \"change_percent\": 1.47,\n      \"previous_close\": 4070.59\n    },\n    \"silver\": {\n      \"metal\": \"silver\",\n      \"symbol\": \"XAG\",\n      \"price\": 51.62,\n      \"change\": 0.84,\n      \"change_percent\": 1.65,\n      \"previous_close\": 50.78\n    },\n    \"platinum\": {\n      \"metal\": \"platinum\",\n      \"symbol\": \"XPT\",\n      \"price\": 1588.2,\n      \"change\": -6.1,\n      \"change_percent\": -0.38,\n      \"previous_close\": 1594.3\n    },\n    \"palladium\": {\n      \"metal\": \"palladium\",\n      \"symbol\": \"XPD\",\n      \"price\": 1421.75,\n      \"change\": 12.4,\n      \"change_percent\": 0.88,\n      \"previous_close\": 1409.35\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Spot price for one metal in every unit",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"timestamp is present\", function () {",
                  "    pm.expect(body.timestamp).to.be.a(\"string\").and.not.empty;",
                  "});",
                  "",
                  "pm.test(\"price is a number\", function () {",
                  "    pm.expect(body.price).to.be.a(\"number\");",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/spot?metal=gold&unit=toz",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "spot"
              ],
              "query": [
                {
                  "key": "metal",
                  "value": "gold",
                  "description": "Required. The metal to price. Names and symbols are both accepted. Allowed: gold, silver, platinum, palladium (or XAU, XAG, XPT, XPD)."
                },
                {
                  "key": "unit",
                  "value": "toz",
                  "description": "Unit for price, change and previous_close. Per-gram and per-pennyweight prices have 4 decimals; other units have 2. Allowed: toz, g, kg, dwt, tola."
                },
                {
                  "key": "currency",
                  "value": "USD",
                  "description": "Optional. Only USD is available. Any other value returns 400 unsupported_currency. Allowed: USD.",
                  "disabled": true
                }
              ]
            },
            "description": "One metal's price in the requested unit, plus the same price in every supported unit. Counts as 1 call.\n\nCounts as 1 call when it succeeds (200). Requires an API key.\n\nDocs: https://karatology.com/docs#spot"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/spot?metal=gold&unit=toz"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"timestamp\": \"2026-11-10T01:04:07.389Z\",\n  \"age_seconds\": 2040,\n  \"stale\": false,\n  \"currency\": \"USD\",\n  \"unit\": \"toz\",\n  \"metal\": \"gold\",\n  \"symbol\": \"XAU\",\n  \"price\": 4130.4,\n  \"change\": 59.81,\n  \"change_percent\": 1.47,\n  \"previous_close\": 4070.59,\n  \"prices\": {\n    \"toz\": 4130.4,\n    \"g\": 132.7953,\n    \"kg\": 132795.34,\n    \"dwt\": 206.5193,\n    \"tola\": 1548.9\n  }\n}"
            }
          ]
        },
        {
          "name": "Cross-metal price ratios",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"timestamp is present\", function () {",
                  "    pm.expect(body.timestamp).to.be.a(\"string\").and.not.empty;",
                  "});",
                  "",
                  "pm.test(\"ratios are present\", function () {",
                  "    pm.expect(body.ratios).to.be.an(\"object\");",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/ratios",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "ratios"
              ],
              "query": [
                {
                  "key": "currency",
                  "value": "USD",
                  "description": "Optional. Only USD is available. Any other value returns 400 unsupported_currency. Allowed: USD.",
                  "disabled": true
                }
              ]
            },
            "description": "Gold to silver, gold to platinum, gold to palladium, platinum to silver and platinum to palladium, from current prices per troy ounce. Counts as 1 call.\n\nCounts as 1 call when it succeeds (200). Requires an API key.\n\nDocs: https://karatology.com/docs#ratios"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/ratios"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"timestamp\": \"2026-11-10T01:04:07.389Z\",\n  \"age_seconds\": 2040,\n  \"stale\": false,\n  \"currency\": \"USD\",\n  \"unit\": \"toz\",\n  \"ratios\": {\n    \"gold_silver\": 80.02,\n    \"gold_platinum\": 2.6,\n    \"gold_palladium\": 2.91,\n    \"platinum_silver\": 30.77,\n    \"platinum_palladium\": 1.12\n  },\n  \"prices\": {\n    \"gold\": 4130.4,\n    \"silver\": 51.62,\n    \"platinum\": 1588.2,\n    \"palladium\": 1421.75\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Gold and fineness",
      "description": "Gold value by karat and prices by hallmark fineness. Each successful call counts as 1 call.",
      "item": [
        {
          "name": "Gold value by karat",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"timestamp is present\", function () {",
                  "    pm.expect(body.timestamp).to.be.a(\"string\").and.not.empty;",
                  "});",
                  "",
                  "pm.test(\"karats is a non-empty list\", function () {",
                  "    pm.expect(body.karats).to.be.an(\"array\").that.is.not.empty;",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/karat?unit=g",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "karat"
              ],
              "query": [
                {
                  "key": "unit",
                  "value": "g",
                  "description": "Unit the karat prices are expressed in. Per-gram and per-pennyweight prices have 4 decimals; other units have 2. Allowed: toz, g, kg, dwt, tola."
                },
                {
                  "key": "currency",
                  "value": "USD",
                  "description": "Optional. Only USD is available. Any other value returns 400 unsupported_currency. Allowed: USD.",
                  "disabled": true
                }
              ]
            },
            "description": "Gold value for 24K, 23K, 22K, 21K, 20K, 18K, 16K, 14K, 12K, 10K, 9K, 8K: spot times purity, with no markup or labor. Purity is karat / 24 rounded to 4 decimals, and 24K is 0.999. Counts as 1 call.\n\nCounts as 1 call when it succeeds (200). Requires an API key.\n\nDocs: https://karatology.com/docs#karat"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/karat?unit=g"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"timestamp\": \"2026-11-10T01:04:07.389Z\",\n  \"age_seconds\": 2040,\n  \"stale\": false,\n  \"currency\": \"USD\",\n  \"unit\": \"g\",\n  \"metal\": \"gold\",\n  \"spot_price_toz\": 4130.4,\n  \"karats\": [\n    {\n      \"karat\": \"24K\",\n      \"purity\": 0.999,\n      \"fineness\": 999,\n      \"price\": 132.6625\n    },\n    {\n      \"karat\": \"23K\",\n      \"purity\": 0.9583,\n      \"fineness\": 958.3,\n      \"price\": 127.2578\n    },\n    {\n      \"karat\": \"22K\",\n      \"purity\": 0.9167,\n      \"fineness\": 916.7,\n      \"price\": 121.7335\n    },\n    {\n      \"karat\": \"21K\",\n      \"purity\": 0.875,\n      \"fineness\": 875,\n      \"price\": 116.1959\n    },\n    {\n      \"karat\": \"20K\",\n      \"purity\": 0.8333,\n      \"fineness\": 833.3,\n      \"price\": 110.6584\n    },\n    {\n      \"karat\": \"18K\",\n      \"purity\": 0.75,\n      \"fineness\": 750,\n      \"price\": 99.5965\n    },\n    {\n      \"karat\": \"16K\",\n      \"purity\": 0.6667,\n      \"fineness\": 666.7,\n      \"price\": 88.5347\n    },\n    {\n      \"karat\": \"14K\",\n      \"purity\": 0.5833,\n      \"fineness\": 583.3,\n      \"price\": 77.4595\n    },\n    {\n      \"karat\": \"12K\",\n      \"purity\": 0.5,\n      \"fineness\": 500,\n      \"price\": 66.3977\n    },\n    {\n      \"karat\": \"10K\",\n      \"purity\": 0.4167,\n      \"fineness\": 416.7,\n      \"price\": 55.3358\n    },\n    {\n      \"karat\": \"9K\",\n      \"purity\": 0.375,\n      \"fineness\": 375,\n      \"price\": 49.7983\n    },\n    {\n      \"karat\": \"8K\",\n      \"purity\": 0.3333,\n      \"fineness\": 333.3,\n      \"price\": 44.2607\n    }\n  ]\n}"
            }
          ]
        },
        {
          "name": "Prices by hallmark fineness",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"timestamp is present\", function () {",
                  "    pm.expect(body.timestamp).to.be.a(\"string\").and.not.empty;",
                  "});",
                  "",
                  "pm.test(\"grades is a non-empty list\", function () {",
                  "    pm.expect(body.grades).to.be.an(\"array\").that.is.not.empty;",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/fineness?metal=silver&unit=g",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "fineness"
              ],
              "query": [
                {
                  "key": "metal",
                  "value": "silver",
                  "description": "Required. The metal to price. Names and symbols are both accepted. Allowed: gold, silver, platinum, palladium (or XAU, XAG, XPT, XPD)."
                },
                {
                  "key": "unit",
                  "value": "g",
                  "description": "Unit the grade prices are expressed in. Per-gram and per-pennyweight prices have 4 decimals; other units have 2. Allowed: toz, g, kg, dwt, tola."
                },
                {
                  "key": "currency",
                  "value": "USD",
                  "description": "Optional. Only USD is available. Any other value returns 400 unsupported_currency. Allowed: USD.",
                  "disabled": true
                }
              ]
            },
            "description": "Prices for the hallmark fineness grades of one metal, such as 925 sterling silver, 950 platinum or 750 gold. Counts as 1 call.\n\nCounts as 1 call when it succeeds (200). Requires an API key.\n\nDocs: https://karatology.com/docs#fineness"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/fineness?metal=silver&unit=g"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"timestamp\": \"2026-11-10T01:04:07.389Z\",\n  \"age_seconds\": 2040,\n  \"stale\": false,\n  \"currency\": \"USD\",\n  \"unit\": \"g\",\n  \"metal\": \"silver\",\n  \"symbol\": \"XAG\",\n  \"spot_price_toz\": 51.62,\n  \"grades\": [\n    {\n      \"fineness\": 999,\n      \"name\": \"Fine silver\",\n      \"purity\": 0.999,\n      \"price\": 1.658\n    },\n    {\n      \"fineness\": 958,\n      \"name\": \"Britannia silver\",\n      \"purity\": 0.958,\n      \"price\": 1.5899\n    },\n    {\n      \"fineness\": 950,\n      \"name\": \"French first standard\",\n      \"purity\": 0.95,\n      \"price\": 1.5766\n    },\n    {\n      \"fineness\": 925,\n      \"name\": \"Sterling silver\",\n      \"purity\": 0.925,\n      \"price\": 1.5351\n    },\n    {\n      \"fineness\": 900,\n      \"name\": \"Coin silver\",\n      \"purity\": 0.9,\n      \"price\": 1.4937\n    },\n    {\n      \"fineness\": 835,\n      \"name\": \"Continental silver\",\n      \"purity\": 0.835,\n      \"price\": 1.3858\n    },\n    {\n      \"fineness\": 800,\n      \"name\": \"German and Italian silver\",\n      \"purity\": 0.8,\n      \"price\": 1.3277\n    }\n  ]\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Valuation",
      "description": "Melt value of a piece: pure metal content times spot, with no markup, labor or refining fees. Counts as 1 call.",
      "item": [
        {
          "name": "Melt value of a piece",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"timestamp is present\", function () {",
                  "    pm.expect(body.timestamp).to.be.a(\"string\").and.not.empty;",
                  "});",
                  "",
                  "pm.test(\"melt_value is a number\", function () {",
                  "    pm.expect(body.melt_value).to.be.a(\"number\");",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/melt?metal=gold&weight=5&unit=g&karat=14&payout=85",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "melt"
              ],
              "query": [
                {
                  "key": "metal",
                  "value": "gold",
                  "description": "The metal the piece is made of. Names and symbols are both accepted. Allowed: gold, silver, platinum, palladium (or XAU, XAG, XPT, XPD)."
                },
                {
                  "key": "weight",
                  "value": "5",
                  "description": "Required. Weight of the piece, in unit. Allowed: Number greater than 0, up to 1,000,000."
                },
                {
                  "key": "unit",
                  "value": "g",
                  "description": "Unit of weight. The response unit field echoes it. Allowed: toz, g, kg, dwt, tola."
                },
                {
                  "key": "karat",
                  "value": "14",
                  "description": "Gold karat. Purity is karat / 24 (24K is 0.999). Send only one of karat, fineness or purity. Allowed: Number from 1 to 24 (gold only)."
                },
                {
                  "key": "payout",
                  "value": "85",
                  "description": "Percent of melt value a buyer pays. Adds payout_percent and payout_value to the response. Allowed: Number from 1 to 100."
                },
                {
                  "key": "fineness",
                  "value": "585",
                  "description": "Optional. Parts per thousand, as stamped (585, 750, 925, 950). Works for every metal. Allowed: Number from 1 to 1000.",
                  "disabled": true
                },
                {
                  "key": "purity",
                  "value": "0.585",
                  "description": "Optional. Fraction of pure metal. Used as 0.999 when no karat, fineness or purity is sent. Allowed: Number greater than 0, up to 1.",
                  "disabled": true
                },
                {
                  "key": "currency",
                  "value": "USD",
                  "description": "Optional. Only USD is available. Any other value returns 400 unsupported_currency. Allowed: USD.",
                  "disabled": true
                }
              ]
            },
            "description": "Melt value of a piece: its pure metal content times the spot price, with no markup, labor or refining fees. Send one of karat, fineness or purity; 0.999 is used when none is given. Counts as 1 call.\n\nCounts as 1 call when it succeeds (200). Requires an API key.\n\nDocs: https://karatology.com/docs#melt"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/melt?metal=gold&weight=5&unit=g&karat=14&payout=85"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"timestamp\": \"2026-11-10T01:04:07.389Z\",\n  \"age_seconds\": 2040,\n  \"stale\": false,\n  \"currency\": \"USD\",\n  \"unit\": \"g\",\n  \"metal\": \"gold\",\n  \"weight\": 5,\n  \"purity\": 0.5833,\n  \"spot_price_toz\": 4130.4,\n  \"pure_weight_g\": 2.9165,\n  \"pure_weight_toz\": 0.093768,\n  \"melt_value\": 387.3,\n  \"payout_percent\": 85,\n  \"payout_value\": 329.2\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Account",
      "description": "Your plan and this month's usage. Requires a key. Not counted.",
      "item": [
        {
          "name": "Your plan and this month's usage",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"usage.remaining is a number\", function () {",
                  "    pm.expect(body.usage.remaining).to.be.a(\"number\");",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/usage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "usage"
              ]
            },
            "description": "The plan on your account and the calls used this month. Requires a key. Not counted toward your quota, but rate limited.\n\nNot counted toward the monthly quota. Requires an API key.\n\nDocs: https://karatology.com/docs#usage"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/usage"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"plan\": {\n    \"id\": \"starter\",\n    \"name\": \"Starter\",\n    \"calls_per_month\": 500,\n    \"per_minute\": 10\n  },\n  \"period\": {\n    \"month\": \"2026-11\",\n    \"resets_at\": \"2026-12-01T00:00:00.000Z\"\n  },\n  \"usage\": {\n    \"used\": 120,\n    \"remaining\": 380,\n    \"limit\": 500,\n    \"hard_limit\": 550\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Reference",
      "description": "Reference data and the API description. No key needed. Not counted.",
      "item": [
        {
          "name": "Reference data",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"metals is a non-empty list\", function () {",
                  "    pm.expect(body.metals).to.be.an(\"array\").that.is.not.empty;",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/metals",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "metals"
              ]
            },
            "description": "Metals, symbols, units, karats and fineness grades. No key needed. Not counted.\n\nNot counted toward the monthly quota. No API key needed.\n\nDocs: https://karatology.com/docs#metals",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1/metals"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-store"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"metals\": [\n    {\n      \"metal\": \"gold\",\n      \"symbol\": \"XAU\",\n      \"fineness_grades\": [\n        {\n          \"fineness\": 999.9,\n          \"name\": \"Four nines fine gold\"\n        },\n        {\n          \"fineness\": 999,\n          \"name\": \"Fine gold (24K)\"\n        },\n        {\n          \"fineness\": 995,\n          \"name\": \"Good delivery bar minimum\"\n        },\n        {\n          \"fineness\": 916,\n          \"name\": \"22K\"\n        },\n        {\n          \"fineness\": 875,\n          \"name\": \"21K\"\n        },\n        {\n          \"fineness\": 750,\n          \"name\": \"18K\"\n        },\n        {\n          \"fineness\": 585,\n          \"name\": \"14K\"\n        },\n        {\n          \"fineness\": 417,\n          \"name\": \"10K\"\n        },\n        {\n          \"fineness\": 375,\n          \"name\": \"9K\"\n        },\n        {\n          \"fineness\": 333,\n          \"name\": \"8K\"\n        }\n      ]\n    },\n    {\n      \"metal\": \"silver\",\n      \"symbol\": \"XAG\",\n      \"fineness_grades\": [\n        {\n          \"fineness\": 999,\n          \"name\": \"Fine silver\"\n        },\n        {\n          \"fineness\": 958,\n          \"name\": \"Britannia silver\"\n        },\n        {\n          \"fineness\": 950,\n          \"name\": \"French first standard\"\n        },\n        {\n          \"fineness\": 925,\n          \"name\": \"Sterling silver\"\n        },\n        {\n          \"fineness\": 900,\n          \"name\": \"Coin silver\"\n        },\n        {\n          \"fineness\": 835,\n          \"name\": \"Continental silver\"\n        },\n        {\n          \"fineness\": 800,\n          \"name\": \"German and Italian silver\"\n        }\n      ]\n    },\n    {\n      \"metal\": \"platinum\",\n      \"symbol\": \"XPT\",\n      \"fineness_grades\": [\n        {\n          \"fineness\": 999,\n          \"name\": \"Fine platinum\"\n        },\n        {\n          \"fineness\": 950,\n          \"name\": \"Platinum 950 (jewelry standard)\"\n        },\n        {\n          \"fineness\": 900,\n          \"name\": \"Platinum 900\"\n        },\n        {\n          \"fineness\": 850,\n          \"name\": \"Platinum 850\"\n        }\n      ]\n    },\n    {\n      \"metal\": \"palladium\",\n      \"symbol\": \"XPD\",\n      \"fineness_grades\": [\n        {\n          \"fineness\": 999,\n          \"name\": \"Fine palladium\"\n        },\n        {\n          \"fineness\": 950,\n          \"name\": \"Palladium 950 (jewelry standard)\"\n        },\n        {\n          \"fineness\": 500,\n          \"name\": \"Palladium 500\"\n        }\n      ]\n    }\n  ],\n  \"units\": [\n    {\n      \"unit\": \"toz\",\n      \"name\": \"Troy ounce\",\n      \"grams\": 31.1035\n    },\n    {\n      \"unit\": \"g\",\n      \"name\": \"Gram\",\n      \"grams\": 1\n    },\n    {\n      \"unit\": \"kg\",\n      \"name\": \"Kilogram\",\n      \"grams\": 1000\n    },\n    {\n      \"unit\": \"dwt\",\n      \"name\": \"Pennyweight\",\n      \"grams\": 1.55517\n    },\n    {\n      \"unit\": \"tola\",\n      \"name\": \"Tola\",\n      \"grams\": 11.6638\n    }\n  ],\n  \"karats\": [\n    {\n      \"karat\": \"24K\",\n      \"purity\": 0.999\n    },\n    {\n      \"karat\": \"23K\",\n      \"purity\": 0.9583\n    },\n    {\n      \"karat\": \"22K\",\n      \"purity\": 0.9167\n    },\n    {\n      \"karat\": \"21K\",\n      \"purity\": 0.875\n    },\n    {\n      \"karat\": \"20K\",\n      \"purity\": 0.8333\n    },\n    {\n      \"karat\": \"18K\",\n      \"purity\": 0.75\n    },\n    {\n      \"karat\": \"16K\",\n      \"purity\": 0.6667\n    },\n    {\n      \"karat\": \"14K\",\n      \"purity\": 0.5833\n    },\n    {\n      \"karat\": \"12K\",\n      \"purity\": 0.5\n    },\n    {\n      \"karat\": \"10K\",\n      \"purity\": 0.4167\n    },\n    {\n      \"karat\": \"9K\",\n      \"purity\": 0.375\n    },\n    {\n      \"karat\": \"8K\",\n      \"purity\": 0.3333\n    }\n  ],\n  \"currency\": \"USD\"\n}"
            }
          ]
        },
        {
          "name": "This OpenAPI description",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "pm.test(\"Is an OpenAPI 3.1 document\", function () {",
                  "    pm.expect(pm.response.json().openapi).to.match(/^3\\.1\\./);",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/openapi.json",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "openapi.json"
              ]
            },
            "description": "The OpenAPI 3.1 description of this API. No API key needed. Not counted.\n\nDocs: https://karatology.com/docs#openapi"
          },
          "response": []
        },
        {
          "name": "API index",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test(\"Status is 200\", function () {",
                  "    pm.response.to.have.status(200);",
                  "});",
                  "",
                  "let body = {};",
                  "pm.test(\"Response is JSON\", function () {",
                  "    body = pm.response.json();",
                  "});",
                  "",
                  "pm.test(\"success is true\", function () {",
                  "    pm.expect(body.success).to.eql(true);",
                  "});",
                  "",
                  "pm.test(\"endpoints are listed\", function () {",
                  "    pm.expect(body.endpoints).to.be.an(\"array\").that.is.not.empty;",
                  "});"
                ]
              }
            }
          ],
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}",
              "host": [
                "{{baseUrl}}"
              ]
            },
            "description": "Index with links to the documentation and every endpoint. No API key needed. Not counted.\n\nDocs: https://karatology.com/docs#base-url"
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": "https://api.karatology.com/v1"
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "cookie": [],
              "body": "{\n  \"success\": true,\n  \"name\": \"Karatology Metal Price API\",\n  \"version\": \"1.0.0\",\n  \"docs\": \"https://karatology.com/docs\",\n  \"openapi\": \"https://api.karatology.com/v1/openapi.json\",\n  \"signup\": \"https://karatology.com/signup\",\n  \"endpoints\": [\n    \"/v1/latest\",\n    \"/v1/spot\",\n    \"/v1/karat\",\n    \"/v1/fineness\",\n    \"/v1/melt\",\n    \"/v1/ratios\",\n    \"/v1/usage\",\n    \"/v1/metals\"\n  ]\n}"
            }
          ]
        }
      ]
    }
  ]
}
