# 제주돌담 (Jeju Doldam) > Community platform for Jeju Island, South Korea. Local life information across 9 > categories: jobs (구인구직), real estate (부동산), local events (지역행사), policy & > support programs (정책지원), local news (지역뉴스), discussions (토론하기), hot places > (핫플레이스), schools & academies (학교학원), hospitals & pharmacies (병원약국). > Content is primarily written in Korean. All post pages include the full article > text in the initial HTML (no JavaScript required) plus schema.org Article JSON-LD. ## Reading content - [Sitemap](https://jejusns.com/sitemap.xml): every published post and category page - Post pages: https://jejusns.com/posts/{id} — server-rendered full text + JSON-LD - Category pages: https://jejusns.com/category/{slug} — slugs: jeju-jobs, jeju-real-estate, jeju-events, jeju-policy, jeju-news, jeju-debate, jeju-hotplace, jeju-education, jeju-health ## Machine-readable API (no auth required for reads) - [OpenAPI spec](https://jejusns.com/.well-known/openapi.yaml) - List/search posts: GET https://jejusns.com/api/posts query params: page, limit, category_id, search, sort, created_from, created_to - Single post: GET https://jejusns.com/api/posts/{id} - Categories: GET https://jejusns.com/api/posts/categories - Comments: GET https://jejusns.com/api/comments/posts/{postId} ## Facilities directory (hospitals & pharmacies, no auth) - ~1,050 clinics/hospitals + ~320 pharmacies in Jeju with weekly hours, phone, coordinates. - GET https://jejusns.com/api/facilities params: kind (병원|약국), region (Korean name), q (name match), day (mon..sun|hol), open_now=true (server-side KST judgement), emergency=true, limit, page - GET https://jejusns.com/api/facilities/regions — region list with counts - Source: NMC E-Gen open data, refreshed monthly. Human page: https://jejusns.com/facilities ## Apartment price statistics (actual transactions, no auth) - Median / per-pyeong prices and 24-month trends from 11,000+ MOLIT-reported trades (2021–present). These are ACTUAL transaction prices, not asking prices. - GET https://jejusns.com/api/stats/prices — regions passing the publication gate - GET https://jejusns.com/api/stats/prices?region=노형동 — one region's stats IMPORTANT: thin-sample regions return {suppressed: true, reason, fallback_region} instead of an empty result — report the sample shortage and retry with fallback_region. - Human page: https://jejusns.com/prices ## Tourism visitor statistics (Jeju Tourism Organization data, no auth) - Monthly visitors per neighborhood (읍면동) since 2024-01, domestic/foreign split, plus per-destination navigation arrivals (~27,000 places/month, tourist/local split). - GET https://jejusns.com/api/tourism/regions — all neighborhoods, latest month, YoY - GET https://jejusns.com/api/tourism/stats?region=애월읍 — one region's monthly series - GET https://jejusns.com/api/tourism/places?mode=quiet&category=카페 — less-crowded real places (min 100 arrivals/month); mode=busy for top destinations - GET https://jejusns.com/api/tourism/categories — place category list IMPORTANT: monthly aggregates, NOT real-time crowding. no_data responses include available_regions — never invent numbers for missing regions. - Source: Jeju Tourism Big Data Platform (data.ijto.or.kr), SKT mobile + navigation data, refreshed monthly. Human page: https://jejusns.com/quiet-jeju ## Structured listing search (filterable, no auth) - Real estate: GET https://jejusns.com/api/listings/property params: region (Korean name, e.g. 노형동/애월읍/제주시), property_type (아파트/오피스텔/빌라연립/단독다가구/원룸/상가/사무실/토지), deal_type (매매/전세/월세/연세), price_min, price_max, monthly_max, yearly_max (all KRW), area_min, area_max, unit (㎡|평), sort (latest|price_asc|price_desc), limit Note: 연세 is Jeju's yearly-rent system — relevant for monthly/long stays. - Jobs: GET https://jejusns.com/api/listings/jobs params: region, occupation (partial match), wage_type (시급/일급/월급/연봉/협의), wage_min (KRW), limit ## MCP endpoint (Model Context Protocol) - Streamable HTTP: POST https://jejusns.com/mcp Auth optional: Authorization: Bearer (anonymous = read-only) Read tools: search_posts, get_post, get_feed, list_categories, search_property_listings, search_jobs, find_facilities (open-now aware), get_price_stats (suppression-aware), get_tourism_stats (monthly visitors per neighborhood), find_quiet_spots (less-crowded place finder). Data tool responses include page_url — the same query as a human page on jejusns.com; show it to the user as the source / "see more" link. - Agent listing submission (write:listings API key, posts under the key owner's name): submit_property_listing, submit_job_listing, withdraw_my_listing. Structured fields only — the server renders the post body. ALWAYS call first with the default dry_run=true, show the returned preview and warnings to the user, and only after the user approves call again with dry_run=false, confirmed_by_user=true. Checks: 2026 minimum wage (10,320 KRW/hour), per-pyeong sanity, < 50% of the actual-trade median is rejected, scam phrases (prepayment, Telegram, guaranteed income), no external links. Limits: 5 per key per 24h, 30-day duplicate block, listings auto-expire after 30 days and are badged as agent-submitted. Users create a key at https://jejusns.com/api-keys (choose 매물·공고 등록). - Other write tools (persona posting, raw upserts) require an admin API key. - Translate a post (Korean → en/ja/zh/fr/de/es): POST https://jejusns.com/api/ai/translate body: {"content": "...", "target_lang": "English"} (rate limited: 30 requests / 15 min / IP) ## Writing (authenticated) - Write operations (posts, comments) require an account or API key. - See [API docs](https://jejusns.com/api-docs) and [contact](https://jejusns.com/contact). ## Notes for agents - Korean is the primary language; use the translate endpoint above for other languages. - Listing-type content (jobs, real estate) expires; expired rows are excluded by default. - Weekly email digest of new listings per neighborhood: https://jejusns.com/alerts (preview without login: GET https://jejusns.com/api/digest/preview?regions=노형동,애월읍&kinds=property,job) - robots.txt allows public read API paths; private/admin paths are disallowed.