{
  "openapi": "3.0.1",
  "info": {
    "title": "Crypto Fundamentals API - Artemis Stablecoin and Protocol Data",
    "description": "Crypto fundamentals API for Artemis data: protocol fees and revenue, chain users and TVL, stablecoin supply and transfer volume, DEX, lending, perps and prediction market metrics, equity financials and multiples, chain flows, ATH and streak insights. Bring your own key.",
    "version": "0.1",
    "x-build-id": "ySNheA6bbyANgfkEd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~crypto-fundamentals-stablecoin-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-crypto-fundamentals-stablecoin-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nabeelbaghoor~crypto-fundamentals-stablecoin-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-crypto-fundamentals-stablecoin-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nabeelbaghoor~crypto-fundamentals-stablecoin-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-crypto-fundamentals-stablecoin-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to read",
            "enum": [
              "timeseries",
              "snapshot",
              "flows",
              "insights",
              "assets",
              "supportedMetrics"
            ],
            "type": "string",
            "description": "Metric time series returns dated values for each symbol and metric. Metric snapshot returns the end date value of each metric with its percent change since the start date, ideal for leaderboards. Chain capital flows returns inflows, outflows or netflows per chain. Insight cards returns the API all-time-high, all-time-low, growth streak, decline streak or acceleration feed. Supported assets lists every symbol with sectors. Metrics for a symbol lists the metric names, units and dimension cuts a symbol supports.",
            "default": "timeseries"
          },
          "symbols": {
            "title": "Symbols",
            "type": "array",
            "description": "Time series, snapshot and metrics for a symbol modes. Artemis symbols such as btc, eth, sol, usdc, usdt, aave, hype, uni, kalshi, polymarket, or equities with the eq- prefix such as eq-coin, eq-nvda. The supported assets mode lists every symbol; symbols differ from tickers for many assets (Hyperliquid is hype, Maker is sky).",
            "items": {
              "type": "string"
            }
          },
          "metricPreset": {
            "title": "Metric preset",
            "enum": [
              "custom",
              "market",
              "chainActivity",
              "chainBaseLayer",
              "stablecoins",
              "stablecoinSupply",
              "lending",
              "spotDex",
              "perps",
              "predictionMarkets",
              "equityFinancials",
              "equityValuation"
            ],
            "type": "string",
            "description": "Time series and snapshot modes. A ready-made set of documented metric names. Custom uses only the metrics input; any metrics you list are added to the preset.",
            "default": "market"
          },
          "metrics": {
            "title": "Metrics",
            "type": "array",
            "description": "Time series and snapshot modes: extra metric names such as PRICE, MC, FEES, REVENUE, TVL, DAU, PERP_VOLUME, OPEN_INTEREST, LENDING_DEPOSITS or company KPIs such as DATA_CENTER_REVENUE (up to 25 in total). Insight cards mode: only keep cards for these metric names. The metrics for a symbol mode lists every metric name.",
            "items": {
              "type": "string"
            }
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "Time series, snapshot and flows modes. First day, YYYY-MM-DD. Leave empty to use the lookback days before the end date."
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Time series, snapshot and flows modes. Last day, YYYY-MM-DD. Leave empty for today (UTC)."
          },
          "lookbackDays": {
            "title": "Lookback days",
            "minimum": 0,
            "maximum": 7300,
            "type": "integer",
            "description": "Days before the end date to start from when no start date is set.",
            "default": 30
          },
          "granularity": {
            "title": "Granularity",
            "enum": [
              "DAY",
              "WEEK",
              "MONTH",
              "QUARTER",
              "YEAR"
            ],
            "type": "string",
            "description": "Time series and flows modes. Rolls each metric up by its own aggregation type: sums for flows like volume and fees, the last value for stocks like TVL and open interest, averages for users and rates. Periods are labelled by their first day; equity fundamentals by fiscal period end.",
            "default": "DAY"
          },
          "dimensionType": {
            "title": "Split by",
            "enum": [
              "TOTAL",
              "CHAIN",
              "VERSION",
              "CATEGORY",
              "TOKEN",
              "TOKEN_TYPE",
              "SYMBOL",
              "ETF",
              "BUILDER",
              "COHORT",
              "POOL",
              "FEE_TIER",
              "BUCKET",
              "PAYMENT_TYPE"
            ],
            "type": "string",
            "description": "Time series and snapshot modes. Splits each series into one per chain, protocol version, category, token and so on. Only works for metrics whose cuts list the dimension (see the metrics for a symbol mode); otherwise the API answers 422 or a not-available note.",
            "default": "TOTAL"
          },
          "includeNulls": {
            "title": "Keep open periods",
            "type": "boolean",
            "description": "Time series mode. Keep points whose value is still null because the period has not closed yet (usually today). Off by default.",
            "default": false
          },
          "sourceChains": {
            "title": "Source chains",
            "type": "array",
            "description": "Chain capital flows mode. Chains to read inflows, outflows or netflows for.",
            "items": {
              "type": "string",
              "enum": [
                "ethereum",
                "solana",
                "arbitrum",
                "base",
                "bsc",
                "polygon",
                "optimism",
                "avalanche",
                "aptos",
                "berachain",
                "bitcoin",
                "blast",
                "celo",
                "hyperliquid",
                "injective",
                "ink",
                "linea",
                "mantle",
                "near",
                "sei",
                "sonic",
                "starknet",
                "sui",
                "unichain",
                "worldchain",
                "zksync"
              ]
            }
          },
          "flowType": {
            "title": "Flow type",
            "enum": [
              "netflow",
              "inflow",
              "outflow"
            ],
            "type": "string",
            "description": "Chain capital flows mode. Netflow is inflow minus outflow.",
            "default": "netflow"
          },
          "flowLimit": {
            "title": "Flow limit",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Chain capital flows mode. Optional limit parameter; the provider notes it may cause issues with some chain combinations, so leave empty unless needed."
          },
          "insightType": {
            "title": "Insight feed",
            "enum": [
              "ath",
              "atl",
              "growthStreaks",
              "declineStreaks",
              "acceleration"
            ],
            "type": "string",
            "description": "Insight cards mode. All-time highs and lows carry the new and previous record with the percent move; streaks carry the start and end value over consecutive periods; acceleration flags a rising rate of change.",
            "default": "ath"
          },
          "insightDomain": {
            "title": "Insight domain",
            "enum": [
              "any",
              "protocol",
              "stablecoin_aggregated",
              "stablecoin_per_chain",
              "equity"
            ],
            "type": "string",
            "description": "Insight cards mode. Only keep cards for protocols and chains, stablecoins (aggregate or per chain) or equities.",
            "default": "any"
          },
          "insightCadence": {
            "title": "Insight cadence",
            "enum": [
              "any",
              "daily",
              "weekly",
              "monthly",
              "quarterly"
            ],
            "type": "string",
            "description": "Insight cards mode. Only keep daily, weekly, monthly or quarterly cards.",
            "default": "any"
          },
          "entityIds": {
            "title": "Insight entities",
            "type": "array",
            "description": "Insight cards mode. Only keep cards for these entity IDs, such as ethereum, solana, usdt, hyperliquid or a ticker such as COIN.",
            "items": {
              "type": "string"
            }
          },
          "sector": {
            "title": "Sector",
            "enum": [
              "any",
              "chain",
              "stablecoin",
              "lending",
              "dex",
              "perpetuals",
              "prediction_markets",
              "liquid_staking",
              "liquid_restaking",
              "cex",
              "bridges",
              "rwa",
              "depin",
              "l1",
              "optimistic_rollup_l2s",
              "zk_l2s",
              "solana_ecosystem",
              "ethereum_ecosystem",
              "neobanks",
              "digital_asset_treasuries",
              "payments",
              "oracle",
              "launchpad",
              "infrastructure",
              "equities_includes_memo"
            ],
            "type": "string",
            "description": "Supported assets mode. Only keep assets tagged with this sector.",
            "default": "any"
          },
          "assetType": {
            "title": "Asset type",
            "enum": [
              "any",
              "App",
              "Chain",
              "Stablecoin",
              "Equity"
            ],
            "type": "string",
            "description": "Supported assets mode. Only keep apps, chains, stablecoins or equities.",
            "default": "any"
          },
          "search": {
            "title": "Search",
            "type": "string",
            "description": "Supported assets mode. Only keep assets whose symbol, name or ID contains this text."
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most rows this run returns and charges for.",
            "default": 100
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Pacing. Artemis does not publish a rate limit; a 429 answer is waited out and retried.",
            "default": 60
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own Artemis API key, from the Settings page of your Artemis account (artemis.ai, user profile, Settings). API access comes with the Managing Director plan and the Artemis Sheets plugin. Stored as a secret, sent only as the documented APIKey parameter and never logged. You can instead set the DATA_API_KEY environment secret."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}