Abroad - Item Market Viewer

dionduren
2026-02-10T08:56:28Z

View item market prices and calculate profit estimates for items abroad using YATA and Torn Public API

Abroad Item Market Viewer - User Guide

Abroad Item Market Viewer - User Guide

Changelog

v0.2

Start minimized on first load — Script now launches in minimized form (35×35 airplane icon) on the very first load. Click to expand.

Console Log toggle — Added "Enable Console Log Panel" option in Settings (under API Config). Turn off the floating log panel when you don't need it.

Minimized icon fixed to 35×35px — The minimized state is now always a compact 35×35 pixel icon, regardless of the main window size.

Window size configuration — New Width and Height (px) inputs in Display Settings to set the exact window dimensions.

Horizontal scrolling for tables — Item tables now scroll horizontally when content overflows, preventing column squishing on narrow windows.

Zero-stock items shown — Items with 0 abroad stock from YATA are now included in country item lists instead of being hidden.

v0.1

Initial release — YATA integration, per-country market sync, P/L and $/hr calculations, flight configuration, theme toggle, filtering, sorting, and console log.

What Does This Script Do?

This script helps you maximize profits from Torn's traveling system by showing you item prices abroad and calculating profit estimates with market fees included.

Instead of manually checking YATA and the item market, this script does all the work for you in one clean interface with real-time updates!

Key Features

💰 Smart Profit Calculation

Calculates P/L with 5% market fee automatically

Shows profit per hour based on flight config

Highlights profitable items with green background

Red/green colored P/L for instant visibility

🔍 Powerful Filtering & Sorting

Filter by country - Select destinations

Filter by item type - Focus on categories

Sort by any column - Click headers

Remembers preferences - Persists settings

✈️ Flight Time Configuration

4 flight modes: Standard, Airstrip, WLT, Business

"Mailing Yourself Abroad" book support

Accurate profit/hour calculations

Based on round-trip time

🔄 Smart Update System

Update Abroad - YATA item prices (global)

Update Market - Per-country buttons

Update only specific countries you need

Avoids API rate limits

🎨 Beautiful UI

Light/Dark theme toggle

Resizable & draggable

Collapsible countries with dropdown arrows

Customizable font size & spacing

⚡ Smart Caching

5-minute cache for market prices

Reduces API calls

Speeds up display

Shows cache age in console

How to Use

Initial Setup

1. Install the script in Tampermonkey or Violentmonkey

2. Go to any Torn page - The minimized button appears (blue airplane ✈️)

3. Click to expand the main interface

4. Go to Settings tab

5. Enter your Torn API key and click "Validate & Save"

📌 Get your API key from: https://www.torn.com/preferences.php#tab=api

Uses read-only public key - completely safe!

⚠️ API Rate Limit: Torn allows maximum 50 API calls per minute. This is why market updates are per-country with batching. Update conservatively to avoid hitting limits!

Basic Usage

1. Click "Update Abroad Prices" to fetch item prices from YATA

2. Expand a country and click its "Update Market" button to get prices

3. Repeat for each country you're interested in

4. View the data in the "Abroad P/L Estimate" tab

5. Click country headers to expand/collapse sections

6. Click column headers to sort data

7. Use filters in Settings to narrow down items

Settings Tab Options

API Configuration

Enter and validate your Torn API key

Green checkmark ✓ shows valid key

Red warning ✗ shows invalid key

Country Filter

Check/uncheck countries you want to analyze

"Select All" button for quick toggling

Changes apply when you update abroad prices

Item Type Filter

Multi-select dropdown (hold Ctrl/Cmd for multiple)

Only shows after first successful sync

"Apply Type Filter" to update the view

Flight Configuration

Flight Mode: Choose your travel method

Standard (slowest)

Airstrip (requires Private Island)

WLT Benefit (requires company perk)

Business Class (fastest, most expensive)

Use Book: Check if you have "Mailing Yourself Abroad"

Affects $/hr calculations in real-time

Console Log

Enable/Disable the floating console log panel

When disabled, the log panel is hidden and no log messages are recorded

Useful for cleaning up the UI once you're familiar with the script

Display Settings

Window Width: Set exact width in pixels (400–1000px)

Window Height: Set exact height in pixels (400–2000px)

Font Size: 8-16px slider (default: 11px)

Row Spacing: 2-10px slider (default: 5px)

Adjust for readability and screen space

Settings persist across sessions

Understanding the Data

Main Table Columns

Column | Description
Item | Item name
Type | Item category (Flower, Plushie, Candy, etc.)
Cost | Purchase price abroad
Abroad | Available quantity in that country
Market | Current lowest market listing price
Stock | Market availability (listings available)
Avg | Average market price over time

P/L

Profit/Loss per item (after 5% fee)

Green = Profit (+ $ x,xxx.xx)

Red = Loss (- $ x,xxx.xx)

Shows 2 decimal places

$/hr

Estimated profit per item per hour based on flight time

Formula: Profit ÷ (Round-trip hours)

Green for positive, Red for negative

Color Coding

Item Type: Blue-gray shade for easy scanning

Abroad Stock: Cyan/teal - shows availability abroad

Market Stock: Gold/yellow - shows market competition

Profitable Rows: Light green background with green border

P/L: Green (profit) or Red (loss)

Tips & Tricks

💸 Maximize Profits

Sort by $/hr to find the best items for your time

Use Business Class + Book for maximum efficiency

Filter by profitable types after first sync

Check both Abroad and Market stock - low market stock = faster sales

Look for green highlighted rows - instant profit indicators

⚡ Smart Workflow

1. Set your flight configuration first

2. Update abroad prices (once per trip usually enough)

3. Expand countries you're interested in

4. Click "Update Market" for those specific countries only

5. Sort by $/hr descending to see best items

6. Focus on items with high $/hr and good stock

7. Buy items with best profit/hour ratio

🔧 Save API Calls & Avoid Rate Limits

Abroad prices change slowly - update once before trip

Market prices change fast - update when ready to buy/sell

Cache lasts 5 minutes - wait for cache to expire before refreshing

Per-country market updates - only sync countries you need

Batches 3 calls at a time - prevents hitting 50/min API limit

Watch console log - shows progress and cached items

🎨 UI Customization

Drag from header to reposition

Resize from bottom-right corner (min 400px, max 1000px)

Set exact window size in Display Settings (Width/Height in px)

Theme toggle in header (☀️ = light, 🌙 = dark)

Minimize with underscore button (becomes 35×35 blue airplane icon)

Console log in bottom-right — can be toggled on/off in Settings

Troubleshooting

Script doesn't appear

Refresh the Torn page

Check Tampermonkey/Violentmonkey is enabled

Make sure you're on a Torn page (https://www.torn.com/*)

Check browser console (F12) for errors

No data showing

Enter your Torn API key in Settings tab

Click "Validate & Save" to verify the key

Click "Update Abroad" to fetch YATA data

Click "Update Market" to get market prices

Check console log for error messages

Market prices show "---"

You haven't clicked "Update Market" yet

API key might be invalid

Item might not be listed on market currently

Check console log for API errors

$/hr shows "---"

Item has no market price yet

Item is showing a loss (negative P/L)

Only profitable items show $/hr

Slow updates

Batches 3 API calls at a time to avoid rate limiting

Many items = longer sync time (progress shown on button)

Cache reduces subsequent updates significantly

Torn API limit: 50 calls/minute - script respects this

Data seems wrong

Market prices change constantly - click "Update Market" again

YATA data updates periodically - click "Update Abroad" for latest

Check your flight configuration matches your actual setup

P/L includes 5% market fee automatically

FAQ

Q: Is this script safe to use?

A: Yes! It only uses your public API key (read-only). It can't make any changes to your account or perform any actions.

Q: Will I get banned for using this?

A: No. This script only reads public data and doesn't automate gameplay or give unfair advantages. It's a quality-of-life tool like spreadsheet calculators.

Q: Why does it need my API key?

A: To fetch accurate market prices from Torn's official API. Your key is never shared and only used to read public market data. It's stored locally in your browser.

Q: What's the difference between Update Abroad and Update Market?

A: Update Abroad fetches item prices from YATA (slow-changing data). Update Market buttons (one per country) fetch current Torn item market prices (fast-changing data). Per-country buttons help you avoid API rate limits and only sync what you need.

Q: How often should I update?

A: Abroad: Once before planning your trip. Market: Right before buying items to sell, as prices fluctuate frequently.

Q: What's the 5% market fee?

A: Torn charges a 5% fee when you sell items on the Item Market. This script automatically calculates P/L with that fee included: (Market Price × 0.95) - Cost

Q: How is profit/hour calculated?

A: Profit per item ÷ (Round-trip flight time in hours). This shows the per-item profit rate, not total profit. Round-trip = 2× one-way time. Adjusts for flight mode and book usage. Multiply by quantity yourself to see total profit potential.

Q: Does the cache slow me down?

A: No! Cache speeds things up by remembering market prices for 5 minutes, so you don't re-fetch the same data constantly.

Q: Can I use this on mobile?

A: Userscripts work best on desktop browsers. Mobile browser support for userscript managers varies widely.

Known Limitations

⚠️ Alpha Status: This is the first version of the script, expect bugs and improvements!

Some items may not have market listings (shows "---")

YATA data depends on player submissions

Torn API: 50 calls/minute limit - script batches requests to comply

Large countries may take time to sync all items

Profit calculations assume you can buy full quantity abroad

Market prices fluctuate constantly - data is a snapshot

$/hr is per-item, not total - multiply by quantity for full profit potential

Credits & Inspiration

Created by: TheodoreMax

Version: 0.2

Inspired by: Market Stalker by sgtdingus

This is my first userscript project! I wanted a tool to help with traveling profits and learned a lot building it.

Special Thanks:

YATA (https://yata.yt) for the traveling API

Torn City for the official API

The Torn community for inspiration and support

Feedback & Support

This is an alpha/learning project, so please be patient with bugs!

If you find issues or have suggestions:

Check the console log for error details

Verify your API key is valid

Make sure you're on the latest script version

Remember this is a hobby project by a beginner 😊

Enjoy maximizing your traveling profits! ✈️💰