{
    "source": "https://lucyesl.com/market",
    "license": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "LucyESL — https://lucyesl.com/market",
    "updated": "2026-10-31",
    "live_listings": 593,
    "listings_naming_a_region": 593,
    "listings_naming_none": 0,
    "direct": 297,
    "recruiter": 296,
    "first_party": 4,
    "copied": 589,
    "salaried_listings": 549,
    "onsite_hours_stated": 381,
    "onsite_hours_percent": 69.4,
    "pay": {
        "n": 477,
        "median": 2500000,
        "p25": 2400000,
        "p75": 2600000
    },
    "concentration": {
        "regions": [
            "Gyeonggi / Incheon",
            "Seoul",
            "Busan"
        ],
        "listings": 475,
        "percent_of_region_rows": 78.5
    },
    "regions": {
        "gyeonggi": {
            "label": "Gyeonggi / Incheon",
            "label_ko": "경기·인천",
            "live": 218,
            "share_of_board": 36.8,
            "direct": 112,
            "recruiter": 106,
            "first_party": 1,
            "copied": 217,
            "salaried": 202,
            "onsite_hours_stated": 141,
            "onsite_hours_percent": 69.8,
            "pay_n": 172,
            "pay_median": 2500000
        },
        "seoul": {
            "label": "Seoul",
            "label_ko": "서울",
            "live": 216,
            "share_of_board": 36.4,
            "direct": 108,
            "recruiter": 108,
            "first_party": 2,
            "copied": 214,
            "salaried": 200,
            "onsite_hours_stated": 131,
            "onsite_hours_percent": 65.5,
            "pay_n": 160,
            "pay_median": 2500000
        },
        "busan": {
            "label": "Busan",
            "label_ko": "부산",
            "live": 41,
            "share_of_board": 6.9,
            "direct": 19,
            "recruiter": 22,
            "first_party": 2,
            "copied": 39,
            "salaried": 37,
            "onsite_hours_stated": 27,
            "onsite_hours_percent": 73,
            "pay_n": 31,
            "pay_median": 2400000
        },
        "gyeongsang": {
            "label": "Gyeongsang",
            "label_ko": "경상",
            "live": 32,
            "share_of_board": 5.4,
            "direct": 16,
            "recruiter": 16,
            "first_party": 0,
            "copied": 32,
            "salaried": 30,
            "onsite_hours_stated": 21,
            "onsite_hours_percent": 70,
            "pay_n": 26,
            "pay_median": 2500000
        },
        "daegu": {
            "label": "Daegu",
            "label_ko": "대구",
            "live": 16,
            "share_of_board": 2.7,
            "direct": 7,
            "recruiter": 9,
            "first_party": 1,
            "copied": 15,
            "salaried": 16,
            "onsite_hours_stated": 10,
            "onsite_hours_percent": 62.5,
            "pay_n": 14,
            "pay_median": 2450000
        },
        "daejeon": {
            "label": "Daejeon",
            "label_ko": "대전",
            "live": 15,
            "share_of_board": 2.5,
            "direct": 7,
            "recruiter": 8,
            "first_party": 1,
            "copied": 14,
            "salaried": 14,
            "onsite_hours_stated": 12,
            "onsite_hours_percent": 85.7,
            "pay_n": 13,
            "pay_median": 2500000
        },
        "chungcheong": {
            "label": "Chungcheong",
            "label_ko": "충청",
            "live": 14,
            "share_of_board": 2.4,
            "direct": 8,
            "recruiter": 6,
            "first_party": 0,
            "copied": 14,
            "salaried": 12,
            "onsite_hours_stated": 8,
            "onsite_hours_percent": 66.7,
            "pay_n": 10,
            "pay_median": 2450000
        },
        "jeolla": {
            "label": "Jeolla",
            "label_ko": "전라",
            "live": 12,
            "share_of_board": 2,
            "direct": 8,
            "recruiter": 4,
            "first_party": 0,
            "copied": 12,
            "salaried": 10,
            "onsite_hours_stated": 4,
            "onsite_hours_percent": 40,
            "pay_n": 8,
            "pay_median": 2500000
        },
        "gangwon": {
            "label": "Gangwon",
            "label_ko": "강원",
            "live": 11,
            "share_of_board": 1.9,
            "direct": 2,
            "recruiter": 9,
            "first_party": 0,
            "copied": 11,
            "salaried": 11,
            "onsite_hours_stated": 8,
            "onsite_hours_percent": 72.7,
            "pay_n": 11,
            "pay_median": 2600000
        },
        "gwangju": {
            "label": "Gwangju",
            "label_ko": "광주",
            "live": 11,
            "share_of_board": 1.9,
            "direct": 7,
            "recruiter": 4,
            "first_party": 0,
            "copied": 11,
            "salaried": 11,
            "onsite_hours_stated": 9,
            "onsite_hours_percent": 81.8,
            "pay_n": 10,
            "pay_median": 2500000
        },
        "sejong": {
            "label": "Sejong",
            "label_ko": "세종",
            "live": 8,
            "share_of_board": 1.3,
            "direct": 6,
            "recruiter": 2,
            "first_party": 1,
            "copied": 7,
            "salaried": 6,
            "onsite_hours_stated": 5,
            "onsite_hours_percent": 83.3,
            "pay_n": 5,
            "pay_median": null
        },
        "ulsan": {
            "label": "Ulsan",
            "label_ko": "울산",
            "live": 6,
            "share_of_board": 1,
            "direct": 3,
            "recruiter": 3,
            "first_party": 0,
            "copied": 6,
            "salaried": 6,
            "onsite_hours_stated": 4,
            "onsite_hours_percent": 66.7,
            "pay_n": 6,
            "pay_median": null
        },
        "jeju": {
            "label": "Jeju",
            "label_ko": "제주",
            "live": 5,
            "share_of_board": 0.8,
            "direct": 2,
            "recruiter": 3,
            "first_party": 0,
            "copied": 5,
            "salaried": 5,
            "onsite_hours_stated": 2,
            "onsite_hours_percent": 40,
            "pay_n": 4,
            "pay_median": null
        }
    },
    "series": {
        "name": "the LucyESL Advert Record",
        "since": "2026-09",
        "months": [
            "2026-09",
            "2026-10",
            "2026-11"
        ],
        "url": "https://lucyesl.com/monthly"
    },
    "note": "Live English-teaching job adverts in South Korea by region, counted on LucyESL. Counts of adverts, not of employers, and not a benchmark. An advert naming two regions is counted in each region and once on the board, so region rows sum to more than the board total. Medians are withheld below 8 adverts and the count is still given. Most adverts are copied from public Korean-market job boards and are labeled as copied on lucyesl.com; the listings are theirs, these aggregate counts are computed by LucyESL."
}