MetrolineDirect APImetrolinedirect.com ↗
Access MetrolineDirect's Symbol/Zebra barcode scanner catalog via API. Retrieve product names, prices, and URLs for all listed inventory items.
What is the MetrolineDirect API?
The MetrolineDirect Symbol Scanners API provides access to the full barcode scanner catalog from metrolinedirect.com through a single endpoint, list_items, returning up to the complete inventory of Symbol and Zebra scanner products. Each response includes 3 fields per product — name, price, and product URL — along with a total count. Products without a published price return a null price value, indicating call-for-price items.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/ba6509cf-4a18-4164-b7e9-cbbbe65190f8/list_items' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace metrolinedirect-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: MetrolineDirect SDK — bounded, re-runnable; every call capped."""
from parse_apis.metrolinedirect_com_api import MetrolineDirect, ParseError
client = MetrolineDirect()
# List all barcode scanner items with prices
for item in client.items.list(limit=3):
print(item.name, item.price, item.url)
# Get first item for inspection
first = client.items.list(limit=1).first()
try:
print(first.name, first.price)
except ParseError as e:
print(f"error: {e}")
print("exercised: items.list")
Retrieves all barcode scanner products from the Symbol Scanners catalog page. Each item includes its name, price (when listed), and product URL. Items without a listed price return null for the price field (these are typically call-for-price items).
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of product objects with name, price, and url",
"total": "total number of items returned"
},
"sample": {
"data": {
"items": [
{
"url": "https://www.metrolinedirect.com/symbol-ls2208-bar-code-scanner-black.html",
"name": "Symbol LS2208 General Purpose Barcode Scanner (LS2208-7AZU0100ZR)",
"price": "$39.95"
},
{
"url": "https://www.metrolinedirect.com/symbol-li4278-barcode-scanner.html",
"name": "Symbol LI4278 Wireless Barcode Scanner Kit (LI4278-TRBU0100ZWR)",
"price": "$99.95"
},
{
"url": "https://www.metrolinedirect.com/symbol-ls4208-barcode-scanner.html",
"name": "Symbol LS4208 Barcode Scanner USB Kit (LS4208-SBZU0100ZR)",
"price": null
}
],
"total": 21
},
"status": "success"
}
}About the MetrolineDirect API
What the API Returns
The list_items endpoint returns the entire Symbol/Zebra barcode scanner catalog from MetrolineDirect's scanner listing page. Each product object in the items array contains three fields: name (the product title as listed), price (a numeric or string price value, or null for call-for-price items), and url (a direct link to the product detail page on metrolinedirect.com). The response also includes a total field indicating how many products were returned.
Price Field Behavior
Not every product in the catalog carries a listed price. Items that require a quote or direct inquiry return null for the price field. This is consistent with MetrolineDirect's catalog behavior for certain enterprise or discontinued scanner models. When integrating, your code should handle null prices explicitly rather than assuming all items carry a numeric value.
Scope and Coverage
The API covers the Symbol/Zebra scanner category specifically — handheld barcode scanners, presentation scanners, and similar devices stocked or listed by MetrolineDirect. The list_items endpoint takes no input parameters; it always returns the full catalog page contents. There is no built-in filtering by brand, price range, or scanner type within the endpoint itself.
The MetrolineDirect API is a managed, monitored endpoint for metrolinedirect.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when metrolinedirect.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official metrolinedirect.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor MetrolineDirect's Symbol/Zebra scanner inventory for new product additions by tracking changes in the
totalfield over time. - Build a price comparison tool that pulls scanner prices from the
pricefield alongside other vendor catalogs. - Identify which scanner models are call-for-price (null price) vs. publicly listed to prioritize procurement outreach.
- Populate an internal procurement database with scanner names and product URLs for IT asset management workflows.
- Alert purchasing teams when previously null-priced items gain a listed price, signaling stock or pricing changes.
- Generate a structured product list from the
itemsarray to feed into a barcode scanner selection tool or configurator.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does MetrolineDirect offer an official developer API?+
What does list_items return for products without a price?+
price field returns null for any product that does not have a publicly listed price on the catalog page. These are typically items that require a direct quote. The name and url fields are still populated for those products.Can I filter results by scanner type, brand, or price range within the API?+
list_items endpoint returns the full catalog with no filter parameters — brand, scanner type, and price range filtering are not built in. You can fork the API on Parse and revise it to add filtering logic over the returned items array.Does the API return product detail pages — specifications, compatibility, or images?+
url field.