Link to AMP Content
Stay organized with collections
Save and categorize content based on your preferences.
Use the AMP URL API
to match URLs to corresponding AMP URLs,
and serve the AMP versions instead.
Match URLs to AMP URLs
Request an AMP URL via:
POST https://acceleratedmobilepageurl.googleapis.com/v1/ampUrls:batchGet
List up to 50 URLs
as payload in the request body:
{"urls": [
"https://www.amp.dev",
"https://www.example.org/article-without-amp-version"
]}
All requests need to include a development key via X-Authorization header
( X-Goog-Api-Key: YOUR-DEVELOPER-KEY
).
The X-Authorization header value is case sensitive.
If you don't have a development key,
see Authorization
for setup instructions.
Example using curl:
curl -i -s -k -X POST -H "Content-Type: application/json" -H "X-Goog-Api-Key: " -d "{urls: ['https://example.com']}" "https://acceleratedmobilepageurl.googleapis.com/v1/ampUrls:batchGet"
Replace URLs with AMP URLs
The batchGet
method
returns the AMP URL mapping in JSON:
{
"ampUrls": [
{
"originalUrl": "https://example.com",
"ampUrl": "https://example.com",
"cdnAmpUrl":
"https://cdn.ampproject.org/c/s/example.com"
}
],
"urlErrors": [
{
"errorCode": "NO_AMP_URL",
"errorMessage": "AMP URL not found.",
"originalUrl": "http://www.example.com/no-amp-version.html"
}
]
}
Both the original AMP URL
and the one stored in the Google AMP Cache
get returned in the response body
.
We encourage you to use "cdnAmpUrl"
, instead of "ampUrl"
,
so that your application can have all the benefits of the Google AMP Cache
.
Set up redirects
Any time you move the location of AMP files on your server,
set up redirects from old locations to new locations.
The Google AMP Cache follows redirects when resolving AMP URLs.
If a URL redirects to another valid AMP URL,
the Google AMP Cache returns and caches the content of the resolved redirect.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-08-30 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-08-30 UTC."],[[["\u003cp\u003eUtilize the AMP URL API to find corresponding AMP URLs and serve those versions to users.\u003c/p\u003e\n"],["\u003cp\u003eThe API allows matching up to 50 URLs at once by sending a POST request with a JSON payload containing the URLs.\u003c/p\u003e\n"],["\u003cp\u003eInclude a developer key in the request header for authorization purposes.\u003c/p\u003e\n"],["\u003cp\u003eThe API response provides both the original AMP URL and the Google AMP Cache URL; prioritize using the cached version (\u003ccode\u003ecdnAmpUrl\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eImplement redirects for moved AMP files to ensure proper resolution by the Google AMP Cache.\u003c/p\u003e\n"]]],["To obtain AMP URLs, use the AMP URL API's `batchGet` method via a POST request to `acceleratedmobilepageurl.googleapis.com/v1/ampUrls:batchGet`. Include up to 50 URLs in the request body and a developer key in the `X-Goog-Api-Key` header. The response will provide a JSON mapping, including original and CDN AMP URLs. It's recommended to use `\"cdnAmpUrl\"`. Set up redirects for moved AMP files to ensure the Google AMP Cache resolves and caches the correct content.\n"],null,["# Link to AMP Content\n\nUse the [AMP URL API](/amp/cache/reference/acceleratedmobilepageurl/rest)\nto match URLs to corresponding AMP URLs,\nand serve the AMP versions instead.\n\nMatch URLs to AMP URLs\n----------------------\n\nRequest an AMP URL via: \n\n```\nPOST https://acceleratedmobilepageurl.googleapis.com/v1/ampUrls:batchGet\n```\n\nList [up to 50 URLs](/amp/cache/reference/limits)\nas payload in the request body: \n\n```\n{\"urls\": [\n \"https://www.amp.dev\",\n \"https://www.example.org/article-without-amp-version\"\n]}\n```\n| **Note:** The requested URLs do not need to be in their [canonical forms](https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/discovery).\n\n\nAll requests need to include a development key via X-Authorization header\n(`X-Goog-Api-Key: YOUR-DEVELOPER-KEY`).\nThe X-Authorization header value is case sensitive.\nIf you don't have a development key,\nsee [Authorization](/amp/cache/reference/authorizing) for setup instructions.\n\n\nExample using curl: \n\n```\ncurl -i -s -k -X POST -H \"Content-Type: application/json\" -H \"X-Goog-Api-Key: \" -d \"{urls: ['https://example.com']}\" \"https://acceleratedmobilepageurl.googleapis.com/v1/ampUrls:batchGet\"\n```\n\nReplace URLs with AMP URLs\n--------------------------\n\nThe [`batchGet` method](/amp/cache/reference/acceleratedmobilepageurl/rest/v1/ampUrls/batchGet)\nreturns the AMP URL mapping in JSON: \n\n```\n{ \n \"ampUrls\": [\n { \n \"originalUrl\": \"https://example.com\",\n \"ampUrl\": \"https://example.com\",\n \"cdnAmpUrl\": \n \"https://cdn.ampproject.org/c/s/example.com\"\n }\n ],\n \"urlErrors\": [\n { \n \"errorCode\": \"NO_AMP_URL\",\n \"errorMessage\": \"AMP URL not found.\",\n \"originalUrl\": \"http://www.example.com/no-amp-version.html\"\n }\n ]\n}\n```\n\n\nBoth the original AMP URL\nand the one stored in the Google AMP Cache\nget returned in the\n[response body](/amp/cache/reference/acceleratedmobilepageurl/rest/v1/ampUrls/batchGet#response-body).\nWe encourage you to use `\"cdnAmpUrl\"`, instead of `\"ampUrl\"`,\nso that your application can have all\n[the benefits of the Google AMP Cache](/amp/cache/overview).\n| **Note:** An error is thrown if no AMP URLs exist (see the [`AmpUrlError` reference](/amp/cache/reference/acceleratedmobilepageurl/rest/v1/ampUrls/batchGet#ampurlerror)).\n\nSet up redirects\n----------------\n\nAny time you move the location of AMP files on your server,\nset up redirects from old locations to new locations.\nThe Google AMP Cache follows redirects when resolving AMP URLs.\n\nIf a URL redirects to another valid AMP URL,\nthe Google AMP Cache returns and caches the content of the resolved redirect."]]