diff --git a/openrouteservice/isochrones.py b/openrouteservice/isochrones.py
index 5e6850c..14a8d73 100644
--- a/openrouteservice/isochrones.py
+++ b/openrouteservice/isochrones.py
@@ -20,16 +20,17 @@ from openrouteservice import convert
 
 
 def isochrones(client, locations,
-                    profile='driving-car',
-                    range_type=None,
-                    intervals=[60],
-                    segments=30,
-                    units=None,
-                    location_type=None,
-                    attributes=None,
-                    #options=None,
-                    intersections=None,
-                    dry_run=None):
+               profile='driving-car',
+               range_type=None,
+               intervals=[60],
+               segments=30,
+               units=None,
+               location_type=None,
+               smoothing=None,
+               attributes=None,
+               # options=None,
+               intersections=None,
+               dry_run=None):
     """ Gets travel distance and time for a matrix of origins and destinations.
 
     :param locations: One pair of lng/lat values.
@@ -65,6 +66,10 @@ def isochrones(client, locations,
         'destination' as goal. Default 'start'.
     :type location_type: string
 
+    :param smoothing: Applies a level of generalisation to the isochrone polygons generated.
+        Value between 0 and 1, whereas a value closer to 1 will result in a more generalised shape.
+    :type smoothing: float
+
     :param attributes: 'area' returns the area of each polygon in its feature
         properties. 'reachfactor' returns a reachability score between 0 and 1.
         'total_pop' returns population statistics from https://ghsl.jrc.ec.europa.eu/about.php.
@@ -120,6 +125,9 @@ def isochrones(client, locations,
     if location_type:
         params["location_type"] = location_type
 
+    if smoothing:
+        params["smoothing"] = convert._format_float(smoothing)
+
     if attributes:
         params["attributes"] = convert._pipe_list(attributes)
 

Implement smoothing parameter for isochrone endpoint
diff --git a/test/test_client.py b/test/test_client.py
index e45e60d..12aeb1a 100644
--- a/test/test_client.py
+++ b/test/test_client.py
@@ -74,19 +74,13 @@ class ClientTest(_test.TestCase):
         # Assume more queries_per_minute than allowed by API policy and 
         # don't allow retries if API throws 'rate exceeded' error, which 
         # should be caught.
-        queries_per_minute = 60
+        queries_per_minute = 110
         query_range = range(queries_per_minute * 2)
-        
-        for _ in query_range:
-            responses.add(responses.GET,
-                          'https://api.openrouteservice.org/directions',
-                          body='{"status":"OK","results":[]}',
-                          status=200,
-                          content_type='application/json')
             
-        client = openrouteservice.Client(key='58d904a497c67e00015b45fcb6f22c2dd2774733ad9f56f9662de7d3',
+        client = openrouteservice.Client(key='5b3ce3597851110001cf624870cf2f2a58d44c718542b3088221b684',
                                    queries_per_minute=queries_per_minute,
                                    retry_over_query_limit=False)
+        
         with self.assertRaises(openrouteservice.exceptions._OverQueryLimit):
             for _ in query_range:
                 client.directions(self.coords_valid)
diff --git a/test/test_distance_matrix.py b/test/test_distance_matrix.py
index db4c0f9..46d8f86 100644
--- a/test/test_distance_matrix.py
+++ b/test/test_distance_matrix.py
@@ -56,7 +56,7 @@ class DistanceMatrixTest(_test.TestCase):
                                      destinations=destinations)
 
         self.assertEqual(1, len(responses.calls))
-        self.assertURLEqual('https://api.openrouteservice.org/matrix?api_key={}'.format(self.key),
+        self.assertURLEqual('https://api.openrouteservice.org/matrix?api_key={}&profile=driving-car'.format(self.key),
                             responses.calls[0].request.url)
 
     @responses.activate
@@ -93,6 +93,6 @@ class DistanceMatrixTest(_test.TestCase):
         resp = self.client.distance_matrix(**query)
 
         self.assertEqual(1, len(responses.calls))
-        self.assertURLEqual('https://api.openrouteservice.org/matrix?api_key={}'.format(self.key),
+        self.assertURLEqual('https://api.openrouteservice.org/matrix?api_key={}&profile=cycling-regular'.format(self.key),
                             responses.calls[0].request.url)
         self.assertEqual(resp, payload)
\ No newline at end of file
diff --git a/test/test_isochrones.py b/test/test_isochrones.py
index 0f9b574..b83bb21 100644
--- a/test/test_isochrones.py
+++ b/test/test_isochrones.py
@@ -71,6 +71,7 @@ class DistanceMatrixTest(_test.TestCase):
                                            intervals=[1000,2000],
                                            units='m',
                                            location_type='destination',
+                                           smoothing=0.5,
                                            attributes=['area', 'reachfactor']
                                            )
 
@@ -81,5 +82,6 @@ class DistanceMatrixTest(_test.TestCase):
                             '%2C38.106467%7C8.34234%2C48.23424&profile=cycling-regular&'
                             'range_type=distance&range=1000%2C2000&'
                             'units=m&location_type=destination&'
+                            'smoothing=0.5&'
                             'attributes=area|reachfactor&interval=30'.format(self.key),
                             responses.calls[0].request.url)
\ No newline at end of file

pip install -e .
parse_log_pytest
requirements.txt
nose responses mock pytest
3.6
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
charset-normalizer==2.0.12
idna==3.10
importlib-metadata==4.8.3
iniconfig==1.1.1
mock==5.2.0
nose==1.3.7
-e git+https://github.com/GIScience/openrouteservice-py.git@0d3a56f242f668429f91f87dc9b4e7baf4fc581c#egg=openrouteservice
packaging==21.3
pluggy==1.0.0
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
requests==2.27.1
responses==0.17.0
six==1.17.0
tomli==1.2.3
typing_extensions==4.1.1
urllib3==1.26.20
zipp==3.6.0

name: openrouteservice-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
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - 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=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - charset-normalizer==2.0.12
      - idna==3.10
      - importlib-metadata==4.8.3
      - iniconfig==1.1.1
      - mock==5.2.0
      - nose==1.3.7
      - packaging==21.3
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - requests==2.27.1
      - responses==0.17.0
      - six==1.17.0
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - zipp==3.6.0
prefix: /opt/conda/envs/openrouteservice-py

test/test_isochrones.py::DistanceMatrixTest::test_all_params
test/test_client.py::ClientTest::test_overquerylimit_error test/test_distance_matrix.py::DistanceMatrixTest::test_invalid_sources_destinations test/test_isochrones.py::DistanceMatrixTest::test_too_many_locations
test/test_client.py::ClientTest::test_dry_run test/test_client.py::ClientTest::test_host_override_with_parameters test/test_client.py::ClientTest::test_invalid_api_key test/test_client.py::ClientTest::test_no_api_key test/test_client.py::ClientTest::test_queries_per_minute_sleep_function test/test_client.py::ClientTest::test_raise_timeout_retriable_requests test/test_client.py::ClientTest::test_urlencode test/test_distance_matrix.py::DistanceMatrixTest::test_all_params test/test_distance_matrix.py::DistanceMatrixTest::test_basic_params test/test_isochrones.py::DistanceMatrixTest::test_basic_params test/test_isochrones.py::DistanceMatrixTest::test_units_with_time
openrouteservice/isochrones.py
openrouteservice/isochrones.py