RTILA X is a desktop web-automation application that turns natural-language requests into executable scraping projects. Instead of writing brittle scripts, you describe what you want to extract or automate. The AI assistant generates a JSON project file and the Deno engine executes it inside a real browser.
Project JSON Structure
Every RTILA X project has the same four top-level keys:
nameโ a human-readable project namesettingsโ options such as URLs, headless mode, timeouts, and humanoid behaviordatasetsโ extraction definitions for repeating containers and propertiescommandsโ ordered automation steps, such as goto ,click,fill, and extract_data
A minimal project looks like this:
{
"name": "My_First_Scraper",
"settings": {
"urls": ["https://learn.rtila.com/scenarios/basic-navigation/1"],
"headless": false,
"navigation_timeout": 30000,
"max_concurrent_workers": 1,
"humanoidEnabled": true,
"humanoidSensitivity": "medium"
},
"datasets": {
"products": {
"item_selector": "css=.product-card",
"properties": [
{
"name": "title",
"type": "text",
"selector": "css=.product-title"
},
{
"name": "price",
"type": "text",
"selector": "css=.product-price"
}
]
}
},
"commands": [
{
"command": "goto",
"params": {
"url": "https://learn.rtila.com/scenarios/basic-navigation/1"
}
},
{
"command": "wait_for_selector",
"params": {
"selector": "css=.product-card",
"timeout": 10000
}
},
{
"command": "extract_data",
"params": {
"dataset": "products"
}
}
]
}
Execution Flow
The engine processes commands sequentially. When RTILA X reaches an extract_data command, it looks up the dataset by name, finds every element matching item_selector , and then extracts the configured properties from each matching element. The resulting rows can be exported as CSV, JSON, or inserted into the local PocketBase database.
The order of commands matters. A goto command must always come before extraction. Interactive commands such as click and fill need a preceding wait_for_selector so the engine waits for the browser page to be ready. This predictable order is what makes RTILA X projects easy to debug and verify.
Your First Practice Scenario
Start with the simplest extraction task on the learning site. Open the Basic Navigation & Extraction category and run scenario 1: a product grid with deterministic title and price data. Compare the output against the expected output section. Try changing the item_selector from css=.product-card to a more specific selector and observe how the extracted row count changes.
Once you are comfortable with static extraction, move to scenario 5 where the page requires navigation after page load. This introduces the concept of waiting for client-side content before extraction begins.
Selector Consistency
The most important rule in RTILA X is selector consistency. The selectors in your project JSON must match the selectors present in the live demo HTML. If a demo uses id="search-input", the correct selector in RTILA X is css=#search-input. A mismatch produces an empty dataset or an action timeout. Every scenario page on learn.rtila.com includes a LIVE DEMO zone and a project JSON block so you can compare the two exactly.
Try It Yourself
Go to the Basic Navigation scenario 1 page and run the project JSON above. Extract the product titles and prices. Then modify the project to extract only titles and verify the output difference.
Was this helpful?
Thank you for your feedback!