No logo available for Casino Script to DuckDB connector icon

Load Casino Script data to DuckDB

Build a Casino Script to DuckDB pipeline with your coding agent. One prompt scaffolds it with the dltHub AI harness, plus the Casino Script API base URL, auth, endpoints, and incremental loading.

SourceCasino ScriptCasino Script API DocumentationDestinationDuckDBIn-process analytical database. The default local destination for dlt pipelines.

CasinoWebScripts RGS-CWS is a remote gaming server solution providing a REST API for online casino operators to integrate games and manage seamless wallet operations. Everything needed to build a working Casino Script → DuckDB pipeline is on this page: the API's base URL, authentication, endpoints, pagination and incremental field — plus a prompt that hands the whole job to your coding agent.


Build your Casino Script to DuckDB pipeline

Paste this prompt into Claude, Codex, or Cursor. The agent does the rest.

Prompt
Run uvx dlthub-init@latest to build a pipeline from Casino Script to DuckDB and run it on dltHub

That scaffolds a dltHub workspace and installs the dltHub AI harness — the project rules, the secrets-management skill, and the dlt MCP server your agent needs to work safely. From there it reads the Casino Script API, proposes the endpoints to load, then writes, runs and validates the pipeline while you review rather than type. Credentials are inspected through MCP tools, so your agent never reads secrets.toml itself. How the LLM-native workflow works →

Prefer to write it yourself? Every fact the agent uses is below.


Casino Script API at a glance

Base URLThe REST API URL is uniquely provided by CasinoWebScripts support upon account configuration and is typically structured as an endpoint path ending in restapi_url.php.
Example endpointPOST restapi_url.php
Authenticationrequests require apiusername and apipass provided in the JSON request body — sent in the Authorization header, prefixed Bearer
PaginationNot paginated
API referencehttps://script.casino/how-to-integrate-casino-games-api/

These values come from the Casino Script API reference — the authoritative source if anything here looks out of date.


How do I authenticate with the Casino Script API?

Authentication is performed by including 'apiusername' and 'apipass' as required fields within the JSON body of every HTTP POST request to the API endpoint.

1. Get your credentials

Credentials for the CasinoWebScripts REST API are not generated via a self-service dashboard. Instead, you must request them directly from the provider's support team. Submit an integration request via email to dev@casinowebscripts.com or contact them via their designated support channels (e.g., Telegram). Once approved and configured, you will receive an email containing your API Username, API Password, a unique 64-bit API Encryption Key, and the specific REST API URL endpoint for your project. If you are operating your own RGS MultiOperator system, you can generate credentials internally through your Admin Panel under STAFF MANAGEMENT by creating an operator account.

2. Add them to .dlt/secrets.toml

[sources.casino_script_source] api_username = "your_provided_api_username" api_password = "your_provided_api_password" api_encryption_key = "your_provided_64bit_key" rest_api_url = "https://your-assigned-domain.casino/path/to/restapi_url.php"

dlt reads this file automatically at runtime. With the harness, the setup-secrets skill prompts you for the values and never handles the raw credential in chat. For production, see setting up credentials with dlt.


What Casino Script data can I load into DuckDB?

These are the Casino Script endpoints dlt can load into DuckDB:

ResourceEndpointMethodData selectorDescription
games/restapi_url.phpPOSTRetrieve the list of available games
sessions/restapi_url.phpPOSTGenerate a game session token
player_info/restapi_url.phpPOSTRetrieve or create player account
game_launch/play.phpGETGenerate launch URL for a game session
balance/seamless_wallet.phpPOSTRetrieve player balance

How do I load only new Casino Script records?

The Casino Script API reference does not document a timestamp or sequence field for these endpoints, so there is nothing to advertise here as verified. Pick a field from the endpoints table above that increases with every write, then set it as the cursor_path.

{"name": "games", "endpoint": { "path": "restapi_url.php", # Replace with a field that increases on every write. "incremental": {"cursor_path": "REPLACE_ME", "initial_value": "2024-01-01T00:00:00Z"}, }}

On the first run dlt loads everything from initial_value; on every run after that it requests only what changed and appends with write_disposition="merge" if you set a primary key. See incremental loading.


What does the generated Casino Script pipeline look like?

A standard dlt REST API pipeline — the same code you would write by hand, loading restapi.php (used for general API commands) and play_url.php (used for generating game launch URLs) from the Casino Script API into DuckDB:

import dlt from dlt.sources.rest_api import RESTAPIConfig, rest_api_resources @dlt.source def casino_script_source(apiusername=dlt.secrets.value): config: RESTAPIConfig = { "client": { "base_url": "The REST API URL is uniquely provided by CasinoWebScripts support upon account configuration and is typically structured as an endpoint path ending in restapi_url.php.", "auth": {"type": "bearer", "token": apiusername}, }, "resources": [ {"name": "games", "endpoint": {"path": "restapi_url.php"}}, {"name": "sessions", "endpoint": {"path": "restapi_url.php"}} ], } yield from rest_api_resources(config) def load_casino_script_to_duckdb() -> None: pipeline = dlt.pipeline( pipeline_name="casino_script_pipeline", destination="duckdb", dataset_name="casino_script_data", ) load_info = pipeline.run(casino_script_source()) print(load_info) if __name__ == "__main__": load_casino_script_to_duckdb()

Run it with python casino_script_pipeline.py. The agent iterates on this until it loads cleanly — you review and approve, rather than write it from scratch.


How do I query Casino Script data in DuckDB?

dlt creates one table per resource. Query the loaded data with Python or SQL — or ask your agent to, through the MCP server's execute_sql_query tool.

Python (pandas DataFrame):

import dlt data = dlt.pipeline("casino_script_pipeline").dataset() df = data.games.df() print(df.head())

SQL:

SELECT * FROM casino_script_data.games LIMIT 10;

See querying your data with dataset and exploring it in marimo notebooks.


How do I deploy the Casino Script to DuckDB pipeline in production?

The pipeline runs locally, which is ideal for prototyping and one-off analysis. When you need it on a schedule, monitored on every load, and shared with your team, deploy the same dlt code on the dltHub platform — no infrastructure to maintain. The prompt above already ends with "run it on dltHub", so your agent can take it there directly.

  • Deploy & schedule — run the pipeline as a managed job with automatic retries.
  • Monitor — observable job queues, alerting, and load metrics for every run.
  • Transform — promote raw Casino Script loads into governed, documented models.
  • Visualize & share — explore data in notebooks and publish live dashboards instead of static screenshots.

Book a demo →


What other destinations can I load Casino Script data to?

dlt loads into any of these — only the destination argument changes:

DestinationExample value
PostgreSQL"postgres"
BigQuery"bigquery"
Snowflake"snowflake"
Redshift"redshift"
Databricks"databricks"
Filesystem (S3, GCS, Azure)"filesystem"

Set dlt.pipeline(destination="snowflake") and add credentials in .dlt/secrets.toml. On the dltHub platform the same pipeline runs against a managed Iceberg lakehouse. See the full destinations list.


Next steps

Was this page helpful?

Community Hub

Need more dlt context for Casino Script to DuckDB?

Request dlt skills, commands, AGENT.md files, and AI-native context.