diff --git src/wp-includes/class-oembed.php src/wp-includes/class-oembed.php
index 052a215..b0a4c6c 100644
--- src/wp-includes/class-oembed.php
+++ src/wp-includes/class-oembed.php
@@ -47,6 +47,15 @@ class WP_oEmbed {
 	private $compat_methods = array( '_fetch_with_format', '_parse_json', '_parse_xml', '_parse_body' );
 
 	/**
+	 * Regex used to handle Amazon oEmbed requests.
+	 *
+	 * @since  4.7.0
+	 * @access public
+	 * @var string
+	 */
+	public static $oembed_amazon_format = '#https?://([a-z0-9-]+\.)?amazon\.(com|co\.uk|de|fr|it|es|co\.jp|cn|com\.au|in|com\.mx|com\.br|ca|nl|ru)/.*#i';
+
+	/**
 	 * Constructor.
 	 *
 	 * @since 2.9.0
@@ -104,6 +113,14 @@ class WP_oEmbed {
 			'#https?://www\.facebook\.com/notes/.*#i'             => array( 'https://www.facebook.com/plugins/post/oembed.json/',        true  ),
 			'#https?://www\.facebook\.com/.*/videos/.*#i'         => array( 'https://www.facebook.com/plugins/video/oembed.json/',       true  ),
 			'#https?://www\.facebook\.com/video\.php.*#i'         => array( 'https://www.facebook.com/plugins/video/oembed.json/',       true  ),
+			self::$oembed_amazon_format                           => array( 'https://read.amazon.com/kp/api/oembed',                     true  ),
+			'#https?://(www\.)?a.co/.*#i'                         => array( 'https://read.amazon.com/kp/api/oembed',                     true  ),
+			'#https?://(www\.)?amz.onl/.*#i'                      => array( 'https://read.amazon.com/kp/api/oembed',                     true  ),
+			'#https?://(www\.)?amzn.to/.*#i'                      => array( 'https://read.amazon.com/kp/api/oembed',                     true  ),
+			'#https?://(www\.)?amzn.eu/.*#i'                      => array( 'https://read.amazon.co.uk/kp/api/oembed',                   true  ),
+			'#https?://(www\.)?amzn.in/.*#i'                      => array( 'https://read.amazon.in/kp/api/oembed',                      true  ),
+			'#https?://(www\.)?amzn.asia/.*#i'                    => array( 'https://read.amazon.com.au/kp/api/oembed',                  true  ),
+			'#https?://(www\.)?z.cn/.*#i'                         => array( 'https://read.amazon.cn/kp/api/oembed',                      true  ),
 		);
 
 		if ( ! empty( self::$early_providers['add'] ) ) {
@@ -174,6 +191,13 @@ class WP_oEmbed {
 		 * | Twitter      | twitter.com/timelines |      Yes       | 4.5.0     |
 		 * | Twitter      | twitter.com/moments   |      Yes       | 4.5.0     |
 		 * | Facebook     | facebook.com          |      Yes       | 4.7.0     |
+		 * | Amazon Kindle| a.co                  |      Yes       | 4.7.0     |
+		 * | Amazon Kindle| amzn.onl              |      Yes       | 4.7.0     |
+		 * | Amazon Kindle| amzn.to               |      Yes       | 4.7.0     |
+		 * | Amazon Kindle| amzn.eu               |      Yes       | 4.7.0     |
+		 * | Amazon Kindle| amzn.in               |      Yes       | 4.7.0     |
+		 * | Amazon Kindle| amzn.asia             |      Yes       | 4.7.0     |
+		 * | Amazon Kindle| z.cn                  |      Yes       | 4.7.0     |
 		 *
 		 * No longer supported providers:
 		 *
@@ -683,4 +707,60 @@ class WP_oEmbed {
 
 		return str_replace( $tokens, $pre, $stripped );
 	}
+
+	/**
+	 * Checks if the given URL is an Amazon URL, and if so, alters the
+	 * provider's subdomain and TLD to match the URL's TLD.
+	 *
+	 * These transformations are applied to the oEmbed endpoint served by
+	 * one of the read.amazon.com regionalized domains, which services all
+	 * *.amazon.* URLs for the corresponding region.
+	 *
+	 * This method ensures that oEmbed requests for different Amazon
+	 * marketplaces (.com, .de, .jp, etc) are routed to the correct oEmbed
+	 * endpoint for those marketplaces.
+	 *
+	 * @since  4.7.0
+	 * @access public
+	 *
+	 * @param string $provider The URL to the default oEmbed provider.
+	 * @param string $url      The URL to the content that is desired to be embedded.
+	 * @return string The URL to the oEmbed provider.
+	 */
+	public function _match_amazon_tld( $provider, $url ) {
+		if ( 1 !== preg_match( self::$oembed_amazon_format, $url, $matches ) ) {
+			return $provider;
+		}
+
+		$tld = $matches[2];
+		switch ( $tld ) {
+			case 'de':
+				$subdomain = 'lesen';
+				break;
+			case 'fr':
+				$subdomain = 'lire';
+				break;
+			case 'it':
+				$subdomain = 'leggi';
+				break;
+			case 'es':
+			case 'com.mx':
+				$subdomain = 'leer';
+				break;
+			case 'com.br':
+				$subdomain = 'ler';
+				break;
+			case 'nl':
+				$subdomain = 'lezen';
+				break;
+			default:
+				$subdomain = 'read';
+		}
+
+		return preg_replace(
+			'#^https://read.amazon.com/#',
+			sprintf( 'https://%s.amazon.%s/', $subdomain, $tld ),
+			$provider
+		);
+	}
 }
