RedCrawler API
Widget V1

Update Widget V1

Update a sidebar widget. Requires mod permissions. Send any fields you want to change.

PUT /api/v1/communities/{name}/widget/{widget_id}

Update a sidebar widget. Requires mod permissions. Send any fields you want to change.

Path parameters

NameTypeRequiredDescription
widget_idstringYesWidget ID to update (from All Widgets response).
namestringYesSubreddit name.

Body parameters

NameTypeRequiredDescription
textstringNoWidget text content (for textarea kind).
proxystringNoProxy. Optional if stored in Token Vault.
bearerstringNoBearer token. Optional if stored in Token Vault.
stylesstringNoJSON object with style options.
shortNamestringNoWidget title/short name.
kindstringNoWidget kind: textarea, button, community-list, subreddit-rules, image, calendar, custom.

Authentication

HeaderValue
X-RapidAPI-KeyYour RapidAPI key
X-RapidAPI-Hostred-crawler1.p.rapidapi.com

Example request

cURL

curl -X PUT "https://red-crawler1.p.rapidapi.com/api/v1/communities/SpaceX_Starship_News/widget/<widget_id>" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: red-crawler1.p.rapidapi.com" \
  -H "Content-Type: application/json" \
  --data '{"text": "<text>", "proxy": "<proxy>", "bearer": "<bearer>", "styles": "<styles>", "shortName": "<shortName>", "kind": "textarea"}'

JavaScript

const res = await fetch("https://red-crawler1.p.rapidapi.com/api/v1/communities/SpaceX_Starship_News/widget/<widget_id>", {
  method: "PUT",
  headers: {
      "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com"
    },
    body: JSON.stringify({
  "text": "<text>",
  "proxy": "<proxy>",
  "bearer": "<bearer>",
  "styles": "<styles>",
  "shortName": "<shortName>",
  "kind": "textarea"
})
});
const data = await res.json();
console.log(data);

Python

import requests

url = "https://red-crawler1.p.rapidapi.com/api/v1/communities/SpaceX_Starship_News/widget/<widget_id>"
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com",
    "Content-Type": "application/json"
}
payload = {
  "text": "<text>",
  "proxy": "<proxy>",
  "bearer": "<bearer>",
  "styles": "<styles>",
  "shortName": "<shortName>",
  "kind": "textarea"
}
resp = requests.put(url, headers=headers, json=payload)
print(resp.json())

Example response

HTTP 200 — captured from a live call to the gateway.

{
  "success": true,
  "data": {
    "text": "test3",
    "kind": "textarea",
    "shortName": "test3",
    "textHtml": "&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;test3&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;",
    "id": "widget_1gy4rgjhqx9db"
  },
  "error": null,
  "timestamp": "2026-04-29T18:23:52.966735+00:00"
}

On this page