Every business 2GIS lists in a city, with its phones, hours and reviews
The 2GIS API turns 2GIS, the business directory and map used across Russia, Kazakhstan, Central Asia, the Caucasus and the UAE, into JSON in five actions.
5 active endpoints, on 1 and 2 credit tiers.
- POST/2gis/v1/search
- POST/2gis/v1/detail
- POST/2gis/v1/reviews
- POST/2gis/v1/rubrics
- POST/2gis/v1/cities
What 2GIS endpoints does ReefAPI ship?
5 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
2GIS API
4 of 5 endpoints, ready to run
Businesses by words or category in a city: phones, websites, socials, hours, rating and review count.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the 2GIS API works
2GIS is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 598 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and nothing is cached: every call reads the source live.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Build a lead list for one category in one city
Three calls, from a category to every business in it with its contacts and what customers say.
{"city": "almaty"}The category tree of the region, with how many businesses each category holds there.
{"rubric_id": "162", "city": "almaty", "page_size": 50, "page": 1}50 businesses a page with phones, emails, websites, socials and hours; keep going while meta.has_more is true.
{"org_id": "<a row's org_id>"}The newest 50 reviews of one business; meta.next_cursor opens the next 50.
Every business of the category in the city with its contacts, plus the reviews of the ones you pick.
curl -X POST https://api.reefapi.com/2gis/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"кофейня","city":"moscow"}'{
"ok": true,
"data": { … },
"meta": {
"api": "2gis",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}Which 2GIS rating is which
A 2GIS business carries two ratings and three counts; they answer different questions. Field names as the API returns them, measured 2026-11-03 on one Moscow coffee shop.
| field | what it is | example (Здрасте coffee shop, Krymskaya nab. 10) |
|---|---|---|
| rating | This branch's rating, 1 to 5 | 4.7 |
| review_count | Reviews written about this branch | 114 |
| rating_count | Ratings given to this branch, with or without text | 130 |
| brand_rating | The rating of the whole brand, all its branches together | 4.9 |
| brand_review_count | Reviews of the whole brand | 17,258 |
| brand_branch_count | How many branches the brand has in 2GIS | 103 |
On 10 businesses in Moscow, St Petersburg, Almaty and Tashkent, the name, address, rating, review count, coordinates, phones and websites the API returned matched the business's own 2GIS page on all 70 checks.
What 2GIS publishes — measured 2026-11-03
2GIS is the business directory of Russia, Kazakhstan and Central Asia, also in the Caucasus and the UAE. These are the numbers and limits measured on the live service.
207: 153 in Russia, 19 in Kazakhstan, 3 in Uzbekistan, 3 in Georgia, one each for Kyrgyzstan, Tajikistan, Belarus, Armenia, Azerbaijan, Cyprus and the whole UAE, plus 14 Saudi regions where 2GIS lists buildings but no businesses.
Of 132 rows in 11 cities: phone 128, social link 120, website 89, email 80, opening hours 130, rating 129.
Up to 50 rows a page through the whole result set (1,903 pharmacies in St Petersburg = 39 pages of 50). Filters: category, photos, website, open at a weekday and time, point with radius. Sort: relevance, rating, name, distance.
Up to 50 a page, newest first or recently edited first, with cursor paging; one business's 113 reviews in three pages with no repeats.
10 businesses in four cities: name, address, rating, review count, coordinates, phones and websites matched the business's own 2GIS page on 70 of 70 checks.
Newest-first business sort, attribute filters such as delivery or Wi-Fi, metro station names (2GIS gives station ids and distance), and businesses in Saudi Arabia.
What people build with 2GIS
The jobs this data is most often used for.
endpoints
credits per call
Lead lists: search a category in a city with has_website and collect phones, emails, websites and socials.
Local market mapping: rubrics for the category tree, then search by rubric_id to count and locate every business.
Reputation monitoring: reviews newest first for a branch, with the business's own replies.
Store-locator data: every branch of a brand with coordinates, hours and phones.
What 2GIS data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 598 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/2gis/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"кофейня","city":"moscow"}'import requests
r = requests.post(
"https://api.reefapi.com/2gis/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "кофейня",
"city": "moscow"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up 2GIS.
Get a free key →Which countries and cities does it cover?▾
Every region in 2GIS's own list: 207 on 2026-11-03, of them 153 in Russia, 19 in Kazakhstan, 3 in Uzbekistan, 3 in Georgia, and Kyrgyzstan, Tajikistan, Belarus, Armenia, Azerbaijan, Cyprus and the UAE. The cities action lists them with the code to pass as city. The whole UAE is one region (dubai). The 14 Saudi regions are in the list but 2GIS holds buildings there, not businesses, so a business search there comes back empty.
Does it return phone numbers and websites?▾
Yes, exactly as 2GIS publishes them on the business: every phone (international number and the display form), emails, websites and social links. On 132 search rows across 11 cities, 128 had a phone, 120 a social link, 89 a website and 80 an email; Dubai rows had no emails and Bishkek rows no websites.
How many results can I get for one search?▾
Up to 50 per page, and the search pages through its whole result set: 'аптека' in St Petersburg had 1,903 results, 39 pages of 50; page 40 comes back empty with meta.page_out_of_range. meta.total is 2GIS's own count; three pages in a row gave 60 different businesses.
Can I search around a point instead of a city?▾
Yes. ll takes longitude,latitude (longitude first). With radius in metres it keeps only that circle (22 coffee shops within 500 m of Red Square); with sort=distance it orders the results nearest first.
How do I get all reviews of a business?▾
Call reviews with the org_id from a search row; each page has up to 50 reviews, newest first, and meta.next_cursor opens the next page. A business with 113 reviews came back in three pages (50, 50 and 4) with no review repeated. meta.review_count is 2GIS's count for the branch.
Which filters work?▾
rubric_id (a 2GIS category; 'кофейня' in Moscow 5,339 → 3,677 coffee shops), has_photos (→ 5,100), has_website (→ 3,140), open_at with a weekday and time (Monday 23:30 → 205), and ll with radius. Each was measured against the same search without it.
Which language are names in?▾
Each region's own language by default: Russian in Russia, English in Dubai, Russian in Almaty and Tashkent. locale changes it, for example en_AE or ar_AE in Dubai.
What is the org_id?▾
2GIS's id of the branch, the number in 2gis.ru/<city>/firm/<id>. detail and reviews take it, or the 2GIS link itself.
What is the 2GIS API?▾
2GIS API is a ReefAPI endpoint group for 2gis business directory as json: businesses by query, category or point across russia, kazakhstan, central asia and the uae, with phones, emails, websites, social links, hours, rating and review count, plus full business cards, customer reviews, the category tree and the region list. It returns live JSON through POST requests under /2gis/v1.
Is the 2GIS API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. 2GIS calls use the same shared credit balance as every other ReefAPI engine.
Do I need a 2GIS login or account?▾
No login to 2GIS is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the 2GIS data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the 2GIS API use?▾
2GIS actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call 2GIS from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call 2gis actions with the same key, credit pool and JSON envelope used by normal REST requests.
16 Reputation & Reviews APIs on the same key
One key, one credit pool, one response envelope. If you are pulling 2GIS, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 597 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-11-03.