{
  "openapi": "3.0.1",
  "info": {
    "title": "Dexscreener Scraper — DEX Prices, Liquidity, New Pairs, Boosts",
    "description": "DEX Screener data for 45+ chains: search tokens, all pools of a token, pair monitoring, boosted/new/CTO/advertised tokens with market data, trending metas and paid-order checks. Liquidity, volume, market cap and age filters, risk flags. No API key.",
    "version": "0.1",
    "x-build-id": "5clNSXw9d0OrjhHUG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yadroo~dexscreener-tokens/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yadroo-dexscreener-tokens",
        "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/yadroo~dexscreener-tokens/runs": {
      "post": {
        "operationId": "runs-sync-yadroo-dexscreener-tokens",
        "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/yadroo~dexscreener-tokens/run-sync": {
      "post": {
        "operationId": "run-sync-yadroo-dexscreener-tokens",
        "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": "Mode",
            "enum": [
              "search",
              "tokens",
              "tokenPairs",
              "pairs",
              "boosted",
              "latestBoosts",
              "profiles",
              "profileUpdates",
              "takeovers",
              "ads",
              "metas",
              "meta",
              "orders"
            ],
            "type": "string",
            "description": "`search` = pairs matching text/address queries. `tokens` = the price and pools of each token address on one chain (batched, 30 per request); every row describes the queried token itself. `tokenPairs` = every pool that contains a token, on either side (more complete than `tokens`). `pairs` = specific pair/pool addresses (for monitoring; filters are not applied). `boosted` = tokens with the most active boosts. `latestBoosts` = newest boost purchases. `profiles` = newest token profiles. `profileUpdates` = recently updated profiles. `takeovers` = latest community takeovers (CTO). `ads` = latest paid ads. `metas` = trending narratives (AI, dog, x402…). `meta` = pairs inside given narratives. `orders` = paid DexScreener orders (profile, ads) for token addresses. Apify refuses any other value before the run starts.",
            "default": "search"
          },
          "queries": {
            "title": "Search queries",
            "type": "array",
            "description": "mode=search: token names, symbols, token or pair addresses, e.g. \"AERO\", \"PEPE\", \"SOL/USDC\", \"0x…\". DexScreener returns up to 30 pairs per query.",
            "items": {
              "type": "string"
            }
          },
          "chainId": {
            "title": "Chain",
            "type": "string",
            "description": "DexScreener chain id, e.g. solana, ethereum, bsc, base, arbitrum, polygon, optimism, avalanche, sui, ton, tron, hyperliquid, sonic, robinhood (full list in README). Letter case and the display names are accepted, and so are the aliases eth, sol, bnb, binance, arb, matic, op, avax, sei, hype, xrp (each reading is shown in the status message). An id not on the list is passed to DexScreener as typed, with a note in the status (DexScreener adds chains often); if it is one or two letters away from a known id (e.g. \"etherum\") and the run finds nothing, the run fails with \"did you mean\". Required for tokens, tokenPairs, pairs, orders; a filter for search, meta and the token lists; ignored by metas. Empty = all chains."
          },
          "expandChainSearch": {
            "title": "Widen search on the chosen chain",
            "type": "boolean",
            "description": "mode=search with a chainId: DexScreener search returns at most 30 pairs across ALL chains, so the chain filter alone often leaves 0–2 pairs (e.g. PEPE on ethereum → 1). When on, the actor also searches \"<query>/<chain's main quote assets>\" (e.g. PEPE/WETH, PEPE/USDC) and pulls the pools of every matching token on that chain from /token-pairs. Costs a few extra requests per query (≈3–15 s). Off = plain search, filtered.",
            "default": true
          },
          "chainSearchTokens": {
            "title": "Tokens to expand per query",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "With \"Widen search\" on: how many matching tokens (most liquid first) get their pool list fetched from /token-pairs (up to 30 pools each). 0 = only the extra quote-variant searches.",
            "default": 10
          },
          "tokenAddresses": {
            "title": "Token addresses",
            "type": "array",
            "description": "mode=tokens / tokenPairs / orders: token contract (mint) addresses on `chainId`. Any number — batched 30 per request in mode=tokens. In mode=tokens each row is the queried token's own pool (it is the base token); when DexScreener lists it only as the quote token of its pools, those pools are turned around (its own USD price = base price / native price) and flagged `price_from_quote_side`.",
            "items": {
              "type": "string"
            }
          },
          "pairAddresses": {
            "title": "Pair addresses",
            "type": "array",
            "description": "mode=pairs: pool/pair addresses on `chainId` (from a previous run's `pairAddress`).",
            "items": {
              "type": "string"
            }
          },
          "metaSlugs": {
            "title": "Meta slugs",
            "type": "array",
            "description": "mode=meta: narrative slugs such as ai, dog, cat, x402, trump, nft, degen (run mode=metas for the live list).",
            "items": {
              "type": "string"
            }
          },
          "minLiquidityUsd": {
            "title": "Min liquidity (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip pairs with less liquidity (in list modes: tokens whose most liquid pair has less). Set 0 to keep pairs/tokens without liquidity data, e.g. bonding-curve launchpads or tokens with no pool yet.",
            "default": 1000
          },
          "maxLiquidityUsd": {
            "title": "Max liquidity (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip pairs with more liquidity (find small caps)."
          },
          "minVolume24hUsd": {
            "title": "Min 24h volume (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip pairs with less 24h trading volume."
          },
          "minMarketCapUsd": {
            "title": "Min market cap (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Uses market cap, or FDV when market cap is missing."
          },
          "maxMarketCapUsd": {
            "title": "Max market cap (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip pairs above this market cap (or FDV when market cap is missing)."
          },
          "minTxns24h": {
            "title": "Min 24h transactions",
            "minimum": 0,
            "type": "integer",
            "description": "Buys + sells in the last 24 h."
          },
          "minPriceChange24h": {
            "title": "Min 24h price change (%)",
            "type": "integer",
            "description": "e.g. 20 = only pairs up at least 20 %; -100 allowed."
          },
          "maxPriceChange24h": {
            "title": "Max 24h price change (%)",
            "type": "integer",
            "description": "e.g. -20 = only pairs down at least 20 %."
          },
          "minAgeHours": {
            "title": "Min pair age (hours)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip pairs younger than this (avoid brand-new launches)."
          },
          "maxAgeHours": {
            "title": "Max pair age (hours)",
            "minimum": 0,
            "type": "integer",
            "description": "e.g. 24 = only pairs created in the last day (new launches)."
          },
          "dexIds": {
            "title": "DEX ids",
            "type": "array",
            "description": "Keep only these DEXes, e.g. uniswap, aerodrome, raydium, pumpswap, meteora, orca, pancakeswap, sushiswap, quickswap, camelot, traderjoe. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "quoteSymbols": {
            "title": "Quote symbols",
            "type": "array",
            "description": "Keep only pairs quoted in these assets, e.g. USDC, USDT, WETH, SOL, WBNB. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "liquidity",
              "volume24h",
              "volume1h",
              "marketCap",
              "fdv",
              "priceChange5m",
              "priceChange1h",
              "priceChange24h",
              "txns24h",
              "buySellRatio24h",
              "pairAge",
              "boosts",
              "none"
            ],
            "type": "string",
            "description": "Sort order of results within each query / list (nulls last). `pairAge` + asc = newest first.",
            "default": "liquidity"
          },
          "sortOrder": {
            "title": "Sort order",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "`desc` = largest first, `asc` = smallest first.",
            "default": "desc"
          },
          "onePairPerToken": {
            "title": "Only the most liquid pair per token",
            "type": "boolean",
            "description": "Collapse multiple pools of the same token to its most liquid pair (cleaner token lists, fewer items).",
            "default": false
          },
          "limitPerQuery": {
            "title": "Max items per query / list",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum pairs per query/token/meta, or tokens per list mode.",
            "default": 10
          },
          "maxItems": {
            "title": "Max items in total",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on dataset items for the whole run (cost control). The run also stops at your \"Maximum cost per run\" and says so in the status.",
            "default": 100
          },
          "includeMarketData": {
            "title": "Add market data to token lists",
            "type": "boolean",
            "description": "boosted / latestBoosts / profiles / profileUpdates / takeovers / ads: attach price, liquidity, volume, market cap and age of each token's most liquid pair (1 extra request per 30 tokens).",
            "default": true
          },
          "includeInfo": {
            "title": "Include websites & socials",
            "type": "boolean",
            "description": "Attach `imageUrl`, `websites`, `socials` to pair items.",
            "default": true
          },
          "newPairHours": {
            "title": "New-pair flag threshold (hours)",
            "minimum": 1,
            "maximum": 720,
            "type": "integer",
            "description": "Pairs younger than this get flag `new_pair_<N>h`.",
            "default": 24
          },
          "fields": {
            "title": "Only these output fields",
            "type": "array",
            "description": "Keep only these top-level fields, in this order. id, query, chainId, found, url, fetchedAt are always kept (first, unless you list them). Letter case is forgiven; an unknown name stops the run with a suggestion before any row is charged, and so does a list with no field this mode's rows have. Field names: README → Reference → Output fields. Example: [\"symbol\", \"priceUsd\", \"liquidityUsd\", \"volume24h\", \"change24h\"]. Empty = full item.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}