
Paw: The ultimate REST client for Mac - atombender
https://luckymarmot.com/paw
======
connor4312
I've tried to use both Paw and Postman. Always ended up going back to HTTPie
([https://github.com/jakubroztocil/httpie](https://github.com/jakubroztocil/httpie)).
It's much faster than clicking through a GUI, at least for basic requests
(which is what 95% of requests are).

Don't get me wrong, Paw is a really nice app, but I don't feel that it rivals
the productivity of bash-jitsu for most day-to-day use.

~~~
webXL
After trying to figure out why Postman was doing a double GET this morning on
a coworker's computer, I finally told him to just install httpie. Took a
little while but it's much easier to be explicit about a request. Bash command
history does a lot of what these GUIs do.

~~~
loevborg
Maybe it was actually an OPTION/GET combination? In that case, it's actually
useful that Postman is running in Chrome because it shares the same
environment and constraints.

~~~
a85
Postman can do both. Run in a sandbox or inside Chrome using Postman
Interceptor.

------
spdustin
It can generate basic auth headers, handle OAuth workflows, store variables in
different "environment" containers per project, export the request in any of a
variety of formats (jQuery, curl, etc:) - it's a brilliant piece of software,
and I use it almost every day.

~~~
lisper
Can you automate it? i.e. is it useful for non-interactive work like automatic
testing?

~~~
a85
Postman founder here. Postman let's you run tests outside of Postman through
the newman tool (free) [1]. Just take collections outside Postman and run them
anywhere you want. Collections can have Javascript scripts embedded inside
them for request chaining (transferring data from one request to another) or
just writing integration tests. Tons of possibilities and we have some great
new stuff coming up around this.

[1]:
[http://www.getpostman.com/docs/newman_intro](http://www.getpostman.com/docs/newman_intro)

~~~
lapusta
Can you tell what is current status of extension - is it still supported or
packaged app is the way to go nowadays?

Are you planning to go more native with something like Atom's Electron
platform?

~~~
a85
We just push bug fixes now for the legacy app. The roadmap of legacy apps from
Google is still not clear. I would strongly suggest the packaged app way for
multiple reasons (folders, in-built documentation, syncing, real-time sharing,
tests, request capture).

And yes, native apps are coming soon! Atom's Electron is a strong contender.
We are exploring all possible options. :)

------
mattkrea
We bought this app and I can safely say this is the best REST client I have
ever seen or used.

The others out there (mostly the extensions for Chrome and Firefox) will do
for most people but this app is just gorgeous and offers some nice features on
top.

Some of the more mundane parts (JSON content in a post, basic headers) are
handled in a couple clicks.

I love it.

~~~
dozzie
How is it better from cURL, Python's liburl2 or libwww-perl?

~~~
lobster_johnson
It's not necessarily better, just a different interface that scales better to
complex requests.

curl command lines can get huge and unwieldy. If a curl command has a huge
amount of input, that gets unwieldy, too. Same thing with data input.

The fact that your requests persist and can be repeated and modified is
useful. Better than looking up past commands in ~/.bash_history.

~~~
seiferteric
Ha, I feel the same way and started to make a little tool to help this, but
most of the feedback I got was that it was pointless :(
[https://github.com/seiferteric/clamp](https://github.com/seiferteric/clamp)

~~~
chralieboy
this is really cool! Great work.

------
dorian-graph
I had been using Postman[1] for the last year or so and it's recently
undergone a big update too which includes syncing. I've just tried Paw and
like it more because:

\- Native Mac app (it's prettier)

\- I like the 3 pane window structure

\- A lot of smaller UX things are nicer like duplicating, Postman annoyingly
scrolls down, having to explicitly hit save, etc.

\- Extensions

\- Dynamic values

\- Completions

Postman has the following which Paw lacks AFAIK:

\- Collection automation and testing

\- Chrome integration

\- Dark UI theme

If I had use either of the 2 above I would not be able to switch over to Paw.

[1] [https://www.getpostman.com/](https://www.getpostman.com/)

~~~
ddoolin
On Macs I would consider the Chrome integration to be a down side as it seems
to install itself as a separate application entirely, and thus in my app
launcher (which annoys me, especially when I'm signed into Chrome + Canary and
then it's showing up twice).

~~~
dorian-graph
When you Command+Tab to it it raises the main Chrome window too which is
annoying.

The positive side is the capturing of HTTP requests in Chrome.

------
ing33k
Paw is undoubtedly the best REST client, but that said I am slowly moving away
from it as it's not cross platform . I develop both on a Mac and Ubuntu system
.

Slowly migrating to Postman
[https://www.getpostman.com/](https://www.getpostman.com/)

------
ddoolin
I've been using this for awhile, and I think it's quite pricey for what it
does, as Postman is free and offers much of the same functionality. That said,
this has a great UI and the grouping feature is awesome for managing multiple
projects, and in general it works very well. One of my favorite features is
the ability to "turn off" certain parameters but keep them in the request, so
you can switch them on/off when you want to change maybe a field or two easily
without making an entirely new request.

I really would like to see the ability to type JSON out in the request body
manually instead of the somewhat-clunky input field deal.

~~~
lowbloodsugar
Re: JSON: You can: just use the text section. And you can go back and forth:
you can type some text, then edit specific fields in the JSON window.

~~~
Zombieball
Text entry also autocompletes variables and dynamic value function names!

------
brainburn
Somehow it does not understand what to do with my
[https://mydomain.io/blah](https://mydomain.io/blah) url, it tries to fetch
[https://mydomain.io%0A/blah%0A](https://mydomain.io%0A/blah%0A)

Postman has no problems with it though :)

------
westoque
I think $30 for REST client is a bit too much since there are many free
alternatives.

~~~
coldtea
It's for professionals where $30 is both nothing and tax-deductible.

~~~
westoque
I'm pretty sure professionals would think $30 IS something. It sure is to me!

~~~
coldtea
Let's put it this way: you should be making those in an hour or two.

------
sul4bh
The most useful feature for me is 'dynamic variables'. I can use data value
from a HTTP response as a variable in the request body for another HTTP
request. It makes testing API endpoints that depend on each other a breeze.

I also like the 'environment variable' feature. I can easy test the API
locally and on staging server just by changing setting different environments.

~~~
mittsh
Thanks! I'm the guy behind Paw, and I must say the Dynamic Values are our kind
of secret sauce :) it's just one piece of the app, but it's what allows you to
do pretty much whatever you want. Extensions are also nice, as they allow you
to add new features yourself:
[https://luckymarmot.com/paw/extensions/](https://luckymarmot.com/paw/extensions/)

------
jaaron
I'm actually surprised by how positive the responses are for this app.

First, I'm a bit turned off by it's use of the term REST. It's just an HTTP
client. Gah, I give up.

I occasionally use postman, but more likely I'm writing a script that I'm
going to integrate into my automated testing anyway. Or a simple one-off
script with wget. I find that faster to use than a GUI but maybe I'm just
getting too settled in my ways.

What was the use case that made you switch to something like this?

~~~
coldtea
> _First, I 'm a bit turned off by it's use of the term REST. It's just an
> HTTP client._

And REST is just an HTTP based architecture.

~~~
pornel
REST, in the form coined by Roy Fielding, is actually almost the opposite of
what "RESTful" means today, e.g.

> A REST API should not be dependent on any single communication protocol

[http://roy.gbiv.com/untangled/2008/rest-apis-must-be-
hyperte...](http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-
driven)

~~~
dragonwriter
> REST, in the form coined by Roy Fielding, is actually almost the opposite of
> what "RESTful" means today,

Not really the opposite. "RESTful", when it doesn't actually refer to
Fielding's REST [0], generally doesn't mean _anything_ , its just an empty
buzzword being dropped into a product description that communicates no
meaningful information at all. Even then, its seems to _be intended_ to
communicate "conforming to the REST architectural style", it just fails to do
so because its done without any knowledge of the REST architectural style (and
not even with an consistent _wrong_ view such that the use of the term could
be said to have a particular definition _different_ from that that Fielding
laid out for REST.)

[0] Though, to be fair, it often _does_ , although sometimes to only some
particular part of it (and not always the same part) as opposed to systems
that lack the part being focused on. This use is somewhat consistent with
Fielding's, though it would probably be better to focus on naming the
particular element.

~~~
coldtea
> _Not really the opposite. "RESTful", when it doesn't actually refer to
> Fielding's REST [0], generally doesn't mean anything, its just an empty
> buzzword being dropped into a product description that communicates no
> meaningful information at all._

Well, it instantly communicates: 1) over HTTP(S), 2) using HTTP queries (and
verbs) 3) taking advantage of HTTP authentication, caching etc, 4) returning,
more often that not, JSON.

That is, the important parts people care about.

------
vittore
I am looking at it and can hardly find anything that it has that free POSTMAN
doesn't have. I am wondering, anyone who leaving nice comment about Paw, have
you used POSTMAN before, if yes, what is it what it miss that justify non
cross platform piece of software that you have to pay for?

~~~
stephenr
Not requiring Chrome is worth $15 alone.

~~~
untog
Only if you're someone that doesn't use Chrome.

~~~
girvo
I use Chrome. I still don't want to use the idiotic "Chrome Apps" that aren't
apps at all, when I have a choice. For certain tasks I can see the value, but
for things I use every single day a native app is much better (especially just
for battery usage, assuming decent coding for both versions).

------
cwisecarver
It's excellent. It's worth the money. I didn't even expense it because it was
worth _my_ money.

------
akhilcacharya
I just discovered PAW yesterday. Its already my favorite Mac app. Absolutely
wonderful!

------
mplewis
I use Paw a bunch and I love it.

------
quicksnap
I normally use Postman, and the one feature that turns me off right now is the
inability to import from a URL. Specifically, Swagger.

Postman has these type of import options:
[https://dl.dropboxusercontent.com/spa/4moihw0kt47f2sy/lona1q...](https://dl.dropboxusercontent.com/spa/4moihw0kt47f2sy/lona1q7g.png)

I also tried saving my Swagger JSON spec to a file and importing it via the
Swagger Importer, but it failed. =\

Otherwise, it seems gorgeous!

~~~
mittsh
Hey, are you using that Swagger Importer?
[https://luckymarmot.com/paw/extensions/SwaggerImporter](https://luckymarmot.com/paw/extensions/SwaggerImporter)
If it fails, I'm happy to help. Can you share with us the Swagger file you're
trying to import (support@luckymarmot.com)? Will be happy to help. (I'm the
Paw founder)

------
tbrock
I wish you could send a request by hitting the enter key in paw. I seem to
remember that not being possible.

~~~
frenchie4111
You have to do _Cmd_ \+ _Enter_ to send the current request

~~~
dorian-graph
For the record, this is also common behaviour in other apps on Mac.

------
morgante
I downloaded the trial, but unfortunately it seems to be extremely buggy. I'll
stick with Postman.

~~~
mittsh
Sorry for the trouble :( If you can, we'd love to hear more details about the
bugs you had. You can contact us via our support page:
[https://luckymarmot.com/paw/support](https://luckymarmot.com/paw/support)
Thanks a lot!

------
tempodox
Might be nice. However, I do not find video an acceptable medium for a
tutorial or documentation. Might be easier to make than a written doc, but so
much harder for the recipient to get value out of.

------
msoad
This should have Swagger import!

~~~
lobster_johnson
It does:
[https://luckymarmot.com/paw/extensions/SwaggerImporter](https://luckymarmot.com/paw/extensions/SwaggerImporter).

------
vermooten
DHC anyone?

~~~
adam-a
I use DHC and like it a lot. I tried a bunch of the other Chrome based HTTP
testers and found it to be the easiest and neatest one. I haven't tried
Postman yet though.

It would be nice if there was a way for it to tell I have donated though and
stop bugging me.

------
MichaelCrawford
There is an elementary particle physics program produced by CERN called PAW,
for Physics Analysis Workstation.

In my honest opinion, it is the very worst computer program to have ever
walked the earth.

~~~
mittsh
Yeah, there are a couple of homonyms :) Didn't know that CERN project, though.
We try to spell Paw (capitalized P) as it isn't an acronym.

------
jinwei
the logo of Paw is too like Baidu's
[https://www.baidu.com/](https://www.baidu.com/)

~~~
ddoolin
A paw print is quite a generic thing and even the shape of the paw itself
between the two is made differently. Aside from the general idea of a paw,
they don't seem to have anything else in common.

------
stephenr
Not in the MAS? I'm _significantly_ less likely to buy your app.

Edit: apparently it _is_ available via MAS but there is ZERO mention of this
on the site (on mobile at least).

~~~
themartorana
Why? Sandboxing?

After a decade or more of Mac apps working just fine through online sales,
what is the driver - what is so significant - that makes you get so upset that
it might not be offered on the MAS?

I personally find the move to the MAS a sad development - less $ per sale to
the dev, 30% grift from Apple, as if they needed more money, and sandboxing
that renders some of the best apps out there less-than-useful. Not to mention
Apple's arbitrary approval process that - if nothing else - puts an additional
week between me and bug fixes.

I can understand liking the convenience. But what makes it so necessary?

~~~
mittsh
As lobster_johnson mentioned, Paw is indeed available on the MAS:
[https://itunes.apple.com/app/paw-http-rest-
client/id58465320...](https://itunes.apple.com/app/paw-http-rest-
client/id584653203?mt=12)

I'm the founder of Paw, and frankly I like the MAS. It gave Paw a lot of
visibility without us taking any financial risk. Otherwise, we would have
needed to pay for some kind of advertising when we didn't have the money for
it. MAS allowed us to bootstrap and gain users.

Sure, the 30% split for Apple sounds like a lot, and it surely is. That's
exacly why we encourage users to get Paw from our website (which uses Stripe
for CC processing). Also, website purchases get updates a little faster, as it
doesn't rely on Apple's approval (which is IMO the real pain point of the
MAS).

Lastly, sandboxing isn't an issue at all for us. And the version distributed
through the website is also sandboxed. I personally love sandboxing, as a user
first, and as a developer too. Sure, some apps (due to their nature) can't
work with sandboxing, and should probably be allowed on the MAS as a special
exception (the example I have in mind is the excellent Git Tower).

~~~
stephenr
It's good to have your view on this, but I honestly think you should make
_some_ reference to the MAS on your site - even if it's on a page that
highlights the user downside (slower releases etc) - if I browse an app
site/page and it doesn't mention the MAS I assume they're not on it.

~~~
mittsh
Probably, yes. Thanks for your feedback anyways! There is a (not so visible)
doc page about the differences:
[https://luckymarmot.com/paw/doc/Difference_MAS_Retail](https://luckymarmot.com/paw/doc/Difference_MAS_Retail)

