JavaScript API and Geocoder

Overview

The JavaScript API is a software library for working with maps in browsers. You can use it to embed a map on your site that includes searching by place or business name, routing, panoramas and other Yandex.Maps features.

The Geocoder API is an HTTP API that allows you to get the coordinates of objects from their addresses (and vice versa).

Limitations of the commercial version

In the commercial version of the JavaScript API, only the “roadmap” layer is available. This is because the license restrictions of data providers do not allow using satellite layers in third-party commercial projects.

What the “roadmap” layer looks like

Licenses and pricing plans

For the “JavaScript API and Geocoder” product, two types of licenses are available: standard and extended. The difference is the following: under the standard license, you aren't allowed to save or edit the data you receive through the API. There is no such restriction in the extended license.

The price of licenses depends on the number of requests the site sends to the API. What requests are charged

Attention. Note that the product license is purchased for one year. You can't make a payment for a shorter period. Also, prepayment is not possible — you can only start using the API after you pay the full price.

To get access to the extended license, write to us and tell about your project.

Standard license

The standard license doesn't allow saving or changing data obtained using the API. If you need this, you should purchase the extended license.

Available pricing plans are listed below:

Request limit per day Price per year Price per every thousand requests above the limit ?

up to 1,000 requests

120,000 rubles

120 rubles

up to 10,000 requests

360,000 rubles

36 rubles

up to 25,000 requests

600,000 rubles

24 rubles

up to 50,000 requests

850,000 rubles

17 rubles

up to 100,000 requests

1,000,000 rubles

11 rubles

More than 100,000 requests

To calculate costs, send a request to paid-api-maps@yandex-team.ru and tell us how many requests per day you expect.

How to buy a standard license

Extended license

The extended license allows you to save and change data received through the API.

The pricing plans and license fees are listed below:

Request limit per day Price per year Price per every thousand requests above the limit ?

up to 1,000 requests

620,000 rubles

120 rubles

up to 10,000 requests

860,000 rubles

36 rubles

up to 25,000 requests

1,100,000 rubles

24 rubles

up to 50,000 requests

1,350,000 rubles

17 rubles

up to 100,000 requests

1,500,000 rubles

11 rubles

More than 100,000 requests

To calculate costs, send a request to paid-api-maps@yandex-team.ru and tell us how many requests per day you expect.

Note. The published terms and conditions are not an offer.

How to buy an extended license

Limits in the API

The “JavaScript API and Geocoder” product has a daily limit on the use of services:

Geocoding
Charged operations:
  • — Accessing the Geocoder HTTP API;
  • — Calling the geocode() function.
  • — Getting the user's location via the geolocation.get() function, provided that reverse geocoding is enabled (the 'autoReverseGeocode' option is set to true).
  • — Route building, provided that the points are specified as addresses, as in the example. Each address initiates a separate request to the geocoder.
  • — Map search though the control.SearchControl element (with any search provider).
The following operations are not charged for:
  • — Geolocation with reverse geocoding disabled (the 'autoReverseGeocode' option is set to false).
Routing

All operations that send a request to the Router are charged for:

— Calling the route() function.

— Creating a multiRouter.MultiRoute class instance.

— Building a route through the control.RouteEditor element.

— Changing the router options in a way that causes re-routing. Examples are turning on the traffic jams routing option or changing the routing type.

— Editing a built route: adding, removing and dragging points *.

* When dragging the route points, requests to the router are sent on the average every 3 seconds if the server response speed is high enough. For the multirouter, you can increase this interval with the dragUpdateInterval option. If necessary, you can disable re-routing when editing the route with the preventDragUpdate option.

Panorama search

Charged operations:

  • — Calling the panorama.locate() function to search for panoramas in the vicinity of a given point.
  • — Calling the panorama.createPlayer() function to create a player on the page.
  • — Calling the panorama.Manager.openPlayer() method to display a player with a Yandex panorama.
The following operations aren't charged:
  • — Transitions between linked panoramas inside the open player, such as transitions using the arrows.
  • — Creating a player with your own panorama.
  • — Adding the panorama layer to the map.

The maximum request limit depends on the chosen pricing plan. For example, in the "up to 1000 requests" pricing plan, you can send up to one thousand requests to the geocoding, routing, and panorama search services. For all requests over the limit, a separate invoice is issued according to the pricing plan. You can view this invoice in the Developer's Dashboard in the “Finance” section.

  • How requests are counted

The number of API requests is calculated using the following formula:

Geocoder requests + Router requests + 5 × Panorama requests

Attention. One request to the Panoramas service is counted as five requests. For example, if you are signed up for the "up to 1000 requests" pricing plan and you sent 200 requests to Panoramas, a separate invoice is created for all subsequent requests.

How to get started with the JavaScript API and Geocoder

To use the commercial version of the API:

  1. Purchase a license. How to purchase a license
  2. Review the documentation for the JavaScript API and Geocoder.
  3. Connect the API using the link:
    https://enterprise.api-maps.yandex.ru/<version number>/?apikey=<API key>&lang=<language ID>&<additional parameters>