JavaScript API and Geocoder

Overview

Limitations of the commercial version

Licenses and pricing plans

Limits in the API

How to get started with the API

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 the use of 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

Warning

Note that you can purchase the product license for one year or month. You can't make a payment for a different term. Only prepayment is possible: you can only start using the API after you pay the minimum amount in full.

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:

Table 1. Pricing plans with daily billing and annual payment

Daily request limit

Cost per year

Cost of every thousand requests over the limit

1000 requests

150,000 rubles

300 rubles

10,000 requests

450,000 rubles

150 rubles

25,000 requests

850,000 rubles

125 rubles

50,000 requests

1,400,000 rubles

125 rubles

100,000 requests

1,680,000 rubles

125 rubles

200,000 requests

2,380,000 rubles

90 rubles

300,000 requests

3,330,000 rubles

90 rubles

500,000 requests

4,850,000 rubles

90 rubles

1,000,000 requests

8,500,000 rubles

45 rubles

Over 1,000,000 requests

To get a cost estimate, write to paid-api-maps@yandex-team.ru and specify the expected number of requests.

To get a cost estimate, write to paid-api-maps@yandex-team.ru and specify the expected number of requests.

Table 2. Pricing plans with daily billing and monthly payment

Daily request limit

Cost per month

Cost of every thousand requests over the limit

1000

16,000 rubles

300 rubles

10,000

45,000 rubles

150 rubles

Note

The number of requests over the limit is rounded up to the nearest hundred or thousand, depending on your tariff. For example, with a pricing plan with up to 1,000 daily requests, 400 requests over the limit will be rounded up to 1,000. If you exceed the limit multiple times in a month, the overuse charge is calculated for each day separately.

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

Cost per year

Cost of every thousand requests over the limit

1000 requests

174,000 rubles

300 rubles

10,000 requests

522,000 rubles

150 rubles

25,000 requests

986,000 rubles

125 rubles

50,000 requests

1,700,000 rubles

125 rubles

100,000 requests

2,040,000 rubles

125 rubles

200,000 requests

2,890,000 rubles

90 rubles

300,000 requests

4,020,000 rubles

90 rubles

500,000 requests

5,860,000 rubles

90 rubles

1,000,000 requests

10,370,000 rubles

45 rubles

Over 1,000,000 requests

To get a cost estimate, write to paid-api-maps@yandex-team.ru and specify the expected number of requests.

To get a cost estimate, write to paid-api-maps@yandex-team.ru and specify the expected number of requests.

Note

The published terms and conditions don't constitute an offer.

How to buy an extended license

Limits in the API

The following limits are set for the «JavaScript API and Geocoder»:

  • Requests per second (RPS): Up to 50. It's calculated as the sum of requests from the client and from the server.

  • Total number of requests per day. The limit is set on using the following 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).

    — Building a route, 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:

    — Geolocation with reverse geocoding disabled (the 'autoReverseGeocode' option is set to false).

    Routing

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

    — 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 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

Alert

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>
    
    https://geocode-maps.yandex.ru/1.x/?apikey=<API key>&lang=<language ID>&<additional parameters>