{"checkedAt":"2026-08-19","purpose":"Public readiness manifest. Secret values are never returned.","statuses":{"public-no-key":"PUBLIC API · NO KEY","ready-key":"PUBLIC API · KEY REQUIRED","private-key":"PRIVATE API / ACCOUNT","partner-feed":"PARTNER FEED","manual-official":"OFFICIAL · MANUAL CHECK","blocked-rights":"RIGHTS AGREEMENT REQUIRED"},"integrations":[{"id":"koreaexim-fx","category":"Currency localization","name":"Korea Eximbank exchange-rate API","status":"ready-key","cost":"Public API · free key required","use":"Preferred KRW reference-rate snapshot for localized housing, rental and service-price display at the 09:00 KST refresh target.","credentials":["KOREAEXIM_API_KEY","LOCALIZATION_REFRESH_SECRET"],"decision":"Connect before public price localization","caveat":"Always preserve the KRW contract amount, show the effective date/source and mark converted values as estimates—not settlement, payment or tax rates.","source":"https://www.data.go.kr/data/3068846/openapi.do"},{"id":"frankfurter-fx","category":"Currency localization","name":"Frankfurter central-bank rate API","status":"public-no-key","cost":"Public API · no key","use":"Fallback reference coverage for USD, CNY, TWD, JPY, VND, THB and UZS when the preferred Korean public connector is unavailable.","credentials":[],"decision":"Fallback already supported","caveat":"Blended reference data is display-only. Cache snapshots, label the source and never use it to debit, invoice, promise or settle a Korean contract.","source":"https://frankfurter.dev/"},{"id":"molit-transactions","category":"Housing evidence","name":"MOLIT real-estate transaction APIs","status":"ready-key","cost":"Public API · quota applies","use":"Apartment jeonse and monthly-rent transaction evidence used for dated market comparisons—not live inventory.","credentials":["DATA_GO_KR_SERVICE_KEY"],"decision":"Connect first","caveat":"Transaction records do not prove that a home is available, safe or foreigner-eligible; add the applicable sale/property-type endpoints separately.","source":"https://www.data.go.kr/data/15126474/openapi.do"},{"id":"myhome-public-rental","category":"Housing evidence","name":"MyHome public-rental housing complex API","status":"ready-key","cost":"Public API · quota applies","use":"Public-rental complex information for an eligibility and official-route candidate layer.","credentials":["DATA_GO_KR_SERVICE_KEY"],"decision":"Connect after transaction data","caveat":"Complex information is not an eligibility decision, offer or current unit availability.","source":"https://www.data.go.kr/data/15058476/openapi.do"},{"id":"juso","category":"Address","name":"Road Name Address API","status":"ready-key","cost":"Public API · registration required","use":"Normalize Korean road addresses before geocoding, distance and provider-radius queries.","credentials":["JUSO_API_KEY"],"decision":"Connect first","caveat":"Keep exact residential addresses private; publish only a safe area label.","source":"https://business.juso.go.kr/addrlink/openApi/apiReqst.do"},{"id":"vworld","category":"Map / geospatial","name":"VWorld Open API","status":"ready-key","cost":"Public API · key and quota","use":"Geocoding, map layers and Korean public geospatial context.","credentials":["VWORLD_API_KEY"],"decision":"Connect first","caveat":"Respect each dataset’s license, attribution and permitted caching period.","source":"https://www.vworld.kr/dev/v4api.do"},{"id":"tourapi","category":"Travel","name":"Korea Tourism Organization TourAPI","status":"ready-key","cost":"Public API · key and quota","use":"Attractions, events, accommodation and tourism content for itinerary candidates.","credentials":["TOUR_API_KEY"],"decision":"Connect first","caveat":"Opening hours, prices and bookability still require freshness checks or supplier confirmation.","source":"https://api.visitkorea.or.kr/"},{"id":"hira","category":"Health navigation","name":"HIRA hospital, pharmacy and facility-detail APIs","status":"ready-key","cost":"Public API · key and quota","use":"Find facilities and specialties for navigation; never for diagnosis or clinical ranking.","credentials":["DATA_GO_KR_SERVICE_KEY"],"decision":"Connect first","caveat":"Language support, appointment availability and emergency suitability need direct confirmation.","source":"https://www.data.go.kr/data/15001698/openapi.do"},{"id":"hira-pharmacies","category":"Health navigation","name":"HIRA pharmacy information API","status":"ready-key","cost":"Public API · key and quota","use":"Find pharmacy candidates for navigation; opening status and stock require direct confirmation.","credentials":["DATA_GO_KR_SERVICE_KEY"],"decision":"Connect with hospital data","caveat":"Do not infer medicine availability, clinical suitability or dispensing eligibility from directory data.","source":"https://www.data.go.kr/data/15001673/openapi.do"},{"id":"animal-hospitals","category":"Pet living","name":"National animal-hospital licensing data","status":"ready-key","cost":"Public API · key and quota","use":"Populate the veterinary layer around a shortlisted address.","credentials":["DATA_GO_KR_SERVICE_KEY"],"decision":"Connect first","caveat":"Licensed/open status does not prove 24-hour care, language support or a specific service.","source":"https://www.data.go.kr/data/15154952/openapi.do"},{"id":"seoul-open-data","category":"Local living","name":"Seoul Open Data Plaza","status":"ready-key","cost":"Public data · dataset-specific","use":"Public facilities, parks and local living layers including pet-place candidates where available.","credentials":["SEOUL_OPEN_DATA_KEY"],"decision":"Connect by city rollout","caveat":"Facility rules can change; an ordinary park must never be presented as an off-leash dog park without confirmation.","source":"https://data.seoul.go.kr/"},{"id":"neis","category":"Family / school","name":"NEIS education open data","status":"ready-key","cost":"Public API · registration/quota","use":"School directory and public education context for family routing.","credentials":["NEIS_API_KEY"],"decision":"Connect after address","caveat":"Directory data does not determine admission, eligibility, international curriculum or available places.","source":"https://open.neis.go.kr/"},{"id":"kma","category":"Weather","name":"Korea Meteorological Administration forecast API","status":"ready-key","cost":"Public API · key and quota","use":"Weather-aware arrival, travel and moving schedules.","credentials":["DATA_GO_KR_SERVICE_KEY"],"decision":"Connect after core maps","caveat":"Show issuance time and forecast area; never store a forecast as permanent truth.","source":"https://www.data.go.kr/en/data/15084084/openapi.do"},{"id":"tago-subway","category":"Public transit","name":"TAGO subway information API","status":"ready-key","cost":"Public API · key and quota","use":"Station and subway information used with a separate route engine.","credentials":["DATA_GO_KR_SERVICE_KEY"],"decision":"Connect before paid transit API","caveat":"Directory/timetable data alone is not a complete door-to-door journey or service guarantee.","source":"https://www.data.go.kr/data/15098554/openapi.do"},{"id":"kosis","category":"Area intelligence","name":"KOSIS OpenAPI","status":"ready-key","cost":"Public API · registration/quota","use":"Demographic and statistical context for transparent area profiles.","credentials":["KOSIS_API_KEY"],"decision":"Connect for reports","caveat":"Avoid protected-class profiling and never infer an individual from aggregate statistics.","source":"https://kosis.kr/openapi/"},{"id":"kakao-map","category":"Map / local search","name":"Kakao Maps and Local APIs","status":"private-key","cost":"Developer quota; paid use may apply","use":"Interactive map, geocoding and local-place candidates.","credentials":["KAKAO_REST_API_KEY","NEXT_PUBLIC_KAKAO_JS_KEY"],"decision":"Connect for map UI","caveat":"Use only permitted endpoints and caching; verify current quota and billing in the Kakao app console.","source":"https://developers.kakao.com/docs/ko/kakaomap/common"},{"id":"naver-map","category":"Map / routing","name":"NAVER Cloud Maps","status":"private-key","cost":"Cloud account · usage billing","use":"Alternative Korean map, geocoding and routing coverage.","credentials":["NAVER_MAP_CLIENT_ID","NAVER_MAP_CLIENT_SECRET"],"decision":"Choose after Kakao/VWorld test","caveat":"Do not confuse a maps license with rights to NAVER property-listing content.","source":"https://www.ncloud.com/product/applicationService/maps"},{"id":"tmap","category":"Routing","name":"T map OpenAPI","status":"private-key","cost":"App key · product-specific quota/contract","use":"Vehicle routes, time and installation-gate commute comparisons.","credentials":["TMAP_APP_KEY"],"decision":"Needed for gate/time commute","caveat":"Route results vary by departure time and cannot be promised as a fixed commute.","source":"https://openapi.sk.com/"},{"id":"odsay","category":"Public transit","name":"ODsay LAB transit API","status":"private-key","cost":"Developer/contract plan","use":"Public-transit itinerary candidates across Korean cities.","credentials":["ODSAY_API_KEY"],"decision":"Compare with map-provider routes","caveat":"Confirm redistribution, caching and commercial-plan terms before production.","source":"https://lab.odsay.com/"},{"id":"openai","category":"Multilingual intelligence","name":"OpenAI API","status":"private-key","cost":"Usage billed","use":"Translate visitor chat into Korean for staff, translate Korean replies back to the member language, bound foreign-language DB queries, explain results and create source-backed guide drafts.","credentials":["OPENAI_API_KEY","OPENAI_MODEL","SUPPORT_TRANSLATION_MODEL","GUIDE_AUTOMATION_SECRET"],"decision":"Connect for GPT mode","caveat":"DB/source evidence remains authoritative; redact personal data and label model-generated output and freshness.","source":"https://platform.openai.com/docs"},{"id":"supabase-auth","category":"Identity","name":"Supabase Auth + Google/Kakao/Naver/email","status":"private-key","cost":"Managed service and provider quotas","use":"Member identity, email confirmation/reset and provider linking; PDI D1 keeps business roles and cases.","credentials":["SUPABASE_URL","SUPABASE_PUBLISHABLE_KEY","GOOGLE_OAUTH_CLIENT_ID","GOOGLE_OAUTH_CLIENT_SECRET","KAKAO_CLIENT_ID","KAKAO_CLIENT_SECRET","NAVER_CLIENT_ID","NAVER_CLIENT_SECRET","SMTP_URL"],"decision":"Required before public launch","caveat":"Passwords and OAuth tokens stay with the auth provider; Naver must pass a live custom-provider profile test.","source":"https://supabase.com/docs/guides/auth"},{"id":"payments","category":"Payments","name":"Toss Payments or PortOne payment orchestration","status":"private-key","cost":"Merchant review and transaction fees","use":"Fixed reports, memberships, quote acceptance, receipts, cancellations and refunds.","credentials":["PAYMENT_PROVIDER","PAYMENT_CLIENT_KEY","PAYMENT_SECRET_KEY","PAYMENT_WEBHOOK_SECRET"],"decision":"Required before checkout","caveat":"Activate only after merchant approval, terms, refund policy, webhook signature and idempotency tests.","source":"https://docs.tosspayments.com/"},{"id":"korean-listings","category":"Housing supply","name":"NAVER / Zigbang / Dabang listing inventory","status":"blocked-rights","cost":"Commercial data agreement required","use":"Candidate supply only after a licensed/authorized feed or user-supplied link analysis route exists.","credentials":[],"decision":"Do not scrape/rehost by default","caveat":"Robots access is not content permission. Preserve source, rights, checked time and use an authorized contract or provider-submitted inventory."},{"id":"naver-shopping-deprecated","category":"Rental services","name":"Legacy NAVER Shopping Search API","status":"blocked-rights","cost":"Not a production option after 2026-07-31","use":"Do not design furniture or appliance discovery around this retired endpoint.","credentials":[],"decision":"Use contracted suppliers instead","caveat":"NAVER announced shopping/book/document search API retirement; a historic developer key is not a valid furniture-rental feed.","source":"https://developers.naver.com/notice/article/32973"},{"id":"realtor-feed","category":"Housing supply","name":"PDI verified realtor portal","status":"partner-feed","cost":"PDI contract · portal/CSV/API tier","use":"Licensed agents submit and refresh listings with rights attestation, price terms and availability confirmation.","credentials":["PARTNER_FEED_SIGNING_SECRET"],"decision":"Build as core proprietary supply","caveat":"A provider cannot self-verify or self-publish; stale listings are hidden automatically."},{"id":"rental-mobility","category":"Rental services","name":"Car-rental and mobility suppliers","status":"partner-feed","cost":"Contract/commission/CSV/API varies","use":"Vehicle class, driver eligibility, insurance inclusion, monthly total, delivery and extension comparison.","credentials":["RENTAL_PARTNER_FEED_KEY"],"decision":"Start with contracted quote feed","caveat":"Do not show live availability or final insurance coverage until the supplier confirms it."},{"id":"home-rental","category":"Rental services","name":"Furniture, appliance, internet, moving and cleaning suppliers","status":"partner-feed","cost":"Contract/CSV/manual quote","use":"Address-aware bundles and comparable total cost in a housing or arrival case.","credentials":["HOME_SERVICES_FEED_KEY"],"decision":"Start with normalized partner portal","caveat":"Many suppliers have no public API; record coverage, lead time, deposit, installation, cancellation and commission."},{"id":"accommodation","category":"Bridge stay","name":"Hotels and serviced residences","status":"partner-feed","cost":"Channel manager/OTA/direct contract","use":"Temporary lodging and long-stay bridge options for assignees, families and project teams.","credentials":["ACCOMMODATION_FEED_KEY"],"decision":"Use contracted inventory","caveat":"Separate legal lodging from residential leases and disclose cancellation, taxes, commission and confirmation status."},{"id":"insurance","category":"Insurance","name":"Licensed insurer/agency referral feed","status":"partner-feed","cost":"Licensed partnership required","use":"Route a defined need to an authorized party and track consent, quote status and handoff.","credentials":["INSURANCE_PARTNER_FEED_KEY"],"decision":"Licensed referral only","caveat":"PDI must not recommend or sell a regulated product outside its licensed role; disclose compensation and responsible entity."},{"id":"usfk-official","category":"USFK / PCS","name":"Installation and Housing Office official pages","status":"manual-official","cost":"No public production API identified","use":"Official-gate content, source date and staff recheck before PCS execution.","credentials":[],"decision":"Monitor manually with source log","caveat":"Never imply PDI is an official military channel or guarantee OHA/TLA/LQA, sponsorship or housing decisions.","source":"https://home.army.mil/humphreys/my-usag-humphreys/all-services/humphreys-housing-services-office"}]}