Guide 13 · updated 2026-10-20

EODHD + SEIBRO Korean dividend dates missing: route collection by listing market

EODHD support identified a Korean .KO date-field coverage limit: ex-date and amount are supplied, while declaration, record and payment dates are not. Route KR dividends to confirmed SEIBRO events; keep EODHD for the US dividend path and avoid cross-source field grafting.

By 차도녀 gpt may · Reviewed:

Symptoms

An EODHD .KO dividend row can have an ex-date and amount but no declaration, record or payment date. A yield, entitlement or cash-date pipeline that treats those null fields as complete will misstate its confidence. In an authorized excerpt of a 2026-09-28 EODHD support reply, support called this a Korean stocks and ETFs coverage limitation, not a runtime defect: its upstream source did not provide those three dates. EODHD’s dividend field reference identifies date as ex-date and marks recordDate and paymentDate nullable. The support reply describes its then-current .KO feed; it does not establish that Korean dividend amounts as a class are wrong.

Cause

This is a missing-field and source-selection issue, separate from the earlier EODHD delayed-update/cache case. The reviewed GetBeta policy uses the catalog listing market, not currency or ticker shape: active KR-listed STOCK and ETF dividends come from SEIBRO. Old EODHD KR rows remain auditable but are excluded before date selection, limits and sums. The EODHD client guard rejects KO/KQ/KS/ETF_KR dividend requests with EODHD_KR_DIVIDENDS_NOT_ALLOWED. EODHD still serves the existing US dividend path; price and FX collection are separate paths. This is market-segmented collection, not a field-by-field join or fallback between competing dividend rows.

Safe resolution

  1. Classify each security from the authoritative listing catalog. For KR-listed STOCK/ETF cash dividends, acquire SEIBRO events; for the reviewed US dividend path, continue EODHD. Preserve source, capture time, security identity and raw evidence with every observation. Do not rewrite an archived EODHD KR row as SEIBRO or fill its null dates from a nearby SEIBRO row.
  2. Confirm the SEIBRO event before financial admission. The reviewed ETF collector binds a full ISIN and uses RGT_STD_DT (record date), TH1_PAY_TERM_BEGIN_DT (payment date) and ESTM_STDPRC (KRW amount); 청산분배 is excluded from recurring DPS. The reviewed stock source treats SHOTN_ISIN as a short code, checks issuer and share class, and corroborates cash facts through three rights responses. Neither collector writes a guessed ex-date: new SEIBRO rows explicitly use ex_date=None; a separate read-only entitlement calculation may derive a date for eligibility when the reviewed KRX calendar supports it.
  3. Select active rows by listing market and source before any sort, limit, date extreme or sum. Hold missing, ambiguous, noncash or conflicting events for review. The stock correction guard requires a bridge for cross-source or legacy ex-date corrections; absence in a recent list does not delete a historical event.

The reduced Python example shows the read-side boundary. It accepts already collected rows and makes no provider request or database write.

def active_dividend_rows(listing_market, instrument_kind, rows):
    if listing_market == "KR" and instrument_kind in {"STOCK", "ETF"}:
        required_source = "SEIBRO"
    elif listing_market == "US":
        required_source = "EODHD"
    else:
        raise ValueError("Market or instrument requires a separate source policy")

    selected = [row for row in rows
                if str(row.get("data_source", "")).strip().upper() == required_source]
    if listing_market == "KR" and any(
        row.get("record_date") is None or row.get("pay_date") is None
        for row in selected
    ):
        raise ValueError("Unconfirmed KR dividend dates")
    return selected  # Apply date ordering, limits and sums only after this filter.

Verification

Source review on 2026-10-20 covers the authorized 2026-09-28 EODHD support excerpt, vendor field documentation and GetBeta commit c4d29bbb; no provider request, original GetBeta test suite, database backfill or deployment was run. A local contract check should feed the reduced selector a KR SEIBRO event plus an archived EODHD KR event and assert only the former reaches downstream dates and sums. Negative controls should hold a SEIBRO row missing record/payment dates, reject an unsupported market, and detect a same-date cross-source overlap without merging fields. For the real collector, verify full ETF ISIN or stock issuer/short-code/share-class identity, rights confirmations, capture-time precedence for same-source revisions and persisted source provenance.

The current scheduler source places price refresh, SEIBRO, EODHD US dividends, upcoming and modeled stages in that order; a SEIBRO failure prevents the upcoming KR SEIBRO stage while other stages have their own outcomes. Recovery uses a monthly backfill command that defaults to dry-run; --apply writes and --resume is explicit. Review the receipt state before replay: complete/partial are terminal, and running/unknown need investigation because database and JSON receipts are not atomic. None of these source observations proves a full historical backfill was completed.

Limitations

The support reply is a dated, user-approved text excerpt, not a public EODHD API contract or a live-feed test. EODHD may later change coverage. SEIBRO browser-service fields and access terms need independent verification for each deployment; see the SEIBRO profile and EODHD profile. The historical SEIBRO pagination case is pinned to older GetBeta code. The newer reviewed stock adapter can retain confirmed events after a stable overstated count only when every advertised remaining range is normally empty, beginning immediately after received rows, and the second count is stable. A middle gap, count drift or malformed response still fails; this does not certify full history or TTM coverage.

No live SEIBRO/EODHD call, paid API use, production collection, backfill completion or deployment was verified here. Source-repository links may require access. Search expressions are candidates; no search-volume, indexing or ranking result is claimed.

Sources and verification scope

Source review on 2026-10-20 covers the authorized 2026-09-28 EODHD support excerpt, vendor field documentation and GetBeta commit c4d29bbb; no provider request, original GetBeta test suite, database backfill or deployment was run.

Related providers