Discover, enrich & store cryptocurrency data with CoinMarketCap API
CoinMarketCap Token Discovery (Free API)
Automatically discover cryptocurrency tokens from CoinMarketCap, clean the data, enrich it with official websites, and store the results in your preferred database or sheet.
This workflow is designed to be safe for free API usage, easy to understand, and ready for extension.
What This Workflow Does
This workflow runs on a schedule and:
- Randomly selects pages from CoinMarketCap listings
- Fetches token data using the free CoinMarketCap API
- Cleans and normalizes token fields
- Enriches each token with official website data
- Processes tokens in safe batches with delays
- Outputs clean, structured token records
- Optionally saves results to a database or sheet
Who This Is For
This workflow is useful if you are:
- Doing crypto research or market discovery
- Building token datasets
- Running crypto outreach or lead generation
- Learning how to work with APIs in n8n
- Looking for a clean, real-world n8n example
No advanced n8n knowledge is required.
Setup Instructions (Required)
Follow these steps before running the workflow:
1. Get a CoinMarketCap API Key
- Create a free account on CoinMarketCap
- Generate an API key from your dashboard
2. Add Your API Key
- Open the HTTP Request nodes
- Add your API key to the request headers:
X-CMC_PRO_API_KEY = YOUR_API_KEY
3. Connect Storage
Replace the storage node with your preferred option:
- Google Sheets
- Airtable
- PostgreSQL
- Webhook
Add your own credentials before running the workflow.
4. Activate the Workflow
- Enable the workflow
- Let it run automatically based on the schedule
How the Workflow Is Structured
- Trigger: Runs every few days to avoid API limits
- Random Page Generator: Prevents bias toward only top tokens
- Batch Processing: Controls memory and request volume
- Delay Logic: Keeps the workflow stable and API-friendly
- Cleaning Steps: Removes messy or invalid data
- Final Output: Clean, simple token records ready for use
Output Example
Each valid token produces a clean record like:
- Token name
- Symbol (ticker)
- Official website
- Source (CoinMarketCap)
- Timestamp
Invalid or incomplete entries are automatically skipped.
Customization Ideas
You can easily extend this workflow to:
- Add social media scraping
- Track new tokens over time
- Trigger alerts for specific tokens
- Combine with other crypto APIs
- Feed data into outreach or analytics pipelines
Important Notes
-
This workflow uses CoinMarketCap’s free API tier
-
Do not remove batch limits or delays unless you upgrade your API plan
-
Replace sample storage with your own before production use
License
This workflow is provided for educational and practical use.
You are free to modify and adapt it for your own projects.
Author
Built and shared by Itunu Ola
n8n automation builder focused on practical, production-ready workflows.
n8n Workflow: Fetch & Process Cryptocurrency Data
This n8n workflow demonstrates a basic structure for fetching data, processing it, and potentially storing it. While the provided JSON is a template, it outlines a common pattern for interacting with external APIs and preparing data for further use.
What it does
This workflow is a template that illustrates the following steps:
- Triggers on a Schedule: The workflow is initiated at predefined intervals by the
Schedule Triggernode. - Makes an API Request: It uses an
HTTP Requestnode to call an external API. This is where you would configure your API endpoint (e.g., CoinMarketCap API), headers, and parameters to fetch cryptocurrency data. - Processes Data (Placeholder): A
No Operation, do nothingnode acts as a placeholder, indicating where custom logic or data manipulation would typically occur after the API response is received. - Edits Fields: The
Edit Fields (Set)node allows for adding, modifying, or removing fields from the incoming data, preparing it for subsequent steps. - Splits Data for Iteration: The
Split Outnode is used to break down an array of items into individual items, enabling subsequent nodes to process each item independently. - Loops Over Items: The
Loop Over Items (Split in Batches)node processes items in batches, which is useful for handling large datasets efficiently and preventing rate limit issues with downstream services. - Introduces a Delay: A
Waitnode adds a pause between processing batches, which is crucial for respecting API rate limits or managing the load on target systems. - Executes Custom Code: A
Codenode provides the flexibility to write custom JavaScript logic for advanced data transformation, filtering, or conditional processing. - Stores Data (Placeholder): A
NocoDBnode is included as a placeholder, suggesting that the processed data would ultimately be stored in a NocoDB database. This node would need to be configured with specific table and operation details.
Prerequisites/Requirements
- n8n Instance: A running instance of n8n.
- API Endpoint: An external API endpoint (e.g., CoinMarketCap API) from which to fetch data. You will need to configure the
HTTP Requestnode with the correct URL, method, and any required authentication (API keys, tokens). - NocoDB Account/Instance: If you intend to use the NocoDB node for data storage, you will need access to a NocoDB instance and a configured credential within n8n.
Setup/Usage
- Import the Workflow:
- Download the provided JSON file.
- In your n8n instance, click on "Workflows" in the left sidebar.
- Click "New" and then "Import from JSON".
- Paste the JSON content or upload the file.
- Configure the
HTTP RequestNode (ID: 19):- Edit this node to specify the API endpoint you want to call (e.g., CoinMarketCap's latest listings endpoint).
- Add any necessary headers (like
X-CMC_PRO_API_KEYfor CoinMarketCap) and query parameters. - Select the appropriate HTTP method (GET, POST, etc.).
- Configure the
Edit Fields (Set)Node (ID: 38):- Adjust this node to transform the data from the API response into the desired format. You might want to rename fields, extract specific values, or create new ones.
- Configure the
Split OutNode (ID: 1239):- If your API response returns an array of items (e.g., a list of cryptocurrencies), configure this node to split that array into individual items for processing.
- Configure the
Loop Over Items (Split in Batches)Node (ID: 39):- Set the batch size and interval as needed to manage API rate limits or processing load.
- Configure the
CodeNode (ID: 834):- Implement any custom JavaScript logic here to further process or filter the data.
- Configure the
NocoDBNode (ID: 510):- Provide your NocoDB credentials.
- Specify the base, table, and operation (e.g., "Create," "Update") you want to perform.
- Map the incoming data fields to your NocoDB table columns.
- Activate the Workflow: Once configured, activate the workflow by toggling the "Active" switch in the top right corner of the workflow editor. The
Schedule Triggerwill then run the workflow at its defined intervals.
Related Templates
Automatic Gmail unsubscribe detection with AI and Google Sheets contact management
Automatically detect unsubscribe replies in your outreach emails and clean your Google Sheets contact list; keeping your domain reputation and deliverability strong. --- 🎯 Who it’s for This template is designed for freelancers, lead generation specialists, and outreach managers; particularly those running email outreach campaigns for clients or personal lead-gen projects. If you send cold emails, manage multiple lead lists, or handle outreach at scale, this workflow helps you automatically manage unsubscribe requests to maintain healthy email deliverability and protect your domain reputation. --- ⚙️ How it works Trigger: The workflow starts when a new reply is received in your Gmail inbox. Intent Detection: The email text is analyzed using OpenAI to detect unsubscribe intent (“unsubscribe”, “remove me”, “opt out”, etc.). Normalization & Filtering: A Code node verifies the AI output for accuracy and ensures the result is standardized as either "unsubscribe" or "keep". Check & Update Sheets: If the contact requested removal, the workflow checks your Unsubscribe Sheet to see if they’re already listed. If not, the contact is added to the Unsubscribe Sheet and simultaneously removed from your Main Outreach Sheet. Optional Gmail Label: Adds an “Unsubscribe” tag in Gmail for quick visual tracking (optional customization). --- 🧩 Requirements To run this workflow, you’ll need: Gmail Credentials → for reading incoming replies and applying labels. Google Sheets Credentials → to manage both the “Main” and “Unsubscribe” spreadsheets. OpenAI API Key → used for detecting unsubscribe intent from message text. All credentials can be added through the n8n Credentials Manager. --- 🧠 How to Customize Polling Time: Adjust how often the Gmail Trigger checks for new replies (default: every 5 minutes). Sheets: Replace the linked Google Sheets IDs with your own. You can change sheet names and columns freely. Intent Rules: Modify the Code node to include additional unsubscribe phrases or alternate keywords. Optional Gmail Tagging: Enable or disable tagging for unsubscribed messages. Secondary Validation: Enable the second “If” check after the OpenAI node to double-confirm unsubscribe intent before moving contacts. --- 💡 Why this workflow matters By automatically managing unsubscribe requests, you: Respect recipients’ opt-out preferences Reduce spam complaints Protect your domain reputation and increase deliverability Save hours of manual list cleaning This is a must-have automation for anyone running cold email outreach, especially freelancers managing multiple client inboxes. --- 🪄 Quick Setup Tips Replace all "Gmail account" and "Google Service Account account" credential references with your actual credentials. Ensure your sheet has an EMAIL column for lookup. Test with a few mock replies before activating for production. Optional: Add a time-based trigger to run the sheet cleanup periodically.
Send validated outreach emails with Gmail & Google Sheets anti-spam controls
📧 Automated Initial Outreach Emails with Safety Controls This n8n workflow sends personalized outreach emails automatically while enforcing strict safety rules such as email validation, spam checks, daily limits, and human-like delays. It is designed to help beginners send emails safely, consistently, and at scale without damaging sender reputation. --- What This Workflow Does On a daily schedule, this workflow: Pulls contacts from Google Sheets Cleans and validates email addresses Blocks spam, invalid, or risky emails Checks if an email was already sent Enforces daily sending limits (weekdays only) Adds random human-like delays Generates personalized subject lines and openings Sends emails via Gmail Updates Google Sheets with send status --- Who This Is For This workflow is useful if you: Send cold or semi-cold outreach emails Apply to jobs at scale with personalization Run sales, hiring, or networking campaigns Want safety controls to avoid spam flags Are learning n8n with a real-world workflow No advanced n8n knowledge is required. --- Required Services You will need: Google Sheets (contact source + status tracking) Gmail (sending emails) Google Drive (for attachments like CVs) n8n (self-hosted or cloud) --- Sheet Structure (Recommended) Contacts Sheet Required columns: EMAIL Name EMAIL VERIFIED EMAIL SMTP VERIFIED EMAIL SUGGESTION EMAIL TYPE SENT SENT DATE Email Status Columns Updated automatically by the workflow: SENT DATE SENT EMAIL TYPE --- Setup Instructions Connect Google Sheets Update the Google Sheets nodes to point to your own spreadsheet Ensure column names match the workflow Sample Data for Sheets | EMAIL | Name | EMAIL VERIFIED | EMAIL SMTP VERIFIED | EMAIL SUGGESTION | EMAIL TYPE | SENT | DATE SENT | |--------------------------|-------------|----------------|---------------------|-------------------------|------------|------|-----------| | alex@company.com | Alex Morgan | REACHABLE | VALID | SAFE TO SEND | INITIAL | YES | 2025-01-12 | | info@startup.io | — | CATCH-ALL | UNKNOWN | SEND WITH CAUTION | INITIAL | NO | — | | sarah.lane@business.org | Sarah Lane | REACHABLE | VALID | SAFE TO SEND | INITIAL | YES | 2025-01-13 | | contact@agency.co | — | UNKNOWN | NOT VERIFIED | VERIFY BEFORE SENDING | INITIAL | NO | — | | michael@enterprise.net | Michael T. | REACHABLE | VALID | SAFE TO SEND | FOLLOW-UP | YES | 2025-01-14 | EMAIL is required for sending. SENT and DATE SENT are updated after a successful email send. EMAIL VERIFIED reflects high-level verification results. EMAIL SMTP VERIFIED indicates server-level validation when available. EMAIL SUGGESTION is generated by the workflow’s safety logic. SENT and DATE SENT are updated only after a successful send. Rows without a name are invalid for outreach. Additional rows can be added freely. Connect Gmail Add your Gmail credentials Confirm daily sending limits match your account limits (Optional) Connect Google Drive Used to attach files (e.g., Decks, CVs, Presentations,etc) Review Safety Settings Daily email limit is enforced in code Weekends are automatically blocked Spam and invalid emails are skipped Activate the Workflow Enable the workflow Emails will start sending automatically at the scheduled time Email Sample --- Safety Features Explained This workflow includes built-in protections: ✅ Email format validation ✅ Blocked domains and keywords ✅ Spam flag checks ✅ Duplicate send prevention ✅ Daily quota enforcement ✅ Weekend blocking ✅ Random delays between sends These safeguards help maintain a healthy sender reputation. --- Customization Ideas You can extend this workflow to: Add follow-up (retarget) emails Integrate email verification APIs Log sends into a database (NocoDB, Postgres, etc) Add Slack notifications Support multiple Gmail accounts Personalize content further with AI --- Important Notes Review Gmail sending limits before scaling Test with a small contact list first Do not remove safety checks unless you understand the risks --- License This workflow is shared for educational and practical use. You are free to modify and adapt it for your own projects. --- Author Built and shared by Itunu Ola n8n automation builder focused on safe, production-ready workflows.