Fix:Kinesis:Timestamp in get records
diff --git a/localstack/services/kinesis/kinesis_listener.py b/localstack/services/kinesis/kinesis_listener.py
index 04d90dab6f623..d6196e53b953e 100644
--- a/localstack/services/kinesis/kinesis_listener.py
+++ b/localstack/services/kinesis/kinesis_listener.py
@@ -80,7 +80,6 @@ def return_response(self, method, path, data, headers, response):
         action = headers.get('X-Amz-Target')
         data = self.decode_content(data or '{}')
         response._content = self.replace_in_encoded(response.content or '')
-
         records = []
         if action in (ACTION_CREATE_STREAM, ACTION_DELETE_STREAM):
             event_type = (event_publisher.EVENT_KINESIS_CREATE_STREAM if action == ACTION_CREATE_STREAM
@@ -150,7 +149,7 @@ def return_response(self, method, path, data, headers, response):
 
             for record in records:
                 if sdk_v2:
-                    record['ApproximateArrivalTimestamp'] = int(record['ApproximateArrivalTimestamp'] * 1000)
+                    record['ApproximateArrivalTimestamp'] = int(record['ApproximateArrivalTimestamp'])
                 if not isinstance(record['Data'], str):
                     record['Data'] = base64.encodebytes(bytearray(record['Data']['data']))
 
diff --git a/tests/integration/test_kinesis.py b/tests/integration/test_kinesis.py
index 0026385eb6e58..c647ffac59755 100644
--- a/tests/integration/test_kinesis.py
+++ b/tests/integration/test_kinesis.py
@@ -1,6 +1,7 @@
 from datetime import datetime
 import logging
 import unittest
+from time import sleep
 from localstack.utils.aws import aws_stack
 from localstack.utils.common import retry, short_uid
 from localstack.utils.kinesis import kinesis_connector
@@ -41,6 +42,30 @@ def assert_consumers(count):
         client.deregister_stream_consumer(StreamARN=stream_arn, ConsumerName=consumer_name)
         assert_consumers(0)
 
+    def test_get_records(self):
+        client = aws_stack.connect_to_service('kinesis')
+        stream_name = 'test-%s' % short_uid()
+
+        client.create_stream(StreamName=stream_name, ShardCount=1)
+        sleep(3)
+        client.put_records(StreamName=stream_name, Records=[{'Data': 'SGVsbG8gd29ybGQ=', 'PartitionKey': '1'}])
+
+        response = client.describe_stream(StreamName=stream_name)
+
+        sequence_number = response.get('StreamDescription').get('Shards')[0].get('SequenceNumberRange'). \
+            get('StartingSequenceNumber')
+
+        shard_id = response.get('StreamDescription').get('Shards')[0].get('ShardId')
+
+        response = client.get_shard_iterator(StreamName=stream_name, ShardId=shard_id,
+                                             ShardIteratorType='AT_SEQUENCE_NUMBER',
+                                             StartingSequenceNumber=sequence_number)
+
+        response = client.get_records(ShardIterator=response.get('ShardIterator'))
+
+        self.assertEqual(len(response.get('Records')), 1)
+        self.assertIn('Data', response.get('Records')[0])
+
 
 class TestKinesisPythonClient(unittest.TestCase):
 

Fix:Kinesis:Timestamp in get records

https://github.com/localstack/localstack/issues/3488