Esri requires that when you use ArcGIS basemaps, ArcGIS data services, or ArcGIS API technology in your app you must also include Esri attribution. There are specific requirements for attribution you may be required to address in your app depending on how your app is built and the data it uses.

  • Data attribution (basemaps, data layers), when you use specific data hosted by ArcGIS location services that require attribution.
  • Esri attribution, using Powered by Esri, when your app is built with Esri API technology or uses ArcGIS location services.

Display attribution on the map

If your application uses data served by Esri through ArcGIS Location Services, you must display attribution on the map. For example, this image displays the attribution at the bottom of the map. Refer to one of the maps on ArcGIS Online for more examples.

Light basemap

logo requirements light

Dark basemap

logo requirements dark

We provide a lot of flexibility so that these requirements do not get in the way of you building a great app. You are required to attribute Esri in your app using the following guidelines:

Attribution requirements

  • When using the ArcGIS API for JavaScript, we provide a default implementation of attribution at the bottom of the map. This is the recommended placement, so apply it there if it works with your app design. Refer to attribution widget for alternatives.
  • When using any of the ArcGIS Runtime APPIs, the default implementation places attribution at the bottom of the map. If this does not work with the design for your app then there are APIs to place attribution elsewhere in the MapView. See implementation below for more information.
  • The Esri attribution must be on or near the map whenever an ArcGIS Online basemap is present. The recommended location is at the bottom of the map, but you can move it as necessary.
  • If the user interface design of your implementation will remove or obscure our attribution, then you are required to display it by some other means following these guidelines.
  • Your app should also take advantage of dynamic attribution. As a user zooms and pans around the map, the attribution changes depending on the current extent. This reduces the amount of text in the attribution. Also, the attribution is always up to date.
  • Note that the attribution is different for each basemap.
  • The attribution for a basemap is available in the service metadata. For example, the request for World Imagery metadata is The information you need is in the copyrightText string. In this example, the attribution is Source: Esri, DigitalGlobe, GeoEye, i-cubed, Earthstar Geographics, CNES/Airbus DS, USDA, USGS, AEX, Getmapping, Aerogrid, IGN, IGP, swisstopo, and the GIS User Community.
  • If you choose a static option of copying the information into your app, be aware that the attribution changes on a regular basis. You should regularly review the attribution, such as when you update your app.

Custom attribution requirements

When you choose to implement your own attribution please follow these guidelines:

  • Place the attribution directly on the map where it is always visible when the map is visible.
  • Do not apply transparency to the attribution text.
  • Do not overlap with another logo or visual component (excluding elements of the map.)
  • You may choose a font and color scheme to match your app design as long as you follow the above requirements. Your implementation should be legible and meet accessibility guidelines.
  • To mimic our default design use the following attributes:
    • Font family: "Avenir Next W00","Helvetica Neue", Helvetica,Arial,sans-serif;
    • Words inside the attribution use color #323232 at 100% opacity.
    • Background fill color #ffffff at 65% opacity.


Bottom of map

logo requirements bottom

Top of map

logo requirements top


Helper methods may be provided with the specific API used to build your app. Refer to the API reference below.

Custom implementation

When choosing to use a static attribution, pick up the attribution text from the REST endpoint JSON response in the copyrightText attribute. For example, the request for World Imagery metadata is The URL is specific to the basemap used in your app. See ArcGIS REST Services Directory for a list of services.

For an example of generating dynamic attribution, refer to the associated methods in Esri Leaflet's source code.

  • _getAttributionData Converts the attributions into an array of objects with attribution, bounds, min/max zoom and score. It then sorts the resulting array by score.
  • _updateMapAttribution Updating the map attributions is handled by looping over that array and checking if the map contains or intersects those bounds. If so, it zooms and builds the resulting string.

Terms of Use

Please refer to the Terms of Use for additional legal information.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.