Is there a maximum player level?
According to some datamining of the game files, the level cap of the game is 40.
Looking at a recent data dump, we get a nice list of levels present in the game.
Lv: Needed XP
--:-----------
2 : 1000
3 : 2000
4 : 3000
5 : 4000
6 : 5000
7 : 6000
8 : 7000
9 : 8000
10: 9000
11: 10000
12: 10000
13: 10000
14: 10000
15: 15000
16: 20000
17: 20000
18: 20000
19: 25000
20: 25000
21: 50000
22: 75000
23: 100000
24: 125000
25: 150000
26: 175000
27: 200000
28: 250000
29: 300000
30: 350000
31: 500000
32: 500000
33: 750000
34: 1000000
35: 1250000
36: 1500000
37: 2000000
38: 2500000
39: 3000000
40: 5000000
Thanks to @murgatroid99 in chat for helping me decode Protobuf!
As of November 30th, 2020, Pokemon Go's level cap was globally increased to level 50.
In addition to the XP chart in the previous answer, reaching level 41 and above requires both experience AND tasks in order to level up. The tasks and experience required is referenced from this guide
Level 41:
- 6M exp
- Power up a Legendary Pokemon 20 times
- Win 30 Raids
- Catch 200 Pokemon in a single day
- Earn 5 Gold Medals
Level 42:
- 7.5M exp
- Evolve Eevee into each of its unique Evolutions
- Use items to evolve Pokemon 15 times
- Make 3 Excellent Throws
- Use 200 Berries
Level 43:
- 9M exp
- Earn 100,000 Stardus
- Use 200 Supereffective Charged Attacks
- Catch 5 Legendary Pokemon
- Earn 5 Platinum Medals
Level 44:
- 11M exp
- Win 30 Trainer Battles in the Great League
- Win 30 Trainer Battles in the Ultra League
- Win 30 Trainer Battles in Master League
- Win 20 Trainer Battles in the GO Battle League
Level 45:
- 13M exp
- Defeat 100 Team Go Rocket Grunts
- Purify 100 Shadow Pokemon
- Defeat a Team Go Rocket Leader 50 times
- Earn 10 Platinum Medals
Level 46:
- 15.5M exp
- Complete 100 Field Research tasks
- Take a snapshot of a Pokemon 7 days in a row
- Make 50 Excellent Throws
- Hatch 30 Eggs
Level 47:
- 18M exp
- Win 30 Raids using a team of all unique Pokemon species
- Take a snapshot of a Pokemon 7 days in a row
- Make 50 Excellent Throws
- Hatch 30 Eggs
Level 48:
- 21M exp
- Receive 10 Souvenirs from your Buddy
- Earn 300 hearts with your Buddy
- Walk 200km with your Buddy
- Walk 25km in a week 8 times
Level 49:
- 21M exp
- Send a number of Gifts to other Trainers
- Acquire Lucky Pokémon through Trades
Level 50:
- 30M exp
- Making a number of Excellent Throws
- Catching a number of Legendary Pokémon
- Defeating Team Go Rocket Leaders with Pokémon under 1,500 CP