{
  "openapi": "3.0.1",
  "info": {
    "title": "👑 Dividend Aristocrats — Kings, Achievers, Growth Stocks",
    "description": "Track S&P 500 Dividend Aristocrats (25+yr increases), Dividend Kings (50+yr), and Achievers (10+yr) with current yield, payout ratio, dividend growth rate, consecutive years streak. Income-investor data for DGI strategies, family offices, dividend ETFs. Pay-per-result.",
    "version": "0.0",
    "x-build-id": "1n9TshjL4LtdMHCrL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nexgendata~dividend-aristocrats-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nexgendata-dividend-aristocrats-tracker",
        "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/nexgendata~dividend-aristocrats-tracker/runs": {
      "post": {
        "operationId": "runs-sync-nexgendata-dividend-aristocrats-tracker",
        "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/nexgendata~dividend-aristocrats-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-nexgendata-dividend-aristocrats-tracker",
        "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": {
          "category": {
            "title": "Dividend category",
            "enum": [
              "Aristocrat",
              "King",
              "Achiever",
              "Contender",
              "all"
            ],
            "type": "string",
            "description": "Which dividend-growth tier to pull. 'King' = 50+ consecutive years of dividend increases (rarest, ~50 names — KO, PG, JNJ, MMM, CINF). 'Aristocrat' = 25+ years AND member of the S&P 500 (~70 names — the canonical DGI universe). 'Achiever' = 10+ years (~350 names — wider opportunity set including future Aristocrats). 'Contender' = 10-24 years specifically (subset of Achievers approaching Aristocrat status). 'all' merges every tier and de-duplicates by ticker, ranking by consecutive_years_of_increases descending.",
            "default": "Aristocrat"
          },
          "limit": {
            "title": "Maximum records to return",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on the number of dividend stock records emitted. Aristocrats and Kings universes are small (~70 and ~50 names respectively) so set 0 to fetch everything. Achievers and Contenders are larger — cap at 50-100 for cost control. Records are sorted by consecutive_years_of_increases (descending) so a low limit gives you the longest-streak names first.",
            "default": 50
          },
          "min_yield_pct": {
            "title": "Minimum dividend yield (%)",
            "minimum": 0,
            "maximum": 25,
            "type": "number",
            "description": "Filter out names yielding below this threshold. Standard DGI screens use 2.0% as the floor (above the S&P 500 average yield). Income-focused retirees often raise this to 3.0-4.0% (REITs, telecoms, utilities territory). Set 0 to disable the yield floor and capture low-yield-high-growth names like Lowe's (LOW) or Sherwin-Williams (SHW) where the growth rate matters more than current yield.",
            "default": 0
          },
          "max_payout_ratio_pct": {
            "title": "Maximum payout ratio (%)",
            "minimum": 0,
            "maximum": 200,
            "type": "number",
            "description": "Filter out names with payout ratios above this ceiling. Standard sustainability check: 60% for industrials/consumer staples, 80% for utilities and telecoms, 90%+ for REITs (which must distribute 90% of taxable income by law). Set 0 to disable. Stocks with payout ratios above 100% are paying out more than they earn — typically funded by debt and an early warning of a dividend cut.",
            "default": 0
          },
          "sector": {
            "title": "Sector filter",
            "enum": [
              "all",
              "Consumer Staples",
              "Consumer Discretionary",
              "Industrials",
              "Healthcare",
              "Financials",
              "Information Technology",
              "Utilities",
              "Energy",
              "Materials",
              "Real Estate",
              "Communication Services"
            ],
            "type": "string",
            "description": "GICS sector filter. Consumer Staples and Industrials dominate the Aristocrats list (think PG, KO, CL, EMR, MMM). Utilities and Real Estate skew toward higher yields. Healthcare names (JNJ, ABT, BDX) usually combine moderate yield with strong dividend growth. Set 'all' for the full universe across sectors.",
            "default": "all"
          },
          "min_consecutive_years": {
            "title": "Minimum consecutive years of dividend increases",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Filter by the streak length. 10 = Achievers floor, 25 = Aristocrats floor, 40 = elite long-streak names approaching King status, 50 = Kings floor, 60+ = ultra-rare names like Procter & Gamble (PG, 67yr), Coca-Cola (KO, 62yr), Genuine Parts (GPC, 68yr), Dover (DOV, 68yr). Set 0 to disable the streak floor and rely on the category filter alone.",
            "default": 0
          },
          "fetch_live_quotes": {
            "title": "Fetch live price/yield/payout from stockanalysis.com",
            "type": "boolean",
            "description": "When true (default), the actor enriches each record by hitting stockanalysis.com/stocks/{symbol}/ for the current price, market cap, dividend yield, payout ratio, forward P/E, and 5-year dividend growth rate. When false, only the static constituent data (symbol, name, sector, category, consecutive_years_of_increases) is emitted — faster and cheaper, but no live market data. Disable for bulk universe reconciliation or backtest setup.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}