{
  "openapi": "3.0.1",
  "info": {
    "title": "DEV.to Articles Scraper",
    "description": "Pull articles from DEV.to (and other Forem communities). Returns title, URL, cover, description, full body markdown, tags, reading time, reactions, comments, author profile (name, twitter, github), publication, canonical URL, published date. Filter by tag, top, latest, username.",
    "version": "1.0",
    "x-build-id": "23GhzEIcz13oTJBVH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~dev-to-articles-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-dev-to-articles-scraper",
        "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/parseforge~dev-to-articles-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-dev-to-articles-scraper",
        "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/parseforge~dev-to-articles-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-dev-to-articles-scraper",
        "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": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "latest",
              "top",
              "tag",
              "user"
            ],
            "type": "string",
            "description": "latest = recent feed; top = ranked by reactions; tag = filter by tag; user = articles by username.",
            "default": "latest"
          },
          "tag": {
            "title": "Tag",
            "enum": [
              "",
              "100daysofcode",
              "100daysofdatascience",
              "100daysofsolana",
              "12monthsofmakes",
              "3dprinting",
              "418challenge",
              "a11y",
              "abotwrotethis",
              "actionshackathon",
              "activitypub",
              "adventofai",
              "adventofcode",
              "aem",
              "agentaichallenge",
              "agenticpostgreschallenge",
              "agents",
              "agentskills",
              "agile",
              "agriculture",
              "ai",
              "aiops",
              "algoliachallenge",
              "algorithms",
              "alibabachallenge",
              "ama",
              "analyst",
              "analytics",
              "android",
              "androiddev",
              "angular",
              "animation",
              "anonymous",
              "ansible",
              "antigravity",
              "api",
              "apigateway",
              "appconfig",
              "appsync",
              "appwritehack",
              "architecture",
              "archlinux",
              "arduino",
              "artificialintelligence",
              "asp",
              "aspdotnet",
              "aspnet",
              "assembly",
              "assemblyaichallenge",
              "astro",
              "atlashackathon",
              "atlashackathon22",
              "atproto",
              "atprotocol",
              "auth0challenge",
              "authjs",
              "automation",
              "automaton",
              "aws",
              "awsbigdata",
              "awschallenge",
              "awsdatalake",
              "awsiot",
              "azure",
              "azureapril",
              "azureeventgrid",
              "azurefunctions",
              "babel",
              "backend",
              "backenddevelopment",
              "basecs",
              "bash",
              "basic",
              "beginner",
              "beginners",
              "bestofdev",
              "bigdata",
              "bitbucket",
              "bitcoin",
              "blacklivesmatter",
              "blockchain",
              "bluesky",
              "bolt",
              "books",
              "bootstrap",
              "braziliandevs",
              "brightdatachallenge",
              "browser",
              "buildinpublic",
              "buildozer",
              "bunjs",
              "c",
              "career",
              "careerdevelopment",
              "certification",
              "challenge",
              "changelog",
              "chatgpt",
              "cheatsheet",
              "choosetochallenge",
              "ci",
              "cicd",
              "circuitpython",
              "cisco",
              "civictech",
              "claude",
              "cleancode",
              "cleancoding",
              "cli",
              "clojure",
              "cloud",
              "cloudcomputing",
              "cloudflarechallenge",
              "cloudnative",
              "cloudnextchallenge",
              "cloudpractitioner",
              "cloudskills",
              "cloudstorage",
              "clr",
              "cnc2018",
              "code",
              "codenewbie",
              "codepen",
              "codequality",
              "codereview",
              "coding",
              "coinbase",
              "community",
              "competativeprogramming",
              "compiling",
              "computerscience",
              "computervision",
              "container",
              "containerapps",
              "containers",
              "contentwriting",
              "contributorswanted",
              "convex",
              "core",
              "cosmosdb",
              "couchbase",
              "cozechallenge",
              "cpp",
              "cryptocurrency",
              "crystal",
              "cschallenge",
              "csharp",
              "css",
              "cuda",
              "culture",
              "cybersecurity",
              "dapr",
              "darklang",
              "dart",
              "data",
              "database",
              "dataengineering",
              "datascience",
              "datastructures",
              "debian",
              "deeplearning",
              "deepseek",
              "deno",
              "dependencyinversion",
              "design",
              "designpatterns",
              "designsystem",
              "devbugsmash",
              "devchallenge",
              "devcyclechallenge",
              "devdiscuss",
              "deved",
              "developer",
              "developers",
              "development",
              "devex",
              "devgrad2020",
              "devimpact2023",
              "devjournal",
              "devlive",
              "devmeme",
              "devops",
              "devplusplus",
              "devpride",
              "devrel",
              "devresolutions2024",
              "devto",
              "devwrapped",
              "digitalworkplace",
              "discord",
              "discuss",
              "distributedsystems",
              "diversity",
              "django",
              "djangocms",
              "docker",
              "documentation",
              "dohackathon",
              "dotnet",
              "dotnetcore",
              "dotnetframework",
              "drupal",
              "dsa",
              "dynamodb",
              "elasticsearch",
              "electron",
              "elixir",
              "elm",
              "ember",
              "emberjs",
              "employeeexperience",
              "erlang",
              "esp32",
              "esp8266",
              "espanol",
              "español",
              "ethereum",
              "etherjs",
              "eventdriven",
              "eventsinyourcity",
              "explainlikeimfive",
              "express",
              "extensions",
              "extranet",
              "fastapi",
              "fauna",
              "fediverse",
              "firebase",
              "firstpost",
              "firstyearincode",
              "flask",
              "flutter",
              "forem",
              "foremfest",
              "freelance",
              "french",
              "frontend",
              "frontendchallenge",
              "frontenddevelopment",
              "fsharp",
              "fullstack",
              "functional",
              "functionalreactiveprogramming",
              "futurechallenge",
              "gamechallenge",
              "gamedev",
              "gatsby",
              "gc",
              "gcp",
              "gdscript",
              "gear",
              "gemini",
              "gemma",
              "gemmachallenge",
              "gftwhackathon",
              "git",
              "github",
              "githubactions",
              "githubbrasil",
              "githubchallenge",
              "githubcopilot",
              "githubhack23",
              "githunt",
              "gitlab",
              "go",
              "godot",
              "godotengine",
              "google",
              "googleaichallenge",
              "googlecloud",
              "googleiochallenge",
              "gpt3",
              "gradle",
              "grails",
              "graphql",
              "gratitude",
              "groovy",
              "gsap",
              "hackathon",
              "hacktoberfest",
              "hacktoberfest23",
              "hacktoberfestchallenge",
              "halloween",
              "haskell",
              "healthydebate",
              "help",
              "heroku",
              "herokuchallenge",
              "hibernate",
              "hiring",
              "hotwire",
              "howto",
              "howtofix",
              "html",
              "htmx",
              "http",
              "hugo",
              "icymi",
              "identity",
              "inclusion",
              "indonesia",
              "infosec",
              "infrastructure",
              "infrastructureascode",
              "interfacesegregation",
              "interview",
              "inthirtyseconds",
              "intranet",
              "ionic",
              "ios",
              "iot",
              "ipad",
              "ipfs",
              "jakarta",
              "jamstack",
              "java",
              "javascript",
              "javascriptlibraries",
              "jee",
              "jellyfin",
              "jenkins",
              "jest",
              "jokes",
              "jpa",
              "jquery",
              "json",
              "julialang",
              "jupyter",
              "jvm",
              "kafka",
              "kaggle",
              "kamal",
              "kendoreactchallenge",
              "knative",
              "kotlin",
              "kubernetes",
              "lambda",
              "land",
              "langchain",
              "laravel",
              "latam",
              "leadership",
              "learngoogleaistudio",
              "learning",
              "leetcode",
              "lego",
              "lgbtq",
              "linodehackathon",
              "linux",
              "liskov",
              "livewire",
              "llm",
              "localhackday",
              "logicapps",
              "lowcode",
              "machinelearning",
              "magneto",
              "majorleaguehacking",
              "management",
              "mariadb",
              "markdown",
              "marketing",
              "marko",
              "mastodon",
              "mattermost",
              "mcp",
              "mentalhealth",
              "mentorship",
              "mern",
              "meta",
              "meteor",
              "microbit",
              "micronaut",
              "micropython",
              "microservices",
              "microsoft",
              "microsoft365",
              "microsoftcloud",
              "microsoftgraph",
              "midnightchallenge",
              "minimicro",
              "miniscript",
              "mixedreality",
              "mlh",
              "mlhgrad",
              "mobile",
              "mojo",
              "mojolicious",
              "mongodb",
              "mongoose",
              "monitoring",
              "motivation",
              "mqtt",
              "mrsk",
              "msbuild",
              "mscreate",
              "mulesofthackathon",
              "multiplatform",
              "music",
              "muxchallenge",
              "mysql",
              "n8nbrightdatachallenge",
              "nanobanana",
              "neonchallenge",
              "neovim",
              "nestjs",
              "netlify",
              "netlifychallenge",
              "network",
              "networking",
              "newbie",
              "newrelic",
              "news",
              "newyearchallenge",
              "nextjs",
              "nginx",
              "nim",
              "nlp",
              "nocode",
              "node",
              "nodejs",
              "nosql",
              "notionchallenge",
              "npm",
              "nuxt",
              "nuxtjs",
              "nvidia",
              "nvidiachallenge",
              "nylaschallenge",
              "oauth",
              "ocaml",
              "octograd2020",
              "octopusdeploy",
              "offers",
              "oop",
              "openai",
              "openapi",
              "openclaw",
              "openclawchallenge",
              "openclosed",
              "openclosedprinciple",
              "opendata",
              "opensource",
              "operations",
              "oracle",
              "osdc",
              "oss",
              "performance",
              "perl",
              "permitchallenge",
              "pgaichallenge",
              "photoshop",
              "php",
              "pihole",
              "pinatachallenge",
              "playwright",
              "podcast",
              "podcasts",
              "polymer",
              "portfolio",
              "postgres",
              "postgressql",
              "postman",
              "postmanapi",
              "powerapps",
              "powerautomate",
              "powerfuldevs",
              "powerplatform",
              "prisma",
              "privacy",
              "procurement",
              "product",
              "productivity",
              "programmers",
              "programming",
              "projectbenatar",
              "prolog",
              "promptengineering",
              "psychology",
              "publicinbox",
              "pubsub",
              "pulumichallenge",
              "puppet",
              "purescript",
              "pushercontest",
              "pwa",
              "pwabuilder",
              "pwl",
              "pybricks",
              "python",
              "quarkus",
              "qwik",
              "rag",
              "rails",
              "raspberrypi",
              "react",
              "reactjs",
              "reactjsdevelopment",
              "reactnative",
              "reason",
              "redis",
              "redishackathon",
              "redux",
              "refactoring",
              "refactorit",
              "refinehackathon",
              "regex",
              "remix",
              "remote",
              "replit",
              "requestforpost",
              "resources",
              "rest",
              "restapi",
              "resume",
              "riot",
              "riotjs",
              "robotics",
              "role",
              "rpa",
              "rss",
              "ruby",
              "runnerhchallenge",
              "rust",
              "rxjs",
              "saas",
              "safari",
              "sass",
              "scala",
              "science",
              "scrum",
              "scss",
              "scylladb",
              "security",
              "selenium",
              "serverless",
              "sharepoint",
              "sharepointframework",
              "shecoded",
              "shecodedally",
              "shell",
              "showdev",
              "sideprojects",
              "siliconvalley",
              "singleresponsibility",
              "sitereliabilityengineering",
              "smartcontract",
              "socialmedia",
              "software",
              "softwaredevelopment",
              "softwareengineering",
              "solidity",
              "solidjs",
              "solidprinciples",
              "sorbet",
              "sotwsurvey",
              "spanish",
              "speaking",
              "spfx",
              "spring",
              "springboot",
              "springsecurity",
              "sql",
              "sqlserver",
              "sre",
              "startup",
              "staticwebapps",
              "statuscodes",
              "stellarchallenge",
              "stepfunctions",
              "storyblokchallenge",
              "stripe",
              "surfaceduodev",
              "svelte",
              "sveltekit",
              "swift",
              "symfony",
              "systemdesign",
              "systems",
              "tailwind",
              "tailwindcss",
              "tdd",
              "techtalks",
              "tensorflow",
              "terminal",
              "terraform",
              "test",
              "test2",
              "test4",
              "testdev",
              "testing",
              "tfhdailystandup",
              "themes",
              "theycoded",
              "tigerdata",
              "timescalechallenge",
              "todayilearned",
              "todayisearched",
              "tooling",
              "top7",
              "trans",
              "tutorial",
              "twilio",
              "twiliochallenge",
              "twiliohackathon",
              "twilioquest",
              "twitter",
              "typescript",
              "typo3",
              "ubuntu",
              "ui",
              "uidesign",
              "uiweekly",
              "unittest",
              "unity3d",
              "unoplatformchallenge",
              "unsplash",
              "util",
              "ux",
              "uxdesign",
              "vectordatabase",
              "vercel",
              "vertexai",
              "vertx",
              "vibecoding",
              "vim",
              "virtualmachine",
              "visier",
              "vite",
              "vscode",
              "vue",
              "vuejs",
              "vulnerabilities",
              "watercooler",
              "wcf",
              "web",
              "web3",
              "webassembly",
              "webcomponents",
              "webdev",
              "webmonetization",
              "webpack",
              "webperf",
              "webr",
              "webrtc",
              "webscraping",
              "website",
              "webstorm",
              "webtesting",
              "wecoded",
              "weekendchallenge",
              "weeklyretro",
              "weeklyui",
              "welcome",
              "whisper",
              "whoishiring",
              "wixstudiochallenge",
              "womenintech",
              "woocommerce",
              "wordpress",
              "workplace",
              "workstations",
              "writing",
              "xamarin",
              "xamarinforms",
              "xanochallenge",
              "yearinreview",
              "zig"
            ],
            "type": "string",
            "description": "Dev.to tag slug to filter by (e.g. javascript, python, rust). Empty = ignored. Used only when mode=tag.",
            "default": ""
          },
          "username": {
            "title": "Username (user mode)",
            "type": "string",
            "description": "DEV.to username (without the @)."
          },
          "fetchBody": {
            "title": "Fetch full body markdown",
            "type": "boolean",
            "description": "If checked, fetches full body markdown per article (1 extra API call per article).",
            "default": true
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}