Skip to main content

JuicyChat Client

Unofficial Python client for JuicyChat. It handles login, encrypted request/response payloads, and provides a CLI for interactive chat, character search, user discovery, personas, and tasks.

Features

  • Authentication — Login with user number and password
  • Characters — Search characters by term, tags, gender, and sort order; get character details
  • Chat — Send messages and stream replies; list, clear, and delete chat history
  • Users — Search users, view profiles, follow/unfollow
  • Creator Rankings — Browse ranked creators (monthly, all-time, new creators)
  • Personas — Create personas and attach them to character chats
  • Tasks — View task list, check progress, claim task rewards
  • Content Filter — Toggle NSFW content filter
  • Crypto — AES-encrypted API payloads; key/IV from env or auto-discovered from the site bundle
  • Bundle Discovery — Extract crypto keys, app version, and API endpoints from the site JS bundle

Requirements

  • Python 3.11+
  • cryptography, python-dotenv, requests (see pyproject.toml)

Installation

pip install juicychat-client

Configuration

Credentials and crypto can be set via environment variables or a .env file.

Variable Description
JUICYCHAT_USERNUMBER Account user number
JUICYCHAT_PASSWORD Account password
JUICYCHAT_KEY 16-byte AES key (UTF-8) for request/response encryption
JUICYCHAT_IV 16-byte AES IV (UTF-8)

If JUICYCHAT_KEY and JUICYCHAT_IV are not set, the client will fetch the site's JS bundle and extract the current key/IV automatically. For stability, setting them in .env is recommended once you have them.

Usage

CLI

Run the interactive menu (login uses env or prompts for user number/password):

juicychat
# or
python -m juicychat.cli

Menu options (available options depend on whether a conversation is selected):

  • Select Conversation — Pick from existing chat relations
  • Continue Conversation — View history and send messages in the selected chat
  • Clear Conversation — Clear message history for the selected chat
  • Delete Conversation — Remove the selected chat relation
  • Character Detail — View details for the selected character
  • Search Characters — Search and select a character
  • Get Task List — View available tasks
  • Create Persona — Create a new persona (title, name, description, gender, age)
  • User Info — View current user details
  • Toggle Content Filter — Toggle the NSFW content filter on/off
  • Search Users — Search for users and view their profiles

Library

import os
from dotenv import load_dotenv
from juicychat.client import JuicyChatClient, Gender, SortName

load_dotenv()

client = JuicyChatClient(
    user_number=os.getenv("JUICYCHAT_USERNUMBER"),
    password=os.getenv("JUICYCHAT_PASSWORD"),
    key=os.getenv("JUICYCHAT_KEY"),
    iv=os.getenv("JUICYCHAT_IV"),
)

info = client.get_user_info()
characters = client.search_characters("elf", gender=Gender.FEMALE, sort_name=SortName.POPULAR)
relations = client.get_chat_relations()
reply = client.send_chat_message(character_id="...", message="Hello")

Client Methods

User

  • get_user_info() — Current user details
  • get_other_user_info(user_id) — Another user's profile
  • get_user_coins() — Coin balance
  • get_user_progress() — Task/level progress
  • get_user_checkin_prompt() — Daily check-in prompt
  • get_user_claim_coupon() — Claim available coupon
  • update_content_filter(allow_nsfw) — Toggle NSFW content filter

Characters

  • search_characters(search_content, character_tags, gender, sort_name, page_no, page_size) — Search characters
  • get_character_list_and_config(...) — Characters with site config
  • get_character_detail(character_id) — Full character details

Chat

  • get_chat_relations(page_no, page_size) — List chat relations
  • get_chat_config(character_id) — Chat configuration for a character
  • get_chat_messages(character_id, chat_id) — Message history
  • send_chat_message(character_id, message, request_type) — Send message and get streamed reply
  • clear_chat_history(character_id) — Clear chat messages
  • delete_chat_relation(character_id) — Remove a chat relation

Personas

  • get_personas(page_no, page_size) — List personas
  • create_persona(title, name, description, gender, age) — Create a persona
  • set_persona(character_id, persona_id) — Attach a persona to a chat

Tasks

  • get_tasks() — List available tasks
  • get_task_progress(task_id) — Progress for a specific task
  • claim_task_reward(task_id) — Claim a task reward

Social

  • search_users(search_content, page_no, page_size) — Search users
  • follow_user(user_id) / unfollow_user(user_id) — Follow or unfollow a user
  • get_ranked_creators(ranking_type, page_no, page_size) — Creator leaderboard

Other

  • get_launch_data() — App launch/config data

Enums

  • SortNameEDITOR_CHOICE, FOLLOWING, NEW, POPULAR, RECENT, TRENDING
  • GenderALL, FEMALE, MALE, NON_BINARY, TRANS_MALE, TRANS_FEMALE
  • TaskIdDAILY_CHECK_IN, SEND_10_MESSAGES, CHAT_3_CHARACTERS, DAILY_FOLLOWING, GENERATE_IMAGE
  • RankingTypeALL_CREATORS_MONTHLY, NEW_CREATORS_MONTHLY, ALL_CREATORS_ALL_TIME, NEW_CREATORS_ALL_TIME

Standalone Tools

Bundle discovery — extract crypto keys, app version, and API endpoints:

python -m juicychat.discover

Decrypt response data — decrypt an encrypted API response from a file or stdin:

python -m juicychat.crypto response.txt
# or
echo "..." | python -m juicychat.crypto

Notes

  • Unofficial — This project is not affiliated with JuicyChat. The API may change; key/IV discovery depends on the current web bundle.
  • Credentials — Store user number, password, and key/IV securely.

Release files for juicychat-client 0.2.26

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for juicychat-client 0.2.26
File Size Uploaded
juicychat_client-0.2.26.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for juicychat-client 0.2.26
File Interpreter ABI Platform
juicychat_client-0.2.26-py3-none-any.whl Python 3 none any Details

Total release size: 31.5 kB

Release files / juicychat_client-0.2.26.tar.gz

Download URL juicychat_client-0.2.26.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b6779be3972cb7817e0d6c0bb6957d36efc71ea75f08f77d201c51795dae7045
BLAKE2b-256 checksum
How to use checksums
252a67a96f90ffaa858f362fd77bbc0394678c31057f1eeb9c264ef9b7970510
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Release files / juicychat_client-0.2.26-py3-none-any.whl

Download URL juicychat_client-0.2.26-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50dbb36c185e981291141bf26f42aa99f64461eb9ef5b65587bb90926180ffed
BLAKE2b-256 checksum
How to use checksums
fc26b7f6d5c73cd7831e499c71d497b6302e469583dbdc390cf94e146767ab55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.26 This release

2 release files

0.2.25

2 release files

0.2.24

2 release files

0.2.23

2 release files

0.2.21

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page