# 2026 Q1 Changelog

Here's a summary of everything we shipped and published in Q1 2026.

### API Changes

#### `parse_json` Now Publicly Available

[`parse_json`](https://gaffa.dev/docs/features/browser-requests/actions/parse-json) has graduated from beta and is now publicly available. It uses AI to extract structured data from any webpage according to a schema you define, without HTML parsing or brittle CSS selectors. You describe the fields you want, and Gaffa returns a clean JSON object.&#x20;

#### **Mapping Requests Now Publicly Available**

[Mapping Requests](https://gaffa.dev/docs/features/mapping-requests), which lets you extract all URLs from a site's sitemap, has moved out of beta and is now publicly available to all users. It's useful for building crawlers, auditing site structure, or feeding a list of URLs into a batch scraping workflow.&#x20;

***

### Tools

#### **New Tool: HTML to Markdown Converter**

We launched [HTML2Markdown](https://html2markdown.gaffa.dev/), a free tool powered by Gaffa that converts any webpage into clean, readable markdown in one click. It's built on the same [`generate_markdown` ](https://app.gitbook.com/s/yUba6osOT5MkKiV0wmgr/features/browser-requests/actions/generate-markdown)action available in the API, so it's also a good way to see what the action produces before integrating it into your own project.

***

### **Samples, Blog & Tutorials**

#### Table Scraping: Python Examples and Full Walkthrough

We added a new set of Python examples to our GitHub samples repository focused on scraping tables, along with a full blog post walkthrough covering both approaches, when to use each, and how to get clean, structured output either way. There are three scripts covering different approaches:

* `capture_dom.py` — Fetches the raw HTML via Gaffa's `capture_dom` action and parses the table locally using BeautifulSoup. Good for when you need full control over how the data is processed.
* `parse_table_demo.py` — Uses Gaffa's `parse_table` action on our demo site to return structured JSON directly, with no HTML parsing required.
* `parse_table_wikipedia.py` — A real-world example using `parse_table` on Wikipedia's GDP by Country table. Shows how headers are automatically normalised into clean JSON keys.

View the [examples](https://github.com/GaffaAI/GaffaPythonExamples/tree/main/scripts/ScrapingTables). Read the [post](https://gaffa.dev/blog/how-to-scrape-a-table-with-python).

#### Automated Form Filling: Python Examples and Tutorial

We added a set of Python examples to our samples repository along with a full tutorial covering how to automate web form interactions end-to-end. It walks through using `parse_json` to extract all fields from a form into a structured schema, prompting for values in the terminal, filling and submitting the form using `type` and `click`, and capturing a screenshot after submission. It's designed for automation workflows that require schema-driven extraction with a human-in-the-loop data-entry step.

View the [examples](https://github.com/GaffaAI/GaffaPythonExamples/tree/main/scripts/AutomatedFormFilling). Read the [tutorial](https://gaffa.dev/docs/tutorials/forms).

#### **How to Scrape Every Image from a Website**

We published a guide walking through how to use Gaffa to automatically extract every image from a webpage, covering how to combine browser actions to navigate, wait for content to load, and pull out image URLs at scale. [Read the post.](https://gaffa.dev/blog/how-to-automatically-scrape-every-image-from-a-website)

#### **How to Slash Your Gaffa Credit Costs by 40+%**

We published a breakdown of how blocking unnecessary media downloads using `max_media_bandwidth` can reduce your credit usage by over 40% on image-heavy sites, with no impact on the text content you're trying to extract. [Read the blog.](https://gaffa.dev/blog/how-to-slash-your-gaffa-credit-costs-by-40-percent)

#### **Let Your AI Assistant Write Your Gaffa Code**

We published a guide showing how to use Gaffa's `llms.txt` file to give AI assistants like ChatGPT or Claude accurate, up-to-date context about the API, so they can generate working code straight away without you needing to explain endpoint structures or payload formats. [Read the blog.](https://gaffa.dev/blog/let-your-ai-assistant-write-your-gaffa-code)

#### **Case Study: ivee**

We published a case study on how ivee used Gaffa to scrape 50 job boards, tripling their curated job listings and saving 10 hours of manual work per week. It's a good real-world example of what's possible when you remove the infrastructure overhead from a scraping workflow. [Read the case study.](https://gaffa.dev/blog/ivee-case-study)
