Warframe Market Scraper
Pricing
from $10.30 / 1,000 item extracteds
Warframe Market Scraper
Export current Warframe Market mod buy and sell orders with rank, platinum price, trader activity, reputation, timestamps, and price summaries.
Pricing
from $10.30 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Export current public Warframe Market mod buy and sell orders as structured data. Select mods by name, catalog search, and source tags, then receive rank-aware platinum prices, quantities, trader activity, reputation, timestamps, and normalized price summaries.
The Actor is designed for repeatable Warframe mod valuation rather than manual page checking. Each dataset row is one visible marketplace order, ready for JSON, CSV, Excel, APIs, schedules, and downstream analytics.
What does Warframe Market Scraper do?
The Actor:
- resolves exact mod names such as
SerrationandPrimed Continuity; - searches the current marketplace catalog by text;
- requires source-native tags such as
mod,legendary,rare, orrifle; - fetches current public buy and sell orders;
- filters orders by rank and trader activity status;
- exports platinum price, quantity, order side, and source timestamps;
- includes public trader reputation, platform, cross-play, and activity fields when exposed;
- calculates rank-specific lowest and median sell prices;
- calculates rank-specific highest and median buy prices;
- records an
observedAttimestamp for recurring snapshots.
It uses Warframe Market's public structured data surface. No game account, marketplace login, or browser automation is required.
Who is this Actor for?
Warframe traders can compare active listings before buying or selling a ranked mod.
Game-economy analysts can schedule comparable snapshots and study platinum-price spreads.
Community tool builders can feed current order rows into dashboards, Discord bots, or sheets.
Data teams can export clean marketplace records without maintaining catalog resolution, retry handling, rank grouping, or API normalization.
Choose Warframe World State API for invasions, fissures, sorties, alerts, and reference items instead of player-market orders.
Why use it instead of checking listings manually?
A marketplace page is useful for one decision. Structured runs are useful for repeated decisions. The Actor creates a stable row shape across multiple mods and makes every observation traceable.
Important differences include:
- exact and catalog-based mod selection in one input;
- the same rank, order-side, and activity filters across every selected mod;
- both raw order facts and a comparable rank-level summary;
- hard caps for predictable scheduled runs;
- bounded retries for temporary rate limits and upstream server errors;
- no automatic residential proxy or browser fallback.
What Warframe mod price data is extracted?
| Field | Meaning |
|---|---|
itemId, itemName, itemSlug | Stable marketplace identity and English name |
itemUrl, itemTags, itemMaxRank | Public page, catalog labels, and maximum rank |
orderId, orderType | Stable listing ID and buy or sell side |
platinum, quantity, rank | Listed platinum, offered quantity, and mod rank |
subtype, visible | Source subtype and visibility state |
sellerName, sellerReputation | Public trader name and marketplace reputation |
sellerStatus, sellerLastSeen | Public activity status and last-seen timestamp |
sellerPlatform, sellerCrossplay | Account platform and cross-play indicator |
sellerActivityType, sellerActivityDetails | Extra public activity fields when exposed |
orderCreatedAt, orderUpdatedAt | Source order timestamps |
priceSummary | Rank-specific counts and lowest/highest/median prices |
sourceUrl, observedAt | API provenance and run observation time |
All source-dependent fields may be absent or null in future upstream responses. The complete machine-readable contract is attached to the default dataset.
How to run the Warframe Market mod price scraper
- Open the Actor in Apify Console.
- Enter one or more exact Mod names, or set a Catalog search.
- Keep the default
modtag unless you intentionally want another catalog class. - Choose buy orders, sell orders, or both.
- Select trader activity statuses and optional ranks.
- Set mod, per-mod order, and total record caps.
- Click Start.
- Open the Dataset tab and export JSON, CSV, Excel, XML, or RSS.
A safe first run is:
{"itemNames": ["Serration"],"orderTypes": ["sell", "buy"],"userStatuses": ["ingame", "online"],"maxMods": 1,"maxOrdersPerMod": 20,"maxItems": 20}
Input parameters
itemNames
An array of exact Warframe Market mod names or slugs. Matching is case-insensitive and treats underscores like spaces. Up to 50 names are accepted. If supplied, each output mod must match one of these names.
searchQuery
Optional text contained in a mod name or slug. Use at least two characters. primed discovers
mods whose current catalog names include that term.
tags
Every selected catalog item must contain every supplied source-native tag. The default is
["mod"], which prevents non-mod marketplace items from entering results. Useful combinations
include mod + legendary, mod + rare, and mod + rifle.
orderTypes
Choose sell, buy, or both. The default includes both sides.
userStatuses
Choose ingame, online, and/or offline. The default includes active in-game and online users.
Set an empty list to retain all statuses, including offline orders.
ranks
Optional integer ranks from 0 to 20. An empty list includes every listed rank.
Result limits
maxModslimits selected catalog mods from 1 to 50.maxOrdersPerModlimits exported matching orders for each mod from 1 to 1,000.maxItemslimits the entire default dataset from 1 to 5,000 rows.
The first reached limit wins. Summary counts and prices are calculated before the per-mod output cap, after order-side, activity, rank, and visibility filters.
Example output
A current row has this shape; the trader name below is anonymized:
{"recordType": "order","itemId": "54a74454e779892d5e515596","itemName": "Serration","itemSlug": "serration","itemUrl": "https://warframe.market/items/serration","itemTags": ["mod", "uncommon", "rifle", "primary"],"itemMaxRank": 10,"orderId": "6a70b87c90780835bc384d68","orderType": "sell","platinum": 2,"quantity": 1,"rank": 0,"subtype": "regular","visible": true,"sellerName": "SampleTrader","sellerReputation": 8,"sellerStatus": "ingame","sellerPlatform": "pc","sellerCrossplay": true,"sellerLastSeen": "2025-01-15T12:00:00Z","sellerActivityType": "UNKNOWN","sellerActivityDetails": "unknown","orderCreatedAt": "2025-01-10T08:30:00Z","orderUpdatedAt": "2025-01-14T18:20:00Z","priceSummary": {"rank": 0,"sellOrderCount": 6,"lowestSellPrice": 2,"medianSellPrice": 3.5,"buyOrderCount": 2,"highestBuyPrice": 1,"medianBuyPrice": 1},"sourceUrl": "https://api.warframe.market/v2/orders/item/serration","observedAt": "2025-01-15T12:05:00.000Z"}
Prices are marketplace listings, not guaranteed completed-sale values.
Understanding normalized price summaries
priceSummary is grouped by mod and exact rank after your filters are applied.
For sell orders, lower prices generally represent cheaper visible supply.
For buy orders, higher prices generally represent stronger visible demand.
The summary includes:
- matching sell and buy order counts;
- lowest sell and highest buy platinum prices;
- median sell and buy prices;
- the rank shared by those orders.
The same summary is repeated on each matching row so flat CSV and spreadsheet exports remain self-contained. A missing side is represented by a zero count and null price fields.
How much does it cost to export Warframe Market mod orders?
Pricing uses pay per event: one small start event plus one item event for each order written to
the default dataset. The exact current rates appear in Apify Console before you start a run.
At the current provisional BRONZE rate of $0.005 per run plus $0.017164 per order:
- 10 orders cost about $0.17664;
- 50 orders cost about $0.86320;
- 100 orders cost about $1.72140.
Apify plan tiers can use different per-order rates. Limits make the maximum number of charged rows explicit. Failed, rejected, duplicate, or filtered-out source orders are not saved as results and do not receive an item event.
Recurring valuation workflows
For a comparable price watchlist:
- use the same
itemNames, ranks, statuses, and order sides every run; - keep limits high enough that truncation does not distort comparison;
- schedule the Actor hourly, daily, or weekly in Apify;
- retain
observedAt,orderUpdatedAt, andorderIddownstream; - compare rank-specific lowest sell, highest buy, and median values;
- alert only after applying your own spread or volume threshold.
Apify integrations can send completed datasets to Google Sheets, webhooks, Make, Zapier, Slack, or a custom HTTP service.
Export to spreadsheets and data pipelines
From the Dataset tab, download CSV or Excel for manual analysis. For automation, consume the
default dataset API and key records by orderId. observedAt identifies the snapshot while
orderUpdatedAt indicates when the marketplace says a listing changed.
For historical analysis, store each run separately or append rows to your own warehouse. The Actor reports current observations; it does not maintain a hidden cross-run price-history store and does not claim that visible listings became completed trades.
Use the Actor through the Apify API
Replace APIFY_TOKEN with your token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~warframe-market-mod-prices/run-sync-get-dataset-items?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"itemNames":["Serration"],"maxItems":20}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/warframe-market-mod-prices').call({itemNames: ['Primed Continuity', 'Blind Rage'],ranks: [10],maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("APIFY_TOKEN")run = client.actor("automation-lab/warframe-market-mod-prices").call(run_input={"searchQuery": "primed","tags": ["mod", "legendary"],"orderTypes": ["sell"],"maxItems": 30,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with Apify MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/warframe-market-mod-prices"
Claude Desktop setup
Add this server to Claude Desktop's MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/warframe-market-mod-prices"}}}
Cursor setup
In Cursor, open Settings → Tools & MCP → Add custom MCP and use the same server URL:
https://mcp.apify.com?tools=automation-lab/warframe-market-mod-prices.
VS Code setup
In VS Code with MCP support, add an HTTP MCP server named apify with that Actor-specific URL
to your workspace or user MCP configuration.
Example prompts:
- “Export active Serration buy and sell orders and compare rank 0 and rank 10 prices.”
- “Find three legendary mods containing Primed and return the cheapest online sell orders.”
- “Run my max-rank Primed Continuity and Blind Rage watchlist and save the dataset.”
Reliability, limits, and failure behavior
The Actor makes one catalog request plus one order request for each selected mod. Temporary HTTP 429 and server errors receive at most three bounded attempts with backoff. Network timeouts are retried within the same bound. Stable 4xx responses, malformed JSON, and changed response shapes fail the run instead of returning a misleading empty success.
The Actor intentionally has no proxy or browser fallback. This keeps runtime cost predictable while the public v2 structured source works directly. Source maintenance, rate limits, catalog changes, and marketplace outages can still affect availability.
A valid selector with no matching catalog mods returns an empty dataset and a warning. Some requested exact names matching no current tradable mod are also reported in logs.
Tips for useful results
- Keep the default
modtag unless broad marketplace data is intentional. - Use exact names for stable scheduled watchlists.
- Use search plus tags for discovery workflows.
- Include offline users only when historical listing depth matters more than contactability.
- Compare prices only within the same rank.
- Use
maxOrdersPerModhigh enough to avoid clipping distributions. - Check the dataset count and Actor logs when a query naturally has no active listings.
- Treat public user activity as transient marketplace metadata, not proof of availability.
Responsible use and legality
This Actor reads public marketplace catalog and order data. Use it in accordance with Warframe Market terms, Apify policies, and applicable laws. Do not use public trader fields for harassment, spam, profiling unrelated to trading, or attempts to identify private individuals.
Minimize retained personal data, set appropriate retention periods, and secure exported datasets. The Actor is not affiliated with Digital Extremes or Warframe Market. Warframe names and related marks belong to their respective owners.
Related Automation Lab Actors
- Warframe World State API — invasions, fissures, sorties, events, alerts, source status, and public reference items.
Related Actors solve different jobs. This Actor is specifically for player-market mod listings and platinum valuation.
Troubleshooting
Why did my run return no records?
Confirm that exact names are current tradable mod names, retain the mod tag, and loosen rank or
activity filters. A mod can have no online or in-game listings at a particular rank.
Why is a requested mod missing?
Exact itemNames do not perform fuzzy spelling correction. Copy the current marketplace name or
use searchQuery to discover the canonical spelling.
Why are summary counts larger than exported rows?
Summaries use all matching visible orders before maxOrdersPerMod truncates output. This preserves
market depth context even when you request only the most actionable rows.
Why did the run fail with an upstream HTTP error?
Inspect logs for the status and endpoint. Temporary 429 and 5xx responses are already retried. A persistent failure can indicate an upstream outage or incompatible public API change; rerun later rather than treating an empty dataset as valid market evidence.
FAQ
Does this Actor return completed trades?
No. It returns current visible buy and sell orders. Listed prices are not guaranteed transaction prices.
Does it support Riven mod valuation?
This release targets ordinary catalog mods and their item-order endpoints. It does not claim free-form Riven attribute appraisal.
Can I schedule it for price history?
Yes. Schedule consistent inputs and retain each run's dataset downstream. The Actor supplies observation timestamps but does not merge history across runs.
Are price summaries global across all ranks?
No. They are calculated for the exact rank on each output row, after your side, activity, rank, and visibility filters.
Are trader reputation and activity always present?
They are exported when the public source exposes them. Upstream fields can be null or change.
Can I request all marketplace items?
The product is intentionally scoped to catalog-selected mods. maxMods, maxOrdersPerMod, and
maxItems provide bounded exports rather than an unbounded marketplace crawl.