I can't believe some of the comments in this thread. Paw is an advanced developer tool with serious functionality for testing APIs, and many of the most upvoted comments are basically just posting links to similar tools, with substantially less functionality, that are free.
How many of these commenters make thousands of dollars every month as professional software engineers? How many make thousands each week? Paw is an extremely high quality, native Mac app, made by a small team trying to provide for their families by building software for other software engineers like all of us. It's a paid tool but it's probably the most sophisticated API testing tool that exists.
I've been a completely satisfied Paw user for over a year. It's been invaluable to me and I use it constantly. It is worth the money. It is more sophisticated with a far better user interface than anything else out there. Use the trial, buy it if you like it, but this pattern of comments saying Check Out Product Z, It's Like Product Y But Free (And Less Good) makes me hate coming to HN.
Fair point, but I also think that a fair number of HN readers who are the target audience for Paw are not necessarily high paid engineers and are likely home hobbyists or students etc. who are building stuff on the side on a ramen budget.
As someone who is trying to bootstrap a SaaS app myself that is currently costing me a around $1000/mth, spending yet another $60 (converted to AU$) is something to think long and hard about, especially seeing as I have been using Postman for several versions with good results.
If someone can point out a compelling reason that Paw > Postman v2 because of x,y and z then I am happy to consider that and perhaps splurge for a licence. I don't think $70 is expensive for good software BTW, but I just haven't been sold on the value of it so far.
If there's a free option that's pretty good (Postman) I think it's reasonable to include that in the discussion. I would especially like to understand how the 2 compare.
For me, the free aspect is important beyond just my paying for it: I create collections and I want them to be as accessible as possible.
I don't really see how any of the facts you mention makes linking similar tools here a bad thing? Unless someone's bashing on Paw for being a paid software in a disrespectful manner, I think it is fine to link to others, why not?
I've observed a very similar thing for awhile now. I'm to the point where I rarely delve into the comments anymore. I've noticed what you've seen about product announcements, or people just generally being contrarian for no reason that adds value to a discussion. I'm eagerly waiting for the day that I see this happen, and I mean literally:
"Scientists find a new reason to explain why the sky appears blue."
HN: I know nothing about science but the sky is definitely azure, not blue.
I was a happy Postman user for a long time. I tried Paw on a lark (the importance of free trials) and loved it. Totally worth the money to me, and I've only scratched the surface with it. I especially like the plugins ecosystem.
I actually like this pattern. I mean, as a (not so highly paid) developer who also does a lot of personal/hobby programming, I'm evaluating and using a ton of tools every year. If I were to ignore the free alternatives, I would be utterly broke now. Sure, if something is a product I'll be using day-in, day-out for the foreseeable future, I'll happily shell out $quite-a-lot. But if I expect to use it for half a day every three months or so, I'll look for something free. Like, e.g. I do some amount of vector drawing for random reasons (designing t-shirts for myself, logos for my projects, user interfaces, whatever) - enough to figure out Inkscape, not enough to justify buying Illustrator.
>Paw is an extremely high quality, native Mac app, made by a small team trying to provide for their families by building software for other software engineers like all of us. It's a paid tool but it's probably the most sophisticated API testing tool that exists.
Thing is, most of us don't care. I don't care if Paw engineers aren't selling their software. Just like they shouldn't care if I'm not selling mine. People are not going to stop using software that does 80% of what Paw does (but probably 100% of their needs) because it hurts their feelings.
If Product Z is less good than Paw but still fills my needs and is free, Product Z is going to be my choice. Bonus points if it's FOSS.
There's also the fact that not all of us work on Mac. I'd love to try out Paw, but unless I see a .deb somewhere, I'm out of luck. So my solution is to grab alternatives.
>Check Out Product Z, It's Like Product Y But Free (And Less Good) makes me hate coming to HN.
At the other extreme, we have software monoculture. Variety of software is good. Making FOSS software known is good. I'm actually going to go a step further and say that if FOSS software copies pixel for pixel Paw's UI and UX, that is a good thing.
Software engineers are an interesting bunch... Reading all the bashing comments about Paw not being free, I can't help but feel a vibe, that some people expect to be paid thousands of dollars and not pay a single cent themselves. Where does this entitlement come from?
Good job guys! You made a fantastic product. I will always favor native apps over Electron hacks. I can't count how many times I've CMD+Tabbed to Chrome and hit CMD+W to close a tab, only to see Postman disappear. It disrupts my flow.
One thing though. I'm a developer, I know what I'm doing. Please make JSON Text the default option. Formatted JSON doesn't hurt or threaten me :) I expect to see my responses exactly as they are.
Edit:
Unfortunately I have to edit this comment to give additional feedback about Paw. I'm using the 30 day trial, i.e. I am evaluating the product. Paw is running in the background, I'm not interacting with it in any way, but it jumps to foreground, just to show me a pop-up window informing me, that I have 29 days left of trial and should upgrade. No, thank you, I installed the app just an hour ago. I'm aware of the 30 day trial. No need to nag about it every 20 minutes, that will not prompt me to upgrade any sooner. If anything, it does quite the opposite.
I love using Paw. I'm no longer in the building phase of my service, but when I was defining my API and testing endpoints, Paw was critical in the process.
My main feature request (and I'm not sure if any competitor does this, so please inform me if it exists somewhere):
While Paw allows me to export code, which is cool and all, it would be very interesting to allow me to compose workflows, like, say Automator in macOS, including assertions, so that I could essentially compose and export integration tests with Paw. It'd be neat to see some more generally API-definition features hit Paw, or maybe a companion app that plays nicely with Paw to do the definition half of things, compatible with Swagger and whatnot.
Clearly not a well-thought-out idea, but I think there's space in Paw's domain for some form of what I'm talking about.
We have actually two ideas in this area. First, as you mentioned, assertion testing. We've recently published a workaround (as a joke, but it's actually working :D) https://blog.paw.cloud/posts/secret-path-to-paw-assertions/ but a real alternative is coming next.
Second, we are currently brainstorming around the idea of a good automation app. So somehow the two ideas may merge. We're not sure yet what would make sense for automation, but for assertions testing, for sure it's in the pipeline!
Being able to potentially export out to JMeter format (or generate Gatling Scala scenarios) would be awesome, because the JMeter GUI is so horribly awful.
Paw is a great tool, but I can also attest to the excellent support of the developer. I made a mistake when uninstalling it off my old Mac, and found myself unable to activate the serial on my new Mac. Micha replied personally, took me at my word regard the issue I was having, and immediately added a second seat to my serial for free, as the simplest way to guarantee I'd never have the problem again. I appreciated that.
Secondly, there are indeed many similar tools, but I've found that Paw in particular has well-thought-out implementations of a number of useful features (cookies, JSON parsing, auth methods, history) as well as a neat way of managing requests across environments e.g. dev machine vs test server vs production API.
Paw isn't the only tool I use when testing/developing API endpoints, but I find it to be the most featureful while also playing nice as a Mac app, with a decent UI and the expected things like remembering my previous window positions/states the next time I launch it.
Exactly. My interactions with support have all been fantastic and the app is, for me, by far the most featureful and robust tool in this space. And they're continually adding additional features.
For those who want something that works really well, with a very nice UI and is free, I would highly recommend Insomnia for Google Chrome (it functions as a standalone app outside of Chrome).
Why do these things insist on launching in their own window? This got uninstalled just as fast as Postman. There's no reason for those things to force an app icon and a separate window.
I've used Paw for a few years since I started getting inconsistent Postman results thanks to Chrome cookies, and I haven't looked back. It's really a fantastic tool that is part of my daily life as an API guy. The dev, Micha, is super helpful via email and has even incorporated feedback when the app didn't work the way I expected (like sending request body on GET). I would honestly buy it again if updates weren't free.
I've owned Paw for a while, and I find it much more user-friendly than Postman. It's not for everyone, sure, but the developer has put in good work and you won't regret a purchase.
Why do I need to create an account with an email and password to purchase this if it’s not a subscription service? To add insult to injury, I have to agree to some Terms of Service that probably indemnifies this company from doing whatever they want with my data. Who comes up with these brilliant ideas?
The Mac App Store is absolutely horrible (lots of bugs, slow, inconsistent, almost unusable, absurd certificate expiration issues that are completely embarrassing for a company like Apple, etc.) and Apple has completely ignored all developers who use it... but this is exactly why I always prefer buying from it. I don’t want some nobody developer harvesting my information, and selling/renting it off to some who knows who either now or some years down the line when the company folds.
Please have respect for your potential paying customers and drop these kinds of practices. Other than recovering a potentially lost license key, there is absolutely nothing I need from you, including any and all “news or updates”, after I have purchased the app. Therefore you should only really need some unique value (like the hash of an email address) for that.
Interesting, this is the first time I've seen a domain with the .cloud extension. I wonder how many other companies are going to follow suit?
Regarding the app, Paw is friggin amazing. I was lucky to get it back when it was much cheaper, but it's definitely still worth the $49 even now. The team stuff is interesting too, as me and my guys share our exports all the time.
As someone who just spent 30 minutes setting Paw up for my needs, here is my review. Unfortunately, it is not worth $50. It's not the price point itself, it's the fact that the app is too unpolished to pay any amount. After the first 30 minutes, I won't be continuing - and would not even if it were free.
The application hijacks mouse events for custom widgets that don't function as expected. It takes far too much pointer precision to manage the request list and the groups. Half the time the drag-and-drop glitches so that you are highlighting rows without actually having the item with the cursor. You also cannot drop a group to the end of the list. Similar problem in the environments config window: add a second environment for a variable; the column widths are too short to see the variable's value, so you try to resize the columns and it doesn't work even though the resize icon appears on hover.
The "JSON" response format is hideous and for some reason the default. The "JSON Text" format is what I want and switch to, but this fact is not remembered and every single new response resets back to the ugly xml-tree-like format.
By the way, trying to click the help icon for dynamic values opens the documentation to a page[1] that doesn't load due to an encoded '#' symbol (%23). Again, a sign of a final product with very little QA, being sold at a fairly premium price for which one expects quality.
The UI and interactions are far from seamless. The constant harassment of a popup trying to get me to upgrade is the last straw. When a user is on trial, you don't interrupt their workflow every few minutes.
For what it's worth, I've been using this app for over a year and I haven't been noticing the issues you're talking about. My request list probably contains hundreds of requests from different projects grouped into folders.
I've tried using postman but it just isn't the same. Paw is much more efficient with screen space, and I love being able to copy any request from Chrome directly into paw and being able to tinker with it right away.
I agree with you on the default JSON response format. I was also manually switching it over to JSON Text every time. However, yesterday I found the preference setting - It's in Preferences > Response > .json, you can change the format to JSON Text there.
I'm the creator of HTTP Prompt (https://github.com/eliangcs/http-prompt). HTTP Prompt is HTTPie enhanced with autocomplete and syntax highlighting. This is the first time I hear about Paw, and I wonder how it compares to HTTP Prompt. Would any Paw users like to share?
Wow HTTP Prompt looks amazing, thanks for posting this. I was reading through this thread thinking Paw looks neat but I am more comfortable in a terminal.
Paw is a really great product, I've been using it for a long time now. I _really_ wish they would combine this with traffic capture - similar to Fiddler on Windows. Charles does the trick, but it's a mess to set up for proxying HTTPS traffic.
Traffic capture is definitely something we are looking into. Through to be honest it would most likely be a companion app rather than directly embedded within Paw --matthaus (@hishnash) Backend syncing dev at paw.cloud
I purchased Paw about 6 months ago and used it heavily, until recently I have ran into multiple situations where it didn't properly include custom headers I specified into the request, and was causing odd errors that I assumed were the fault of the code I was testing (happened in multiple different languages/projects). I have since started using Postman, but would love to go back to Paw since I appreciated some if it's features (such as being able to save an API definition into the github repo for sharing with other devs)
EDIT - didn't realize this post was for Paw 3, which just became available. Installing now and excited to try it!
This is an honest question, I'm not trying to be negative but I'm really confused.
It would seem like best practices is that all of this is part of your automated tests. Tests that are checked in to your repo and written in code and part of your CI. How does a native app that is OSX only fit in that scenario? Or maybe I'm not understanding it?
As ing33k mentioned, Paw isn't an automated testing tool (at least not yet), but rather an app where you can experiment with your or others APIs to check if things are working, and have a visual feedback/confirmation of what you're doing.
But that's actually a great question. We are asking ourselves the same here at Paw: should our app offer a testing/assertions feature?
Our own server backend is in Django using the Django REST Framework (it's an amazing tool btw) and clearly unit testing done inside the web framework is the right thing to do. Good frameworks have mocking libraries, and unit tests allows you to exercice all parts of the code (not only API facing). So why testing in an app like Paw? And should we encourage "bad practices" with a new feature that encourages users to have request/response assertions in our app instead proper unit tests?
First, everyone isn't writing tests ;) And sometimes maybe for good reasons (quickly putting together an MVP…). Assertions can be a quick alternative before writing proper unit tests. But mostly, we were thinking about assertions in Paw as a great way to do quick integration testing. For example, we've released Paw 3 recently, pushed server updates on an hourly basis, and we had no way to verify after a deploy that all the website's pages were up and that API endpoints were behaving as expected. Sure, the CI was saying that tests are passing, but who knows if someone has changed settings on AWS or on 3rd party tools (Stripe, Algolia…)? We would have loved to have assertions ourselves…
imo Paw is not an automated API testing tool.
You can use it to explore/browse API's.
Developers after creating a new endpoint or after editing an existing endpoint want ways to easily send a properly constructed request and visually check the returned response (mostly json these days ).
There's a feature in Paw which let's you generate code in multiple languages for any request that's already in Paw. May be people are using it as a starting point to write tests.
Paw is engineered by a top notch team in France. They care about quality and details. We at Mashape have partnered with them in the past and they are super responsive and always focused on the best experience for the developer.
Bought Paw on the Mac App Store a while back. I wonder if this update will come to me as well, or that I need to repurchase. For now I can't find Paw 3 there at all; perhaps they stopped using the MAS?
How is this different from Postman? It seems very similar, but Postman is free and has other really awesome features (like being able to export tests and run them in the command line).
I've used Postman on and off but I just find the UI more burdensome than it's worth and use one of the more simple rest clients and curl for when I'm really trying to string together some complicated requests.
Paw looks gorgeous and very nicely featured. Let's see how it works on Monday against the Niantic APIs :)
[+] [-] flyosity|9 years ago|reply
How many of these commenters make thousands of dollars every month as professional software engineers? How many make thousands each week? Paw is an extremely high quality, native Mac app, made by a small team trying to provide for their families by building software for other software engineers like all of us. It's a paid tool but it's probably the most sophisticated API testing tool that exists.
I've been a completely satisfied Paw user for over a year. It's been invaluable to me and I use it constantly. It is worth the money. It is more sophisticated with a far better user interface than anything else out there. Use the trial, buy it if you like it, but this pattern of comments saying Check Out Product Z, It's Like Product Y But Free (And Less Good) makes me hate coming to HN.
[+] [-] cyberferret|9 years ago|reply
As someone who is trying to bootstrap a SaaS app myself that is currently costing me a around $1000/mth, spending yet another $60 (converted to AU$) is something to think long and hard about, especially seeing as I have been using Postman for several versions with good results.
If someone can point out a compelling reason that Paw > Postman v2 because of x,y and z then I am happy to consider that and perhaps splurge for a licence. I don't think $70 is expensive for good software BTW, but I just haven't been sold on the value of it so far.
[+] [-] pbreit|9 years ago|reply
For me, the free aspect is important beyond just my paying for it: I create collections and I want them to be as accessible as possible.
[+] [-] elmigranto|9 years ago|reply
[+] [-] wmccullough|9 years ago|reply
"Scientists find a new reason to explain why the sky appears blue."
HN: I know nothing about science but the sky is definitely azure, not blue.
[+] [-] swilliams|9 years ago|reply
[+] [-] TeMPOraL|9 years ago|reply
[+] [-] cwp|9 years ago|reply
[+] [-] polytap|9 years ago|reply
[+] [-] pikzen|9 years ago|reply
Thing is, most of us don't care. I don't care if Paw engineers aren't selling their software. Just like they shouldn't care if I'm not selling mine. People are not going to stop using software that does 80% of what Paw does (but probably 100% of their needs) because it hurts their feelings.
If Product Z is less good than Paw but still fills my needs and is free, Product Z is going to be my choice. Bonus points if it's FOSS.
There's also the fact that not all of us work on Mac. I'd love to try out Paw, but unless I see a .deb somewhere, I'm out of luck. So my solution is to grab alternatives.
>Check Out Product Z, It's Like Product Y But Free (And Less Good) makes me hate coming to HN.
At the other extreme, we have software monoculture. Variety of software is good. Making FOSS software known is good. I'm actually going to go a step further and say that if FOSS software copies pixel for pixel Paw's UI and UX, that is a good thing.
[+] [-] tooFastFuckYou|9 years ago|reply
[deleted]
[+] [-] artiscode|9 years ago|reply
Good job guys! You made a fantastic product. I will always favor native apps over Electron hacks. I can't count how many times I've CMD+Tabbed to Chrome and hit CMD+W to close a tab, only to see Postman disappear. It disrupts my flow.
One thing though. I'm a developer, I know what I'm doing. Please make JSON Text the default option. Formatted JSON doesn't hurt or threaten me :) I expect to see my responses exactly as they are.
Edit: Unfortunately I have to edit this comment to give additional feedback about Paw. I'm using the 30 day trial, i.e. I am evaluating the product. Paw is running in the background, I'm not interacting with it in any way, but it jumps to foreground, just to show me a pop-up window informing me, that I have 29 days left of trial and should upgrade. No, thank you, I installed the app just an hour ago. I'm aware of the 30 day trial. No need to nag about it every 20 minutes, that will not prompt me to upgrade any sooner. If anything, it does quite the opposite.
[+] [-] josefdlange|9 years ago|reply
My main feature request (and I'm not sure if any competitor does this, so please inform me if it exists somewhere):
While Paw allows me to export code, which is cool and all, it would be very interesting to allow me to compose workflows, like, say Automator in macOS, including assertions, so that I could essentially compose and export integration tests with Paw. It'd be neat to see some more generally API-definition features hit Paw, or maybe a companion app that plays nicely with Paw to do the definition half of things, compatible with Swagger and whatnot.
Clearly not a well-thought-out idea, but I think there's space in Paw's domain for some form of what I'm talking about.
[+] [-] mittsh|9 years ago|reply
Second, we are currently brainstorming around the idea of a good automation app. So somehow the two ideas may merge. We're not sure yet what would make sense for automation, but for assertions testing, for sure it's in the pipeline!
-Micha from Paw
[+] [-] andyfleming|9 years ago|reply
Although it looks like Paw has potential for something similar with its extensions. It already has some sort of javascript availability.
https://medium.com/ios-os-x-development/make-your-app-extens...
[+] [-] halostatue|9 years ago|reply
[+] [-] jamestnz|9 years ago|reply
Secondly, there are indeed many similar tools, but I've found that Paw in particular has well-thought-out implementations of a number of useful features (cookies, JSON parsing, auth methods, history) as well as a neat way of managing requests across environments e.g. dev machine vs test server vs production API.
Paw isn't the only tool I use when testing/developing API endpoints, but I find it to be the most featureful while also playing nice as a Mac app, with a decent UI and the expected things like remembering my previous window positions/states the next time I launch it.
[+] [-] brennebeck|9 years ago|reply
[+] [-] jameslk|9 years ago|reply
https://chrome.google.com/webstore/detail/insomnia-rest-clie...
[+] [-] andyfleming|9 years ago|reply
Though, it looks like it is in beta, and I don't see any way to do cloud/team syncing.
[+] [-] colemickens|9 years ago|reply
[+] [-] bitmapbrother|9 years ago|reply
[+] [-] nbrempel|9 years ago|reply
[+] [-] eddieroger|9 years ago|reply
[+] [-] jadengore|9 years ago|reply
[+] [-] ceejayoz|9 years ago|reply
[+] [-] mightykan|9 years ago|reply
The Mac App Store is absolutely horrible (lots of bugs, slow, inconsistent, almost unusable, absurd certificate expiration issues that are completely embarrassing for a company like Apple, etc.) and Apple has completely ignored all developers who use it... but this is exactly why I always prefer buying from it. I don’t want some nobody developer harvesting my information, and selling/renting it off to some who knows who either now or some years down the line when the company folds.
Please have respect for your potential paying customers and drop these kinds of practices. Other than recovering a potentially lost license key, there is absolutely nothing I need from you, including any and all “news or updates”, after I have purchased the app. Therefore you should only really need some unique value (like the hash of an email address) for that.
[+] [-] dchuk|9 years ago|reply
Regarding the app, Paw is friggin amazing. I was lucky to get it back when it was much cheaper, but it's definitely still worth the $49 even now. The team stuff is interesting too, as me and my guys share our exports all the time.
[+] [-] developer2|9 years ago|reply
The application hijacks mouse events for custom widgets that don't function as expected. It takes far too much pointer precision to manage the request list and the groups. Half the time the drag-and-drop glitches so that you are highlighting rows without actually having the item with the cursor. You also cannot drop a group to the end of the list. Similar problem in the environments config window: add a second environment for a variable; the column widths are too short to see the variable's value, so you try to resize the columns and it doesn't work even though the resize icon appears on hover.
The "JSON" response format is hideous and for some reason the default. The "JSON Text" format is what I want and switch to, but this fact is not remembered and every single new response resets back to the ugly xml-tree-like format.
By the way, trying to click the help icon for dynamic values opens the documentation to a page[1] that doesn't load due to an encoded '#' symbol (%23). Again, a sign of a final product with very little QA, being sold at a fairly premium price for which one expects quality.
The UI and interactions are far from seamless. The constant harassment of a popup trying to get me to upgrade is the last straw. When a user is on trial, you don't interrupt their workflow every few minutes.
[1] https://paw.cloud/docs/dynamic-values/response%23Response_Bo...
[+] [-] fredsted|9 years ago|reply
I've tried using postman but it just isn't the same. Paw is much more efficient with screen space, and I love being able to copy any request from Chrome directly into paw and being able to tinker with it right away.
[+] [-] dbbk|9 years ago|reply
[+] [-] eliangcs|9 years ago|reply
[+] [-] colinbartlett|9 years ago|reply
[+] [-] jen20|9 years ago|reply
[+] [-] hishnash|9 years ago|reply
[+] [-] ecaroth|9 years ago|reply
EDIT - didn't realize this post was for Paw 3, which just became available. Installing now and excited to try it!
[+] [-] greggman|9 years ago|reply
It would seem like best practices is that all of this is part of your automated tests. Tests that are checked in to your repo and written in code and part of your CI. How does a native app that is OSX only fit in that scenario? Or maybe I'm not understanding it?
[+] [-] mittsh|9 years ago|reply
But that's actually a great question. We are asking ourselves the same here at Paw: should our app offer a testing/assertions feature?
Our own server backend is in Django using the Django REST Framework (it's an amazing tool btw) and clearly unit testing done inside the web framework is the right thing to do. Good frameworks have mocking libraries, and unit tests allows you to exercice all parts of the code (not only API facing). So why testing in an app like Paw? And should we encourage "bad practices" with a new feature that encourages users to have request/response assertions in our app instead proper unit tests?
First, everyone isn't writing tests ;) And sometimes maybe for good reasons (quickly putting together an MVP…). Assertions can be a quick alternative before writing proper unit tests. But mostly, we were thinking about assertions in Paw as a great way to do quick integration testing. For example, we've released Paw 3 recently, pushed server updates on an hourly basis, and we had no way to verify after a deploy that all the website's pages were up and that API endpoints were behaving as expected. Sure, the CI was saying that tests are passing, but who knows if someone has changed settings on AWS or on 3rd party tools (Stripe, Algolia…)? We would have loved to have assertions ourselves…
[+] [-] ing33k|9 years ago|reply
There's a feature in Paw which let's you generate code in multiple languages for any request that's already in Paw. May be people are using it as a starting point to write tests.
[+] [-] brianpan|9 years ago|reply
[+] [-] sinzone|9 years ago|reply
[+] [-] hugocbp|9 years ago|reply
EDIT: Wow! Just saw that the upgrade to v3 is free for v2 users! Nice surprise!
[+] [-] throwaway745234|9 years ago|reply
[+] [-] lnikkila|9 years ago|reply
[+] [-] SkyMarshal|9 years ago|reply
[+] [-] kodisha|9 years ago|reply
- fetch huge json
- collapse first level fields
- leave node/subnode of interest open
- change backend
- refresh paw, and see changes way faster, coz it will show only open subtree
really useful for large json responses! (Postman dies on those)
[+] [-] ianunruh|9 years ago|reply
[+] [-] avitzurel|9 years ago|reply
Paw looks really good. I'll definitely give that a try, especially if the team sharing features are good.
[+] [-] manyxcxi|9 years ago|reply
Paw looks gorgeous and very nicely featured. Let's see how it works on Monday against the Niantic APIs :)
[+] [-] bdcravens|9 years ago|reply