# Geographic Coordinate System Converter
Convert coordinates between WGS84, GCJ-02, and BD-09.
## API Overview
- **HTTP Protocol:** HTTPS
- **HTTP Method:** GET
- **HTTP Endpoint:** https://api.gugudata.io/v1/location/coordinateconverter
- **Response Type:** application/json; charset=utf-8
- **DEMO Endpoint:** https://api.gugudata.io/v1/location/coordinateconverter/demo
- **Live Demo:** https://gugudata.io/demo/coordinateconverter
- **Postman:** https://www.postman.com/gugudata/gugudata-io
- **LLM Page:** https://gugudata.io/details/coordinateconverter/llm
- **Raw Markdown:** https://gugudata.io/details/coordinateconverter/llm.md
## Remote MCP
- **MCP Endpoint:** https://mcp.gugudata.io/mcp
- **MCP Guide:** https://gugudata.io/mcp/
- **Authorization:** OAuth authorization opens in the browser; do not paste appkeys into MCP clients.
- **Tool Scope:** MCP clients receive GuGuData API tools available to the authorized account.
## Data & API Features
- WGS84, GCJ-02, and BD-09: Work with the three coordinate systems commonly encountered across global and China-focused map products.
- All source and target combinations: Convert between any supported pair, including same-system normalization when required.
- Consistent coordinate order: Receive every result in a predictable [longitude, latitude] array for safer integration.
- Map provider normalization: Align coordinates collected from international maps, China map providers, and location datasets.
- Geocoding and mobility workflows: Prepare location values for map display, navigation, delivery, fleet, and geospatial analysis.
- Safe out-of-region behavior: Preserve coordinates outside the applicable GCJ-02 region instead of applying an unsuitable offset.
## API Request Parameters
| Name | Type | Is Required | Default Value | Remark |
| --- | --- | --- | --- | --- |
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| from | string | true | WGS84 | Source coordinate system. Canonical values are `WGS84`, `GCJ02`, and `BD09`; matching is case-insensitive for compatibility. |
| to | string | true | GCJ02 | Target coordinate system. Canonical values are `WGS84`, `GCJ02`, and `BD09`; matching is case-insensitive for compatibility. |
| value | string | true | [120.54,32.74] | Coordinate pair in `[longitude,latitude]` format. Longitude must be between -180 and 180; latitude must be between -90 and 90. |
## API Response Parameters
| Name | Type | Remark |
| --- | --- | --- |
| dataStatus | object | Response metadata for the request. |
| dataStatus.requestParameter | string | Privacy-safe summary of the normalized request. |
| dataStatus.statusCode | integer | Application-level status code. |
| dataStatus.statusDescription | string | Human-readable application status message. |
| dataStatus.responseDateTime | string | Time at which the response was generated. |
| dataStatus.dataTotalCount | integer | Number of matching or returned records for this request. |
| data | object | Converted coordinate result. |
| data.coordinateFrom | string | Normalized source coordinate system. |
| data.coordinateTo | string | Normalized target coordinate system. |
| data.coordinateSourceValue | string | Validated source coordinate in `[longitude,latitude]` format. |
| data.coordinateDestinationValue | string | Converted coordinate in `[longitude,latitude]` format. |
## API Response Status Codes
| Status Code | Explanation of Status Code | Remarks |
| --- | --- | --- |
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
## cURL Example
```bash
curl --location 'https://api.gugudata.io/v1/location/coordinateconverter?appkey=YOUR_APPKEY&from=WGS84&to=GCJ02&value=%5B120.54%2C32.74%5D'
```