This topic covers the Esri attribution and data attribution requirements for applications that display a static map

Esri attribution
Esri attribution
Display requirements
Requirements
- If it is not possible to show the full Powered by Esri text due to the size of the image or UI constraints, at minimum the word Esri must be shown, whether as part of data attribution or standalone.
- The text must not be covered or obstructed by other UI elements.
- The text must be easily discoverable.
Recommendations
- Position text at the bottom-right of the application.
- Use Esri's data attribution design:
- Font family:
"Avenir Next W00"," Helvetica Neue", Helvetica, Arial,sans-serif; - Font color:
#323232(100% opacity) - Background color:
#ffffff(65% opacity)
- Font family:
Examples
The following are acceptable examples of displaying Esri attribution in applications that contain a static map image from the ArcGIS Static Maps service.
Default (attribution=auto) | No attribution (attribution=none) |
|---|---|
|
|
Data attribution
Display requirements
Data attributionattribution=none is specified, data attribution must be retrieved and added manually according to the following display requirements.
Requirements
- Display names near the map, within an accessible UI, or in another accessible location within the application, such as a Credits/Attribution page, legal section, or footer text.
- Provide an expandable UI to display all names when they can not be displayed on small screens.
- Do not obstruct names with other logo or visual elements.
- Frequently verify names as data source providers can change.
Recommendations
- Position names at the bottom of the map when possible.
- Prefix names with
Sourcesor: Name A, Name B... Images on this application are sourced from Name A, Name B.... - Use fonts and colors that meet accessibility guidelines.
- Use Esri's data attribution design:
- Font family:
"Avenir Next W00"," Helvetica Neue", Helvetica, Arial,sans-serif; - Font color:
#323232(100% opacity) - Background color:
#ffffff(65% opacity) - Font size: 12px or larger.
- Font family:
Below is an example of a string with multiple data source names:
Sources
Get attribution from the service
The steps to get data attribution text from the ArcGIS Static Maps service are:
- Make a request to the
/attributionendpoint of the ArcGIS Static Maps service. - Display the retrieved attribution text on your application following the requirements above.
Below is an example of how to get the data attribution from the Static Maps service:
curl -X GET "https://static-maps-api.arcgis.com/arcgis/rest/services/static-maps-service/v1/static-maps/arcgis/navigation/attribution?token=<ACCESS_TOKEN>" \
-H 'Accept: application/json'Examples
The following are acceptable examples of displaying data attribution associated with a static map:
| Default (Light) | Dark |
|---|---|
|
|
| Below the map | Collapsed/Expanded |
|---|---|
| ![]() |
| Website footer | |
|---|---|
|
Code examples
The following examples show how to correctly display both Esri attribution and data attribution. The steps required depend on the API you are using.
Display attribution for a static map
This example shows the default attribution behavior when using the ArcGIS Static Maps service. The service returns a static map that includes proper Esri and data attribution embedded within it.
Steps
- Make a request to the ArcGIS Static Maps service endpoint with the desired parameters, such as basemap style, location, and symbols.
- Display the static map in your application or website.
<script>
const basemapStyle = "arcgis/imagery";
const accessToken = "YOUR_ACCESS_TOKEN";
const lat = 34.0567;
const lon = -117.1956;
const img = document.getElementById("mapImage");
fetch(
`https://static-maps-api.arcgis.com/arcgis/rest/services/static-maps-service/v1/static-maps/${basemapStyle}/with-point?x=${lon}&y=${lat}&symbolStyle=pin&width=700&height=300`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
},
}
)
.then((response) => response.blob())
.then((blob) => {
img.src = URL.createObjectURL(blob);
});
</script>
Get data attribution for a static map
This example shows manual attribution handling when using the ArcGIS Static Maps service. If you don't want data attribution to be included in the static map image, specify attribution=none in the request. The image will display only the Esri attribution text. You must then retrieve data attribution manually from the /attribution endpoint and render it in the application UI alongside the static map image. To see acceptable examples of displaying data attribution, see Data attribution examples.
Steps
- Make a request to the ArcGIS Static Maps service endpoint with the desired parameters, such as basemap style, location, and symbols.
- Set
attribution=nonein the query or body parameters to exclude data attribution from the returned static map. - Make a request to the
/attributionendpoint of the ArcGIS Static Maps service to retrieve the data attribution text in JSON format. - Display the retrieved data attribution text in your application or website, following the display requirements.
<script>
const basemapStyle = "arcgis/imagery";
const accessToken = "YOUR_ACCESS_TOKEN";
const attributionDiv = document.getElementById("attribution");
const lat = 34.0567;
const lon = -117.1956;
fetch(
`https://static-maps-api.arcgis.com/arcgis/rest/services/static-maps-service/v1/static-maps/${basemapStyle}/with-point?x=${lon}&y=${lat}&symbolStyle=pin&width=700&height=300&attribution=none`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
},
}
)
.then((response) => response.blob())
.then((blob) => {
document.getElementById("mapImage").src = URL.createObjectURL(blob);
});
async function loadAttribution() {
const res = await fetch(
`https://static-maps-api.arcgis.com/arcgis/rest/services/static-maps-service/v1/static-maps/${basemapStyle}/attribution?token=${accessToken}`
);
const data = await res.json();
attributionDiv.innerHTML = data.attribution;
attributionDiv.style.display = "block";
}
loadAttribution();
</script>
