Really appreciate you taking the time to help. If you have other ideas, I’m all ears. I’ve also written to the Keywords Everywhere team to see if they have any insight.
Instead, try that
Delete header content-type (I think finally that they expect data in query string)
Delete the json body and Add this to the JSON body
dataSource=gkp&country=us¤cy=USD&kw[]=keywords tool&kw[]=keyword planner
I have tested with importing the call in postman like they suggest
Can you add headers:
Content-type application/x-www-form-urlencoded
Accept application/json
You can also try to delete the body and set it using parameter like you did on the first try. Just keep the same content type header. A good tool to use to check the output of your requests if requestbin.com. You can inspect the call and check if this match what API Provider expect.
If this don’t work, maybe you should ask the API provider to see what you are doing wrong. It will be hard for someone else to test because the API seem to request credits to run the call.
For anyone stumbling across this later, here’s what my final set up looks like for initializing the Keywords Everywhere API for the Get Keyword Data endpoint. You have to also set up the API (shown in the original question) before setting up this particular call.
In fact, Bubble may not call the Body a json one because you can also add url parameters like you did for this case.
Bubble have some strange behavior in API depending on how you set header or parameters / body.
So for example, the original request you made probably get encoded in json. But the API expect form encoded. So it didn’t work. Like when we test using a json body.
Even if you put the content type header to form encoded, Bubble will overide it. But if you put querystring, it will not be the case. But the ouput is a little bit different too.
Maybe someday I will create a video to show how all different behavior in Bubble API Connector when using json as body type
I’m stuck again, this time on how I can add a parameter so that I could pass a user input from the front end of my app through to the Keywords Everywhere API.
You saw the working set up above, but when I try to add a variable field, it doesn’t work.
You should use dynamic value inside the body
like ...&kw[]=<keyword>
If you need to add more than one, you might consider using &<keywords> and use a list with :formatted as text. In the first part you will use kw[]=Current text and the join with you use &
Or use &kw[]=<keywords> and in dynamic value use join with “&kw[]=”