Whenever you use ArcGIS basemaps, ArcGIS data services, or ArcGIS API technology in your app, Esri requires that you must include Esri attribution. There are specific requirements for attribution that you might also be required to address in your app that can vary depending upon how your app is built and what data it uses:

  • Data attribution: Includes basemaps and data layers, and requires that you provide correct attribution whenever you use specific data hosted by ArcGIS location services.
  • Esri attribution: Requires using Powered by Esri attribution 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 Powered by Esri attribution correctly on the map. For example, the following image displays attribution at the bottom right of the map. Refer to these maps on ArcGIS Online for more examples.

Light basemap

logo requirements light

Dark basemap

logo requirements dark

These requirements are somewhat flexible in order to provide the broadest scope when creating your app, but still adhere to the principles of fair attribution. You are required to attribute Esri in your app using the following guidelines:

Attribution requirements

  • ArcGIS API for JavaScript: We provide a default implementation of attribution at the bottom of the map. This is the recommended placement, but can be moved if incompatible with your app design. Refer to the attribution widget for alternatives.
  • ArcGIS Runtime APIs (Android, iOS, Java, .NET, Qt): The default implementation places attribution at the bottom of the map. If this does not work with your app's design, there are APIs to place attribution elsewhere in the MapView. See implementation for more information.
  • Bottom of the map: 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 if necessary. Note that the attribution is different for each basemap.
  • Do not obstruct attribution: 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 adhering to correct attribution per these guidelines.
  • Dynamic attribution: Your app should also take advantage of dynamic attribution. As a user zooms and pans around the map, the attribution should change depending on the current extent. This reduces the amount of text in the attribution.
  • Where to find attribution: The attribution for a basemap is available in its 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.

- **Dynamic vs. static attribution risks**: If you choose a static option by copying attribution information into your app, *it is very important that you remain aware that attribution can change on a regular basis*. You should regularly review attribution whenever you update your app.

Custom attribution requirements

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

  • Place 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 can choose a font and color scheme that matches your app design as long as you follow the above requirements. Your implementation should be legible and meet all other 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.