Redbubble APIhelp.redbubble.com ↗
Extract form field names, XPaths, and input types from Redbubble help center ticket submission forms via a single structured API endpoint.
What is the Redbubble API?
This API exposes 1 endpoint — get_form_fields — that returns a structured list of all form fields from Redbubble's Zendesk-powered help center ticket submission forms. Each response includes field names, XPaths, input types, and required status for a given ticket_form_id, covering form types such as Notice and Takedown, Counter Notice, and order issue submissions.
curl -X GET 'https://api.parse.bot/scraper/aa6aea11-c231-47f4-90a4-d2a796575a35/get_form_fields?ticket_form_id=360000954531' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace help-redbubble-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Redbubble Help Center Form Fields API — bounded, re-runnable."""
from parse_apis.help_redbubble_com_api import Redbubble, ParseError
client = Redbubble()
# Fetch the Notice and Takedown form fields
form = client.ticket_forms.get(ticket_form_id="360000954531")
print(f"Form ID: {form.ticket_form_id}, total fields: {len(form.fields)}")
for field in form.fields[:3]:
print(field.field_name, field.xpath, field.input_type, field.required)
# Typed error handling for unexpected failures
try:
other_form = client.ticket_forms.get(ticket_form_id="17255")
print(f"Other form: {other_form.ticket_form_id}, fields: {len(other_form.fields)}")
except ParseError as e:
print(f"Error: {e}")
print("exercised: ticket_forms.get")
Retrieve all form fields with their names, XPaths, and input types from a Redbubble help center ticket form. Each ticket_form_id corresponds to a different request type (e.g. Notice and Takedown, Counter Notice, order issues). Results are a single-page list of field descriptors for the specified form.
| Param | Type | Description |
|---|---|---|
| ticket_form_id | string | Zendesk ticket form ID identifying which form to extract fields from. |
{
"type": "object",
"fields": {
"fields": "array of field descriptors, each with field_name, xpath, input_type, required",
"ticket_form_id": "string — the form ID that was queried"
},
"sample": {
"data": {
"fields": [
{
"xpath": "//*[@id=\"request_issue_type_select\"]",
"required": true,
"field_name": "Please choose your issue below",
"input_type": "select"
},
{
"xpath": "//*[@id=\"request_custom_fields_360032338492\"]",
"required": true,
"field_name": "Your Full Name",
"input_type": "input[type=\"text\"]"
},
{
"xpath": "//*[@id=\"request_custom_fields_360032338512\"]",
"required": true,
"field_name": "Rights Holder Name",
"input_type": "input[type=\"text\"]"
}
],
"ticket_form_id": "360000954531"
},
"status": "success"
}
}About the Redbubble API
What the API Returns
The get_form_fields endpoint accepts a ticket_form_id string parameter identifying which Redbubble help center form to inspect. The response contains two top-level fields: ticket_form_id (echoing the queried form) and fields, an array of field descriptors. Each descriptor in the fields array includes field_name, xpath, input_type, and required — giving you everything needed to understand the structure of that specific form.
Form Coverage
Redbubble's help center uses Zendesk ticket forms, each identified by a numeric ticket_form_id. Known form types include intellectual property workflows (Notice and Takedown, Counter Notice) and customer support requests (order issues, account problems). Passing different ticket_form_id values to the endpoint returns the field layout for each distinct form. The ticket_form_id parameter is optional; omitting it returns fields for the default form.
Response Shape Details
The fields array entries describe every input present on the target form: text fields, dropdowns, checkboxes, file uploads, and similar input types are captured in input_type. The xpath value locates each field within the page's DOM structure, which is useful when building automated form submission workflows. The required boolean flags which fields must be populated before a ticket can be submitted.
The Redbubble API is a managed, monitored endpoint for help.redbubble.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when help.redbubble.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official help.redbubble.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Automating Redbubble DMCA Notice and Takedown ticket submissions by pre-mapping required field XPaths
- Building a Counter Notice submission workflow that validates all required fields before sending
- Auditing Redbubble's support form structure to track changes in required fields across ticket types
- Generating form-fill scripts for order issue submissions using the returned field names and input types
- Comparing field requirements across multiple ticket_form_ids to document differences between form types
- Integrating Redbubble ticket creation into a customer support pipeline using the structured field descriptors
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Redbubble have an official developer API for its help center or ticket forms?+
What does `get_form_fields` return for a given ticket_form_id?+
ticket_form_id that was queried and a fields array. Each entry in that array contains field_name (the label or identifier of the input), xpath (its location in the form's DOM), input_type (e.g. text, select, checkbox, file), and required (a boolean indicating whether the field must be filled to submit the form).Does the API return the selectable options for dropdown or radio fields?+
field_name, xpath, input_type, and required for each field, but does not enumerate the individual options within dropdown or radio button inputs. You can fork this API on Parse and revise it to add option-value extraction for those input types.Are there limitations on which forms are accessible?+
ticket_form_id parameter is optional; if omitted, the endpoint falls back to the default form.