Hi everyone,
My name is Nick, and I’m a product manager on the editor team. I’m excited to announce that JSON parsing in the API Connector is now live.
If you’ve ever connected Bubble to an LLM API and found yourself building a workaround just to get access to the data inside the response, this update is relevant to you.
What changed
Until now, Bubble couldn’t parse nested, stringified, JSON structures, which meant extracting usable fields often required making an API call back into your own app, or piecing together plugins and workflows just to surface what you actually needed. These workarounds could add extra workload consumption on top of the original API call, and if the API’s response structure changed, the workaround had to be updated too.
With this update, the API Connector can now automatically read and understand the full structure of a JSON response (including deeply nested data, arrays, and complex response structures) and make every field directly usable in your app. The data is immediately accessible in workflows, pages, and expressions, without any extra setup.
We also updated the response UI to reflect this. Previously, the response preview would flatten everything into a long list of fields, which made it difficult to understand the shape of the data. Now, responses are displayed in their original structure, making it easier to reference exactly what you need.
What this means for you
This is most impactful if you’re building with LLM APIs. Providers like Anthropic and OpenAI often return structured JSON in their responses, and those fields now come through natively on Bubble.
For example, imagine you’re building a trave companion app that calls an LLM API and gets back a structured list of itinerary items, each with dates, location, notes, and a generated summary, but unfortunately, the API returns all of that info inside one field called content.
Here’s an example of what that response might look like:
Now, you can parse into that as if they had sent the response like this:
That means, days and items are available as lists. You can bind them to repeating groups and reference title, location, etc. as fields on each item, and use summary in a text element, all without any extra steps to set up.
Note on backwards compatibility: Existing API Connector calls are not affected by this change. If you have calls already configured, they will continue to work as before. If you choose to reinitialize those calls, you’ll see the new JSON parsing options and can decide whether or not to apply them. If you do, you will likely need to update any expressions that reference this API call to use the new fields.
Give it a try
We know this feature has been long-awaited, and we’re excited about finally going live with it. If you’ve been holding off on building certain API integrations because of the limitations around JSON parsing, this is a good moment to revisit those builds.
Try it out and let us know how it goes. Looking forward to hearing your feedback!
Nick


