{
  "name": "Discover, enrich & store cryptocurrency data with CoinMarketCap API",
  "nodes": [
    {
      "id": "62d8175b-35ff-4e10-93e5-2f4fee00e849",
      "name": "CLEAN CMC FIELDS",
      "type": "n8n-nodes-base.set",
      "position": [
        -3216,
        624
      ]
    },
    {
      "id": "b5e06bc7-db44-4f30-8b14-f51b306801b7",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -3440,
        624
      ]
    },
    {
      "id": "9c90c9af-4061-4a29-a777-3ae6c89f4da4",
      "name": "CMC SPLIT IN BATCHES",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -2896,
        528
      ]
    },
    {
      "id": "3ed61c72-4572-4845-89b3-e5088133f60c",
      "name": "Generate Random Page",
      "type": "n8n-nodes-base.code",
      "position": [
        -4032,
        624
      ]
    },
    {
      "id": "18d08eab-3677-4445-93ea-7a0433589fbf",
      "name": "No Operation, do nothing3",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -2016,
        -176
      ]
    },
    {
      "id": "25c60872-742c-4000-96ca-d9880d794fec",
      "name": "ADD TO CMC",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -2240,
        -32
      ]
    },
    {
      "id": "90a677fe-d31a-49cc-8c41-d9849dcd622c",
      "name": "Every 3 Days At 10AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -4288,
        624
      ]
    },
    {
      "id": "96e80827-04de-464e-a52b-8fc6d7feda04",
      "name": "Get Token Details From CMC",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2672,
        528
      ]
    },
    {
      "id": "eb6a0693-9da1-4ce0-acc0-27a7b1c93867",
      "name": "EXTRACT WEBSITE",
      "type": "n8n-nodes-base.set",
      "position": [
        -2480,
        528
      ]
    },
    {
      "id": "4410ab68-b4c0-47b3-aea0-d3cec54b4fcf",
      "name": "CLEAN WEBSITE",
      "type": "n8n-nodes-base.set",
      "position": [
        -2208,
        528
      ]
    },
    {
      "id": "1d9349bc-8233-4001-ab11-151c1ec0d245",
      "name": "Wait 1 Min",
      "type": "n8n-nodes-base.wait",
      "position": [
        -2016,
        528
      ]
    },
    {
      "id": "36e60c14-8a41-44fa-b420-8ff63bfd1c53",
      "name": "Clean up Output",
      "type": "n8n-nodes-base.set",
      "position": [
        -1616,
        624
      ]
    },
    {
      "id": "eb176e3a-4f81-4b4d-b1f4-163ff9057784",
      "name": "CMC Token DATA",
      "type": "n8n-nodes-base.code",
      "position": [
        -2464,
        -32
      ]
    },
    {
      "id": "4aece9fe-5c21-4a28-bf80-072ded5742d1",
      "name": "ADD TO CMC Sheet",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        -2016,
        16
      ]
    },
    {
      "id": "ae37241a-aef1-4e30-9b12-0c0b2ff3466e",
      "name": "Get 100 Tokens From CMC",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -3680,
        624
      ]
    },
    {
      "id": "2388606f-0fac-4933-918f-94d1c0111292",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4672,
        -336
      ],
      "parameters": {
        "width": 544,
        "height": 1120,
        "content": "##  📊 COINMARKET CAP TOKEN DISCOVERY \n## (FREE API)\n\n\n## How it works\n\nThis workflow periodically fetches cryptocurrency listings from CoinMarketCap using the free API.\n\nIt selects random listing page"
      }
    },
    {
      "id": "106c5368-bae6-48f0-be2e-ce4996449a26",
      "name": "DATA",
      "type": "n8n-nodes-base.code",
      "position": [
        -2688,
        -32
      ]
    },
    {
      "id": "9d1562c8-4696-438a-81d3-22cc49c3ff31",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4112,
        416
      ],
      "parameters": {
        "width": 272,
        "height": 368,
        "content": "## STEP 1:   Fetch Tokens\nSelects random pages from CoinMarketCap and retrieves token listings using the API.\n\n\n\n"
      }
    },
    {
      "id": "bdf40825-19a3-48eb-a4d2-6be64c33f50c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3792,
        416
      ],
      "parameters": {
        "width": 288,
        "height": 368,
        "content": "## STEP 2:  Normalize Data\nBreaks API responses into individual tokens and keeps only relevant fields.\n\n\n\n"
      }
    },
    {
      "id": "12c3299c-c7f1-46db-b6c5-78f68d629884",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3456,
        416
      ],
      "parameters": {
        "width": 400,
        "height": 368,
        "content": "## STEP 3:  Enrich Tokens\nFetches additional details such as websites and social links for each token.\n\n\n\n"
      }
    },
    {
      "id": "133f6b29-d151-4951-b65a-d0dfd7cb23fe",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2720,
        288
      ],
      "parameters": {
        "width": 368,
        "height": 496,
        "content": "## STEP 4:  Clean Websites\nNormalizes website URLs, forces HTTPS, and removes invalid or empty values.\n\n\n\n\n"
      }
    },
    {
      "id": "8f068c15-2b33-4db4-b871-c7a95df20e65",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2272,
        288
      ],
      "parameters": {
        "width": 448,
        "height": 496,
        "content": "## STEP 5: Store Results\nSaves cleaned token data into a database or sheet. Replace with your preferred storage.\n\n\n\n\n"
      }
    },
    {
      "id": "8f39c8cc-378b-40f7-b55d-9588983adef6",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        288
      ],
      "parameters": {
        "width": 352,
        "height": 496,
        "content": "## STEP 6: Prepare Clean Output\nThis step formats each token into a clean structure with name, symbol, website, source, and timestamp.  \nInvalid or incomplete entries are skipped.\n\n\n\n"
      }
    },
    {
      "id": "e10ab5a7-44ff-44d3-acc2-dd8864569d3d",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2720,
        -352
      ],
      "parameters": {
        "width": 896,
        "height": 560,
        "content": "## STEP 7: Save Token Data\nThis step stores the cleaned token data.\n\nIn this workflow, NocoDB is used, but you can replace it with any storage option such as Google Sheets, Airtable, a database, or a "
      }
    }
  ],
  "connections": {
    "DATA": {
      "main": [
        [
          {
            "node": "CMC Token DATA",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "CLEAN CMC FIELDS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ADD TO CMC": {
      "main": [
        [
          {
            "node": "No Operation, do nothing3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "ADD TO CMC Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 1 Min": {
      "main": [
        [
          {
            "node": "Clean up Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CLEAN WEBSITE": {
      "main": [
        [
          {
            "node": "Wait 1 Min",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CMC Token DATA": {
      "main": [
        [
          {
            "node": "ADD TO CMC",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean up Output": {
      "main": [
        [
          {
            "node": "CMC SPLIT IN BATCHES",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EXTRACT WEBSITE": {
      "main": [
        [
          {
            "node": "CLEAN WEBSITE",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ADD TO CMC Sheet": {
      "main": [
        [
          {
            "node": "ADD TO CMC",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CLEAN CMC FIELDS": {
      "main": [
        [
          {
            "node": "CMC SPLIT IN BATCHES",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CMC SPLIT IN BATCHES": {
      "main": [
        [
          {
            "node": "DATA",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Token Details From CMC",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every 3 Days At 10AM": {
      "main": [
        [
          {
            "node": "Generate Random Page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Random Page": {
      "main": [
        [
          {
            "node": "Get 100 Tokens From CMC",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get 100 Tokens From CMC": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation, do nothing3": {
      "main": [
        []
      ]
    },
    "Get Token Details From CMC": {
      "main": [
        [
          {
            "node": "EXTRACT WEBSITE",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}