Need help with pogom?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

favll
557 Stars 216 Forks MIT License 332 Commits 77 Opened issues

Description

The fastest Pokémon Go Map available.

Services available

!
?

Need anything else?

Contributors list

# 158,762
HTML
CSS
jpa
spring-...
150 commits
# 224,490
HTML
CSS
72 commits
# 337,363
unicorn...
Android
Windows
frida
3 commits
# 430,086
HTML
CSS
3 commits
# 234,941
HTML
CSS
Node.js
websock...
2 commits
# 311,296
HTML
CSS
steam
2 commits
# 548,738
HTML
CSS
asyncio
2 commits
# 347,897
HTML
CSS
asyncio
1 commit
# 619,241
HTML
CSS
1 commit
# 616,853
HTML
CSS
1 commit
# 203,039
HTML
CSS
Shell
asyncio
1 commit
# 61,694
PHP
nginx
plex
htpc
1 commit
# 266,830
HTML
CSS
1 commit
# 251,116
HTML
CSS
Shell
asyncio
1 commit
# 619,242
HTML
CSS
1 commit
# 569,847
HTML
CSS
React
highcha...
1 commit
# 616,854
HTML
CSS
1 commit

PoGoMap

The fastest Pokémon Go map available.

Heavily using pgoapi. Shout-out to the Unknown6 team!

image

Installation:

Note: If you are upgrading from the last version, you will have to update and/or reinstall the requirements.

  1. Clone the repository
    git clone https://github.com/favll/pogom.git
  2. Install the dependencies
    pip install -r requirements.txt
    (if you have problems during this step, check these issues for help)
  3. Start the server by running
    python runserver.py

Pro-Tip: Use the

-H
and
-P
flag to specify host and port. E.g.
-H "127.0.0.1" -P 5001
will tell the webserver to listen to localhost requests on port 5001. You can then head over and take a look at the map at
http://127.0.0.1:5001/
. If you want the server to listen on all public IPs use the host
0.0.0.0
. This will allow you to access your server from other machines.

Everything else is configured through the Web UI!

Deploy

Optional: You can tell PoGoMap to use MySQL or PostgreSQL. You will need to install a python interface for the database system of your choice (i.e.

pip install mysqlclient
for MySQL or
pip install psycopg2
for PostgreSQL). You will also need to specify the
--db
flag when starting
runserver.py
and pass it a valid database url string as specified in the Peewee docs.

Usage

  • Visit
    http://:/
    (by default:
    http://127.0.0.1:5000/
    )
  • On the first run you will be redirected to a configuration page
    • Enter your Google Maps Api Key
    • Enter all accounts and passwords to be used for scanning
    • Optionally protect the configuration with a password (only authenticated users can access the config and change scan locations)
  • Go back to
    http://:/
    to view the map
  • Add scan locations simply by clicking on the map

Features

  • [x] Extremely fast (using multiple accounts)
  • [x] Multiple locations
  • [x] Perfect coverage (using a perfect hexagonal grid of radius 70m)
  • [x] Everything configurable from the browser (bye bye command-line flags)
  • [x] Hide common Pokemon
  • [x] Server status in the Web-GUI
  • [x] Stats about seen Pokemon
  • [x] Mobile friendly
  • [x] Browser Notifications
  • [x] Heatmaps
  • [x] Telegram notification with pogomBOT

TODO

  • Webhooks/Pushbullet notifications
  • Show/Hide Pokestops

FAQ

The scan is too slow!

Due to Niantic's throttling we can only do one scan every 10 seconds from each account. Each scan only gives us the Pokemon in a 70 meter radius around the center. This means, to scan a radius of one kilometer, we actually need to scan about 250 individual locations. If you are using only five accounts, this will take about 500 seconds (

250/5*10s = 500s
). With 100 accounts it will be finished in 25 seconds. So the solution is to add more accounts.

How many accounts should I use?

More = Better. But at about 200 accounts you will get diminishing returns because you're bottlenecked by other things (networking, parsing responses, DB). This is of course dependent on your system's performance, so your mileage may vary.

It should scan multiple locations in parallel!

The tool does scan all locations, but successively. Your actual problem is that you either have too few accounts or a too large area (see the calculation in the first question). Even if we change the order, the total runtime would stay the same.

I'm getting the error

Received valid response but without any data. Possibly rate-limited?

Niantic sometimes blocks accounts/IPs when they issue too many requests. In this case the server returns a perfectly valid response, but it contains no map data. The exact details of this are unknown! In rural areas you might get this error without being blocked, if there just aren't any map objects (pokemon, pokestops, spawnpoints) in the scanned area.

You can try to experiment with different settings (scanned area, no. of accounts) to get better results. We have an issue thread on the topic, check it out for more information.

I'm getting errors such as

Server seems to be busy or offline!
,
Unexpected error during request: ...
,
Received empty map_object response. Logging out and retrying.
,
Request throttled by server... slow down man

A certain number of failing requests is to be expected, as the Niantic servers are still somewhat unstable. The program handles the errors gracefully and tries again for a few times until it succeeds. It prints the error messages for debugging purposes. Unless it is a fatal crash and not all the requests fail, everything is fine. Also check if the servers are maybe completely unavailable for you, before opening an issue.

I'm getting the error

Seems your IP Address is banned or something else went badly wrong

Niantic blocked the IPs of several popular cloud providers such as Amazon, Digital Ocean, Google, etc. Try it on a different server.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.