diff --git a/README.rst b/README.rst
index c20b789..8b6cf8a 100644
--- a/README.rst
+++ b/README.rst
@@ -75,7 +75,7 @@ To run the examples as integration tests on your own Mapbox account
 
 .. code:: bash
 
-    MAPBOX_ACCESS_TOKEN="MY_ACCESS_TOKEN" py.test --doctest-glob='*.md' *.md
+    MAPBOX_ACCESS_TOKEN="MY_ACCESS_TOKEN" py.test --doctest-glob='*.md' docs/*.md
 
 See Also
 ========
diff --git a/docs/geocoding.md b/docs/geocoding.md
index 3586829..01d57c6 100644
--- a/docs/geocoding.md
+++ b/docs/geocoding.md
@@ -129,6 +129,24 @@ Place results may be biased toward a given longitude and latitude.
 
 ```
 
+## Forward geocoding with bounding box
+
+Place results may be limited to those falling within a given bounding box.
+
+```python
+
+>>> response = geocoder.forward(
+...     "washington", bbox=[-78.338320,38.520792,-77.935454,38.864909])
+>>> response.status_code
+200
+>>> first = response.geojson()['features'][0]
+>>> first['place_name']
+'Washington, Virginia, United States'
+>>> first['geometry']['coordinates']
+[-78.1594, 38.7135]
+
+```
+
 ## Reverse geocoding
 
 Places at a longitude, latitude point may be found using `Geocoder.reverse()`.
diff --git a/mapbox/services/geocoding.py b/mapbox/services/geocoding.py
index ef7174f..e357a04 100644
--- a/mapbox/services/geocoding.py
+++ b/mapbox/services/geocoding.py
@@ -36,7 +36,7 @@ class Geocoder(Service):
                 raise InvalidPlaceTypeError(pt)
         return {'types': ",".join(types)}
 
-    def forward(self, address, types=None, lon=None, lat=None, country=None):
+    def forward(self, address, types=None, lon=None, lat=None, country=None, bbox=None):
         """Returns a Requests response object that contains a GeoJSON
         collection of places matching the given address.
 
@@ -46,7 +46,7 @@ class Geocoder(Service):
         Place results may be constrained to those of one or more types
         or be biased toward a given longitude and latitude.
 
-        See: https://www.mapbox.com/developers/api/geocoding/#forward."""
+        See: https://www.mapbox.com/api-documentation/#geocoding."""
         uri = URITemplate(self.baseuri + '/{dataset}/{query}.json').expand(
             dataset=self.name, query=address.encode('utf-8'))
         params = {}
@@ -58,6 +58,8 @@ class Geocoder(Service):
             params.update(proximity='{0},{1}'.format(
                 round(float(lon), self.precision.get('proximity', 3)),
                 round(float(lat), self.precision.get('proximity', 3))))
+        if bbox is not None:
+            params.update(bbox='{0},{1},{2},{3}'.format(*bbox))
         resp = self.session.get(uri, params=params)
         self.handle_http_error(resp)
 
@@ -75,7 +77,7 @@ class Geocoder(Service):
         `response.geojson()` returns the geocoding result as GeoJSON.
         `response.status_code` returns the HTTP API status code.
 
-        See: https://www.mapbox.com/developers/api/geocoding/#reverse."""
+        See: https://www.mapbox.com/api-documentation/#retrieve-places-near-a-location."""
         uri = URITemplate(self.baseuri + '/{dataset}/{lon},{lat}.json').expand(
             dataset=self.name,
             lon=str(round(float(lon), self.precision.get('reverse', 5))),

Support geocoding bbox parameter
diff --git a/tests/test_geocoder.py b/tests/test_geocoder.py
index e30504c..da98a3d 100644
--- a/tests/test_geocoder.py
+++ b/tests/test_geocoder.py
@@ -212,6 +212,23 @@ def test_geocoder_proximity_rounding():
     for coord in re.split(r'(%2C|,)', match.group(1)):
         assert _check_coordinate_precision(coord, 3)
 
+@responses.activate
+def test_geocoder_forward_bbox():
+    """Bbox parameter works"""
+
+    responses.add(
+        responses.GET,
+        'https://api.mapbox.com/geocoding/v5/mapbox.places/washington.json?bbox=-78.3284%2C38.6039%2C-78.0428%2C38.7841&access_token=pk.test',
+        match_querystring=True,
+        body='{"query": ["washington"]}', status=200,
+        content_type='application/json')
+
+    response = mapbox.Geocoder(
+        access_token='pk.test').forward(
+            'washington', bbox=(-78.3284,38.6039,-78.0428,38.7841))
+    assert response.status_code == 200
+    assert response.json()['query'] == ["washington"]
+
 @responses.activate
 def test_geocoder_reverse_rounding():
     """Reverse geocoding parameters are rounded to 5 decimal places"""

pip install -e .[test]
parse_log_pytest
pytest
pytest pytest-cov
pip install -U pip
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
boto3==1.37.23
botocore==1.37.23
CacheControl==0.14.2
cachetools==5.5.2
certifi==2025.1.31
chardet==5.2.0
charset-normalizer==3.4.1
click==8.1.8
click-plugins==1.1.1
cligj==0.7.2
colorama==0.4.6
coverage==7.8.0
coveralls==4.0.1
distlib==0.3.9
docopt==0.6.2
exceptiongroup @ file:///croot/exceptiongroup_1706031385326/work
filelock==3.18.0
idna==3.10
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
iso3166==2.1.1
jmespath==1.0.1
-e git+https://github.com/mapbox/mapbox-sdk-py.git@2f24f1661c1083959c4a0cbd2c1cb33139941a65#egg=mapbox
msgpack==1.1.0
packaging @ file:///croot/packaging_1734472117206/work
platformdirs==4.3.7
pluggy @ file:///croot/pluggy_1733169602837/work
pyproject-api==1.9.0
pytest @ file:///croot/pytest_1738938843180/work
pytest-cov==6.0.0
python-dateutil==2.9.0.post0
PyYAML==6.0.2
requests==2.32.3
responses==0.25.7
s3transfer==0.11.4
six==1.17.0
tomli==2.2.1
tox==4.25.0
typing_extensions==4.13.0
uritemplate==4.1.1
uritemplate.py==3.0.2
urllib3==1.26.20
virtualenv==20.29.3

name: mapbox-sdk-py
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - exceptiongroup=1.2.0=py39h06a4308_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - packaging=24.2=py39h06a4308_0
  - pluggy=1.5.0=py39h06a4308_0
  - pytest=8.3.4=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - boto3==1.37.23
      - botocore==1.37.23
      - cachecontrol==0.14.2
      - cachetools==5.5.2
      - certifi==2025.1.31
      - chardet==5.2.0
      - charset-normalizer==3.4.1
      - click==8.1.8
      - click-plugins==1.1.1
      - cligj==0.7.2
      - colorama==0.4.6
      - coverage==7.8.0
      - coveralls==4.0.1
      - distlib==0.3.9
      - docopt==0.6.2
      - filelock==3.18.0
      - idna==3.10
      - iso3166==2.1.1
      - jmespath==1.0.1
      - msgpack==1.1.0
      - pip==25.0.1
      - platformdirs==4.3.7
      - pyproject-api==1.9.0
      - pytest-cov==6.0.0
      - python-dateutil==2.9.0.post0
      - pyyaml==6.0.2
      - requests==2.32.3
      - responses==0.25.7
      - s3transfer==0.11.4
      - six==1.17.0
      - tomli==2.2.1
      - tox==4.25.0
      - typing-extensions==4.13.0
      - uritemplate==4.1.1
      - uritemplate-py==3.0.2
      - urllib3==1.26.20
      - virtualenv==20.29.3
prefix: /opt/conda/envs/mapbox-sdk-py

tests/test_geocoder.py::test_geocoder_forward_bbox
tests/test_geocoder.py::test_geocoder_default_name tests/test_geocoder.py::test_geocoder_name tests/test_geocoder.py::test_geocoder_forward tests/test_geocoder.py::test_geocoder_forward_geojson tests/test_geocoder.py::test_geocoder_reverse tests/test_geocoder.py::test_geocoder_reverse_geojson tests/test_geocoder.py::test_geocoder_place_types tests/test_geocoder.py::test_validate_country_codes_err tests/test_geocoder.py::test_validate_country tests/test_geocoder.py::test_validate_place_types_err tests/test_geocoder.py::test_validate_place_types tests/test_geocoder.py::test_geocoder_forward_types tests/test_geocoder.py::test_geocoder_reverse_types tests/test_geocoder.py::test_geocoder_forward_proximity tests/test_geocoder.py::test_geocoder_proximity_rounding tests/test_geocoder.py::test_geocoder_reverse_rounding tests/test_geocoder.py::test_geocoder_unicode
README.rst mapbox/services/geocoding.py docs/geocoding.md
README.rst mapbox/services/geocoding.py docs/geocoding.md