
Show HN: WrapAPI: a tool to build APIs and bots on top of any website - arciini
https://wrapapi.com/
======
arciini
Hi! I'm Peter, creator of the tool. Let me know if you have any feedback, or
any possible use cases for it by posting below or emailing me at
peter@wrapapi.com

I've done a lot of reverse-engineering of websites and thought a lot of the
work could be made more generic. WrapAPI is an attempt to generalize a lot of
the work needed to simulate actions on websites.

There are basically 4 steps:

1\. Capture sample requests to serve as a reference - this is similar to how
one might use the Chrome Developer Tools or a packet sniffer to capture sample
requests to the app

2\. Specify inputs - parametrize the inputs so that you can switch out
arguments passed to the webpage

3\. Extract outputs - we have Kimono-like visual tools to select the outputs
from the webpage via CSS, JSON, and Regexp selectors

4\. Test it out - try it to ensure everything's working

In addition, we want users to be able to share and publish the work, so we've
added that too.

~~~
brbsix
I've installed the Chrome extension and now see the following error when I
click on the extension:

[http://i.imgur.com/TlJXFJm.png](http://i.imgur.com/TlJXFJm.png)

[http://i.imgur.com/q6KIE1J.png](http://i.imgur.com/q6KIE1J.png)

Any tips? I'm not really sure what it's doing but I checked `netstat` and
nothing appears to be listening on 127.0.0.1:60876.

~~~
arciini
This should be fixed as of version 0.15. Please make sure you're on that
Chrome extension version. Thanks!

------
supersan
This reminds me of a very old Perl module called HTTP::Recorder [1]. It used
to set a Http Proxy for WWW::Mechanize and then output a WWW::Mechanize script
to automate the requests.

I used for testing long time back. Of course it didn't allow Javasript because
it ran on Mechanize but it also meant it was extremely fast.

[1]
[http://www.perl.com/pub/2004/06/04/recorder.html](http://www.perl.com/pub/2004/06/04/recorder.html)

------
xur17
Cool concept - I'm really interested to see what I can build with it.

I installed the chrome extension, and saved a request to an endpoint, but it's
not showing up in my account under 'My API endpoints'. Is there something
special I have to do to get it to show up?

edit: sent an email.

------
fjallstrom
hi! some constructive criticism.

i love the idea, connecting developer tools via a plugin to the site is
genius. this is a very creative way of doing this, and it's perfect.

the user interface on the site is pretty messy though. i've just tried to
fetch my first data and it just got to messy to be worth it. it's currently
(for me at least) less messy doing this sort of thing manually than clicking
around in the interface, and that should give you a hint that the ux needs
some work.

will check back in the future though, it looks very promising!

~~~
phsource
Thanks for trying it out this far fjallstrom! Out of curiosity, which part of
the process did you get stuck on? We've been trying to work on the UI a lot,
so would love the feedback.

------
flashman
What's the difference between your service and import.io?

------
BlackJack
Looks neat, how does it work? Also, you guys should make the Chrome extension
more prominent as that seems to be very neat.

~~~
arciini
It works by letting you capture network requests and then replicating those
network requests exactly.

This includes tools to parametrize GET and POST requests, as well as a set of
tools to extract data from the webpage itself.

We're working on a video demoing how it works! Let me know if there are
particular use cases in mind and I'd be happy to try to help out on those.

~~~
jc_811
Is this similar to [https://www.getpostman.com/](https://www.getpostman.com/)
? If so, what do you think will differentiate your app? Thanks!

~~~
arciini
It's similar in that it captures requests, but Postman is mostly targeted at
making APIs that already exist more useful, while WrapAPI aims to fill the gap
where there currently are no APIs. It also:

\- Parses the output into a machine-readable format (similar to Kimono Labs)

\- Allows you to publish the request and its schema to a publicly accessible
API endpoint, rather than just testing existing API endpoints

Hope this helps! Give it a shot; it's a very powerful tool

------
sharemywin
I didn't see the bot part of it?

~~~
darfs
Think(!) it's about building an API. Around the API you can, if u want, build
a bot. That's why there API-Keys i think (I can't imagine another possible
scenario). With that keys a bot would have access.

~~~
arciini
Yup, that's right. Half of building a bot involves getting the machine-
readable data, and that's the part that we try to make easier.

------
choward
Is this open source? If not, I see no point in using a tool that can be
changed underneath me to wrap APIs around web sites that change underneath me.

