# API Connector - use most JSON APIs directly from Bubble

**URL:** <https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370>\
**Category:** Announcements\
**Created:** [April 14, 2016, 4:55pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370 "2016-04-14T16:55:05Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 14, 2016, 4:55pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/1 "2016-04-14T16:55:05Z")

</div>

We are really excited to announce that in addition to Blockspring and Zapier, you can now also connect to other services using the [API Connector](https://bubble.io/reference#Interface.APIConnector)!

This really opens up a lot of opportunities to use services like Lyft, Etsy and a lot more, without having to write any code.

We put together two video tutorials to help you get up to speed - one to [create a BMI calculator](https://vimeo.com/162728948) and another to [get a listing from Etsy](https://vimeo.com/162729137).

There are a lot of ways we can grow this feature - looking forward to your feedback, here for feature requests and via support@bubble.is for bugs.

Cheers!

---

<div class="post-metadata">

**Author:** ![closej402880](https://avatars.discourse-cdn.com/v4/letter/c/57b2e6/32.png) [@closej402880](https://forum.bubble.io/u/closej402880)\
**Post date:** [April 14, 2016, 5:26pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/2 "2016-04-14T17:26:24Z")

</div>

Hi George,

Great Feature.

Is it possible set set parameters for a get call based on an input from your site. Such as search etsy listings to display listings based on there title, the title been inputted on our app page.

Thanks

P.s i get this message when i try and call my own API using my own domain.

![](https://us1.discourse-cdn.com/bubble/original/2X/f/fd79842d109c0b7fbc86dbb4bf5e55bb28b8a76f.png)

It works when i try the domain attached to bubble such as [APPNAME.bubbleapps.io](http://APPNAME.bubbleapps.io).

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 14, 2016, 5:42pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/3 "2016-04-14T17:42:33Z")

</div>

You can set call parameters for all call types, including GET. See the Etsy video tutorial.  
I’d have to see your call (email us at support@bubble.is if there are private details) to understand what happens.

---

<div class="post-metadata">

**Author:** ![csblack](https://avatars.discourse-cdn.com/v4/letter/c/7feea3/32.png) [@csblack](https://forum.bubble.io/u/csblack)\
**Post date:** [April 14, 2016, 6:42pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/4 "2016-04-14T18:42:21Z")

</div>

Great work guys! Looks like this opens up a number of possibilities.

I am trying to connect to an OAuth2 application, which redirects the user back to my site with a code. I am to then exchange the code for an access token by making a POST call, and including the code in the parameters.

My question is, how do I include the the code from the redirect in the parameters of the next call?

---

<div class="post-metadata">

**Author:** ![pengx26](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/pengx26/32/1455_2.png) [@pengx26](https://forum.bubble.io/u/pengx26)\
**Post date:** [April 14, 2016, 8:03pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/5 "2016-04-14T20:03:13Z")

</div>

Yes! Great work!!

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 14, 2016, 9:00pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/6 "2016-04-14T21:00:51Z")

</div>

You can create a page that gets the parameter (your token in this case) [from the URL](https://bubble.io/reference#Data.DataSources.GetParamFromUrl) and on page load makes the POST call you need. We will soon enable better OAuth support, but for now try this.

---

<div class="post-metadata">

**Author:** ![bam](https://avatars.discourse-cdn.com/v4/letter/b/34f0e0/32.png) [@bam](https://forum.bubble.io/u/bam)\
**Post date:** [April 15, 2016, 1:17am UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/7 "2016-04-15T01:17:48Z")

</div>

Having a small issue getting this to work with repeating groups. Trying to display a repeating group with a setlist using their json API. When I try to set the repeating group data source, all items return red errors. What am I doing wrong?

 ![](https://us1.discourse-cdn.com/bubble/original/2X/e/e8b23c87c3e10d475e238f4b040c718b4867233a.png)

---

<div class="post-metadata">

**Author:** ![cakeheke](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/cakeheke/32/1463_2.png) [@cakeheke](https://forum.bubble.io/u/cakeheke)\
**Post date:** [April 15, 2016, 1:18am UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/8 "2016-04-15T01:18:13Z")

</div>

Is this going to enable me to be able to use [midi](https://en.wikipedia.org/wiki/MIDI) functionality on my websites?

---

<div class="post-metadata">

**Author:** ![ON2](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/on2/32/1055_2.png) [@ON2](https://forum.bubble.io/u/ON2)\
**Post date:** [April 15, 2016, 1:21am UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/9 "2016-04-15T01:21:44Z")

</div>

Very cool… Great Job guys!

---

<div class="post-metadata">

**Author:** ![Jean-Pierre](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@Jean-Pierre](https://forum.bubble.io/u/Jean-Pierre)\
**Post date:** [April 15, 2016, 3:43am UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/10 "2016-04-15T03:43:56Z")

</div>

Hi,

First of all, congrats guys for this new feature !😃

I would like to know if this feature can allow us to stock and display some HTML content such as heading tags, text, etc. on the API connector and then display them as a fully understandable and readable written code by robots in body pages of an app?

So far as I know, Bubble does not offer yet the ability to set different tags in the body of all pages of an app. Feel free to correct me if I’m wrong ! 😉

If not, maybe an easier, less api call function on page load and with less settings operations for bubblers option would be to have something like this on page settings ? :

a) Add a button called " Add a tag into the Body"

![](https://us1.discourse-cdn.com/bubble/original/2X/5/58df3c22d637ab2ecadec15aa76663811f4b546c.png)

b) Adding sections for the code we want to add for example “My h1 heading” or ![](https://us1.discourse-cdn.com/bubble/original/2X/0/0865344c317c1b413180283eb78029bd2aa06389.png)wich would enable bubblers to have access on styles settings, x and y values at least on it :

 ![](https://us1.discourse-cdn.com/bubble/original/2X/1/18df2d93a8d063d012df13cb80a4e054f744bb72.png)

Does it makes sense and is it something easy to implement?

Thanks a lot! 😄

---

<div class="post-metadata">

**Author:** ![pengx26](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/pengx26/32/1455_2.png) [@pengx26](https://forum.bubble.io/u/pengx26)\
**Post date:** [April 15, 2016, 5:44am UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/11 "2016-04-15T05:44:00Z")

</div>

Does this support nested calls?

I’m currently testing the following out:  
 ![](https://us1.discourse-cdn.com/bubble/original/2X/c/c857390b68b422f46cab47b43832b87b58903e9f.png)

But when I initialize it, it gives me ----\> {“errors”:{“fulfillment\_service”:“expected String to be a Hash”}}

I’m not too familiar with API calls so I’m guessing “fulfillment\_service” is nested but Bubble can’t support this yet?

---

<div class="post-metadata">

**Author:** ![csblack](https://avatars.discourse-cdn.com/v4/letter/c/7feea3/32.png) [@csblack](https://forum.bubble.io/u/csblack)\
**Post date:** [April 15, 2016, 9:17am UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/13 "2016-04-15T09:17:53Z")

</div>

Thank you. Makes sense. Am I able to get an access token. How do I pass that into the next GET call? Their documentation tells me to pass the access token as a bearer token by including an Authorization header with the value of Bearer, but I can’t get the call to initialize in Bubble due to an “invalid\_token” error. Obviously I’m not including credentials (client\_id, client\_secret, code) in this get call. Should I be?

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 15, 2016, 3:04pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/14 "2016-04-15T15:04:25Z")

</div>

It should work. Did you set the Content-Type header to application/json?

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 15, 2016, 3:09pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/15 "2016-04-15T15:09:25Z")

</div>

This depends on the token expiration. If the token is valid for say minutes or an hour, you can include it as a client-safe header for the second call. If the token nevee expires obtain it and then manually save it as a private header parameter on the call.

We’ll enable native OAuth support soon, it looks like it’s needed. This will make the process transparent and secure, since it will be handled by our server.

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 15, 2016, 3:12pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/16 "2016-04-15T15:12:12Z")

</div>

Thank you Jean-Pierre.  
What are you trying to achieve? If you’d like to edit the page HTML, look into the HTML component to add things. I’m not sure it would help with SEO if that’s what you’re looking to do.

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 15, 2016, 3:13pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/17 "2016-04-15T15:13:57Z")

</div>

Not sure, but if you want to you can add an HTML embed with the HTML component.

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 15, 2016, 3:18pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/18 "2016-04-15T15:18:05Z")

</div>

Hi Bam,

We only load the first element of an array (changing that soon) so that might be what you are seeing. Can you please include a screenshot of the result of the initialize call mapping, and of the editor where you use this? Email us at support if you have confidential data.

---

<div class="post-metadata">

**Author:** ![AliFarahat](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/alifarahat/32/189604_2.png) [@AliFarahat](https://forum.bubble.io/u/AliFarahat)\
**Post date:** [April 15, 2016, 6:16pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/19 "2016-04-15T18:16:55Z")

</div>

Hey @georgeciobanu

how would i use the API connector and place a value in the url below. This API provider requires the data to be passed in the url (Red area). this is aside from other data required in parameters

![](https://us1.discourse-cdn.com/bubble/original/2X/9/9d831758989cef08453bd6da5bbf14a3c229a3e5.png)

thanks

---

<div class="post-metadata">

**Author:** ![georgeciobanu](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/georgeciobanu/32/315_2.png) [@georgeciobanu](https://forum.bubble.io/u/georgeciobanu)\
**Post date:** [April 15, 2016, 6:40pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/20 "2016-04-15T18:40:34Z")

</div>

Hi Ali,

If there’s no other way to pass the parameter (via body, header or parameters) we can create a client-safe checkbox for the url and let you configure it as well.

---

<div class="post-metadata">

**Author:** ![AliFarahat](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/alifarahat/32/189604_2.png) [@AliFarahat](https://forum.bubble.io/u/AliFarahat)\
**Post date:** [April 15, 2016, 7:13pm UTC](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370/21 "2016-04-15T19:13:49Z")

</div>

So it will be like the parameter section? OK let me know when as blockspring now requires me to have a paid membership and I rather use this plugin.

[Next page](https://forum.bubble.io/t/api-connector-use-most-json-apis-directly-from-bubble/2370.md?page=2)
