# Geocode Address — Mapbox

> Retrieves the geocoded location for a given address. See the documentation

- Key: `mapbox-geocode-address`
- Type: Action (Read-only)
- Version: 0.0.3
- App: Mapbox (`mapbox`) — https://pipedream.com/apps/mapbox.md
- This page (HTML): https://pipedream.com/apps/mapbox/actions/geocode-address
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/mapbox/actions/geocode-address/geocode-address.mjs

## Description

Retrieves the geocoded location for a given address. [See the documentation](https://docs.mapbox.com/api/search/geocoding/)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `address` | `string` | Yes | The address (or partial address) to geocode. This could be an address, a city name, etc. Must consist of at most 20 words and numbers separated by spacing and punctuation, and at most 256 characters. |
| `boundingBox` | `string` | No | Limit results to only those contained within the supplied bounding box. Bounding boxes should be supplied as four numbers separated by commas, in minLon,minLat,maxLon,maxLat order. The bounding box cannot cross the 180th meridian. You can use the Location Helper to find a bounding box for use with this API. |
| `proximity` | `string` | No | Bias the response to favor results that are closer to this location. Provided as two comma-separated coordinates in longitude,latitude order. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "mapbox",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "mapbox-geocode-address",
  arguments: {
    address: "Address",
    boundingBox: "Bounding Box",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "mapbox-geocode-address",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    mapbox: { authProvisionId: "apn_xxxxxxx" },
    address: "Address",
    boundingBox: "Bounding Box",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "mapbox-geocode-address",
    "configured_props": {
      "mapbox": { "authProvisionId": "apn_xxxxxxx" },
      "address": "Address",
      "boundingBox": "Bounding Box"
    }
  }'
```

---

- App: https://pipedream.com/apps/mapbox.md · All apps: https://pipedream.com/apps
