{"openapi":"3.1.0","info":{"title":"Kakao Local (BYOK) API","version":"0.1.0","description":"Kakao Local (BYOK) lets an AI assistant read your own Kakao Local data through the Kakao Local API with a key you supply (Kakao REST API key). Read-only: 6 tools (search_address, coords_to_region, coords_to_address, transform_coordinates, search_places_by_keyword, search_places_by_category). The BYOK key travels with each request, is used for that one call only and is never stored, logged or...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-kakaomaps.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-kakaomaps/docs"},"termsOfService":"https://connectorbay.com/byok-kakaomaps/terms"},"servers":[{"url":"https://byok-kakaomaps.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-kakaomaps/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_address":{"post":{"operationId":"search_address","summary":"Convert a Korean land-lot or road-name address into coordinates, with the full address, region parts, zip code and build","description":"Convert a Korean land-lot or road-name address into coordinates, with the full address, region parts, zip code and building name. Use for \"What are the coordinates of the address 전북 삼성동 100\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Address to look up, for example '전북 삼성동 100'.","maxLength":200,"title":"Query","type":"string"},"analyze_type":{"anyOf":[{"enum":["similar","exact"],"type":"string"},{"type":"null"}],"default":"similar","description":"similar (default) returns broad matches, exact returns exact matches of the typed address.","title":"Analyze Type"},"page":{"anyOf":[{"maximum":45,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, 1 to 45 (default 1).","title":"Page"},"size":{"anyOf":[{"maximum":30,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Results per page, 1 to 30 (default 10).","title":"Size"}},"required":["query"],"title":"search_addressArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/coords_to_region":{"post":{"operationId":"coords_to_region","summary":"Convert a coordinate in Korea into its administrative (H) and legal (B) region names and codes. Use for \"Which Korean ad","description":"Convert a coordinate in Korea into its administrative (H) and legal (B) region names and codes. Use for \"Which Korean administrative district is at longitude 127.1086228, latitude 37.4012191\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"x":{"description":"Longitude (X coordinate) of the point.","title":"X","type":"number"},"y":{"description":"Latitude (Y coordinate) of the point.","title":"Y","type":"number"},"input_coord":{"anyOf":[{"enum":["WGS84","WCONGNAMUL","CONGNAMUL","WTM","TM"],"type":"string"},{"type":"null"}],"default":"WGS84","description":"Coordinate system of x and y (default WGS84).","title":"Input Coord"},"output_coord":{"anyOf":[{"enum":["WGS84","WCONGNAMUL","CONGNAMUL","WTM","TM"],"type":"string"},{"type":"null"}],"default":"WGS84","description":"Coordinate system of the result (default WGS84).","title":"Output Coord"}},"required":["x","y"],"title":"coords_to_regionArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/coords_to_address":{"post":{"operationId":"coords_to_address","summary":"Convert a coordinate in Korea into its land-lot address and road-name address (a road address may be missing). Use for \"","description":"Convert a coordinate in Korea into its land-lot address and road-name address (a road address may be missing). Use for \"What is the address at longitude 127.423084873712, latitude 37.0789561558879\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"x":{"description":"Longitude (X coordinate) of the point.","title":"X","type":"number"},"y":{"description":"Latitude (Y coordinate) of the point.","title":"Y","type":"number"},"input_coord":{"anyOf":[{"enum":["WGS84","WCONGNAMUL","CONGNAMUL","WTM","TM"],"type":"string"},{"type":"null"}],"default":"WGS84","description":"Coordinate system of x and y (default WGS84).","title":"Input Coord"}},"required":["x","y"],"title":"coords_to_addressArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/transform_coordinates":{"post":{"operationId":"transform_coordinates","summary":"Convert a point from one Korean or global coordinate system to another, for example WTM to WGS84. Use for \"Convert WTM c","description":"Convert a point from one Korean or global coordinate system to another, for example WTM to WGS84. Use for \"Convert WTM coordinates 160710.37, -4388.88 to WGS84 longitude and latitude\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"x":{"description":"Longitude (X coordinate) of the point.","title":"X","type":"number"},"y":{"description":"Latitude (Y coordinate) of the point.","title":"Y","type":"number"},"input_coord":{"anyOf":[{"enum":["WGS84","WCONGNAMUL","CONGNAMUL","WTM","TM","KTM","UTM","BESSEL","WKTM","WUTM"],"type":"string"},{"type":"null"}],"default":"WGS84","description":"Coordinate system of x and y (default WGS84).","title":"Input Coord"},"output_coord":{"anyOf":[{"enum":["WGS84","WCONGNAMUL","CONGNAMUL","WTM","TM","KTM","UTM","BESSEL","WKTM","WUTM"],"type":"string"},{"type":"null"}],"default":"WGS84","description":"Coordinate system of the result (default WGS84).","title":"Output Coord"}},"required":["x","y"],"title":"transform_coordinatesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_places_by_keyword":{"post":{"operationId":"search_places_by_keyword","summary":"Search places in Korea by keyword (name, brand or type), optionally near a point, inside a rectangle or limited to a cat","description":"Search places in Korea by keyword (name, brand or type), optionally near a point, inside a rectangle or limited to a category group; results include address, phone, category and a Kakao Map link. Use for \"Find Kakao Friends stores within 20 km of Samsung-dong, Gangnam-gu, Seoul\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Search keyword, for example '카카오프렌즈' or 'pharmacy'.","maxLength":200,"title":"Query","type":"string"},"category_group_code":{"anyOf":[{"enum":["MT1","CS2","PS3","SC4","AC5","PK6","OL7","SW8","BK9","CT1","AG2","PO3","AT4","AD5","FD6","CE7","HP8","PM9"],"type":"string"},{"type":"null"}],"default":null,"description":"Place category group code: MT1 supermarket, CS2 convenience store, PS3 daycare or kindergarten, SC4 school, AC5 private academy, PK6 parking lot, OL7 gas station, SW8 subway station, BK9 bank, CT1 cultural facility, AG2 real estate agency, PO3 public institution, AT4 tourist attraction, AD5 accommodation, FD6 restaurant, CE7 cafe, HP8 hospital, PM9 pharmacy.","title":"Category Group Code"},"x":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Longitude of the search centre; use with y and radius.","title":"X"},"y":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Latitude of the search centre; use with x and radius.","title":"Y"},"radius":{"anyOf":[{"maximum":20000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Distance from the centre in metres, 0 to 20000.","title":"Radius"},"rect":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Rectangle to search in, as 'left_x,top_y,right_x,bottom_y' (longitude, latitude of two corners).","title":"Rect"},"sort":{"anyOf":[{"enum":["accuracy","distance"],"type":"string"},{"type":"null"}],"default":"accuracy","description":"accuracy (default) or distance (needs x and y).","title":"Sort"},"page":{"anyOf":[{"maximum":45,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, 1 to 45 (default 1).","title":"Page"},"size":{"anyOf":[{"maximum":15,"minimum":1,"type":"integer"},{"type":"null"}],"default":15,"description":"Results per page, 1 to 15 (default 15).","title":"Size"}},"required":["query"],"title":"search_places_by_keywordArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_places_by_category":{"post":{"operationId":"search_places_by_category","summary":"List places of one category group (such as pharmacies, cafes or subway stations) around a point or inside a rectangle in","description":"List places of one category group (such as pharmacies, cafes or subway stations) around a point or inside a rectangle in Korea. Give either x, y and radius, or rect. Use for \"Which pharmacies are within 1 km of longitude 127.059, latitude 37.506\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category_group_code":{"description":"Place category group code: MT1 supermarket, CS2 convenience store, PS3 daycare or kindergarten, SC4 school, AC5 private academy, PK6 parking lot, OL7 gas station, SW8 subway station, BK9 bank, CT1 cultural facility, AG2 real estate agency, PO3 public institution, AT4 tourist attraction, AD5 accommodation, FD6 restaurant, CE7 cafe, HP8 hospital, PM9 pharmacy.","enum":["MT1","CS2","PS3","SC4","AC5","PK6","OL7","SW8","BK9","CT1","AG2","PO3","AT4","AD5","FD6","CE7","HP8","PM9"],"title":"Category Group Code","type":"string"},"x":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Longitude of the search centre; use with y and radius.","title":"X"},"y":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Latitude of the search centre; use with x and radius.","title":"Y"},"radius":{"anyOf":[{"maximum":20000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Distance from the centre in metres, 0 to 20000.","title":"Radius"},"rect":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Rectangle to search in, as 'left_x,top_y,right_x,bottom_y' (longitude, latitude of two corners).","title":"Rect"},"sort":{"anyOf":[{"enum":["accuracy","distance"],"type":"string"},{"type":"null"}],"default":"accuracy","description":"accuracy (default) or distance (needs x and y).","title":"Sort"},"page":{"anyOf":[{"maximum":45,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, 1 to 45 (default 1).","title":"Page"},"size":{"anyOf":[{"maximum":15,"minimum":1,"type":"integer"},{"type":"null"}],"default":15,"description":"Results per page, 1 to 15 (default 15).","title":"Size"}},"required":["category_group_code"],"title":"search_places_by_categoryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}