Discover/Shadowfax API
live

Shadowfax APItracker.shadowfax.in

Track Shadowfax shipments by AWB number, validate tracking IDs, and retrieve blog posts and header announcements via a structured JSON API.

Endpoint health
verified 3d ago
get_header_config
get_blogs
validate_tracking_id
track_shipment
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Shadowfax API?

This API exposes 4 endpoints for interacting with Shadowfax shipment and website data. The track_shipment endpoint resolves any AWB number to a current tracking status and internal unique_code, while validate_tracking_id lets you pre-check an AWB before requesting full details. Two additional endpoints cover Shadowfax blog content and active site-header announcements, all returning structured JSON.

Try it
Shipment AWB/Tracking ID to validate.
api.parse.bot/scraper/e0c1a6cc-cef2-4ffe-95f5-4ace8bd7b83f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/e0c1a6cc-cef2-4ffe-95f5-4ace8bd7b83f/validate_tracking_id?awb_number=SF12345678' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 tracker-shadowfax-in-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.

from parse_apis.shadowfax_tracking_and_content_api import Shadowfax, Shipment, TrackingResult, BlogPost, Announcement, InvalidAwb

client = Shadowfax()

# Validate a shipment AWB number
validation = client.shipments.validate(awb_number="SF99887766XX")
print(validation.valid, validation.message, validation.unique_code)

# Track a shipment to get full status details
tracking = client.shipments.track(awb_number="SF99887766XX")
print(tracking.valid, tracking.status, tracking.unique_code)

# List blog posts (auto-paginated)
for post in client.blogposts.list(limit=5):
    print(post.title, post.category, post.date, post.slug)

# List active announcements
for announcement in client.announcements.list():
    print(announcement)
All endpoints · 4 totalmissing one? ·

Validate whether a given AWB number corresponds to a known Shadowfax shipment. Returns a boolean validity flag and, when valid, the internal unique_code that identifies the shipment downstream. Useful as a lightweight pre-check before requesting full tracking details.

Input
ParamTypeDescription
awb_numberrequiredstringShipment AWB/Tracking ID to validate.
Response
{
  "type": "object",
  "fields": {
    "valid": "boolean indicating whether the AWB number is valid",
    "message": "string with validation result message",
    "unique_code": "string unique code for the shipment (present when valid is true, null otherwise)"
  },
  "sample": {
    "data": {
      "valid": false,
      "message": "Invalid AWB Number",
      "unique_code": null
    },
    "status": "success"
  }
}

About the Shadowfax API

Shipment Tracking

The track_shipment endpoint accepts an awb_number string and returns a valid boolean, a status string reflecting the current delivery state, a message describing that state, and the shipment's unique_code. For AWB numbers that don't resolve to a known shipment, valid is false, status is null, and unique_code is null. If you want a lightweight check before making the full tracking call, validate_tracking_id takes the same awb_number input and returns only valid, message, and unique_code — useful for input validation without incurring the cost of a full status fetch.

Blog Posts

The get_blogs endpoint returns a paginated list of Shadowfax blog posts. Each page contains up to 10 post objects covering fields such as title, slug, image URL, category, full HTML content, and publication metadata. Pagination is controlled by the page parameter (1-based). The response includes a total count of all available posts and a nextPage integer; when nextPage is -1, no further pages exist. The error boolean signals whether the request encountered a retrieval problem.

Header Announcements

The get_header_config endpoint takes no inputs and returns the data array of currently active header announcements on the Shadowfax website. When no announcements are configured, data is an empty array. This endpoint is useful for monitoring real-time promotional or operational notices published at the top of the Shadowfax site.

Reliability & maintenanceVerified

The Shadowfax API is a managed, monitored endpoint for tracker.shadowfax.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tracker.shadowfax.in 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 tracker.shadowfax.in 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.

Last verified
3d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Poll track_shipment to push delivery status updates into an order management system.
  • Use validate_tracking_id to verify customer-submitted AWB numbers before accepting them in a support ticket form.
  • Aggregate Shadowfax blog posts by category using the slug and category fields from get_blogs.
  • Monitor get_header_config to detect new site-wide announcements relevant to logistics operations.
  • Build a shipment lookup tool that surfaces status and message to end customers via a tracking page.
  • Paginate through get_blogs using the nextPage field to mirror Shadowfax content into an internal knowledge base.
  • Audit AWB validity in bulk by batching calls to validate_tracking_id across a list of tracking numbers.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Shadowfax have an official public developer API?+
Shadowfax does not publish a documented public developer API. The tracker at tracker.shadowfax.in is a consumer-facing tracking portal, not a developer platform with official API keys or documentation.
What does `track_shipment` return versus `validate_tracking_id`?+
validate_tracking_id returns only three fields — valid, message, and unique_code — and is intended as a pre-check. track_shipment goes further: it resolves the AWB to a unique_code and also returns the current status string and a descriptive message. Both return valid=false with null fields for unrecognized AWB numbers.
Does the API return full shipment event history or only the current status?+
track_shipment currently returns a single status value representing the latest delivery state, not a timeline of events. The API covers current status, AWB validity, and the internal unique_code. You can fork it on Parse and revise to add an endpoint that surfaces a full event history if that data becomes accessible.
How does pagination work for `get_blogs`?+
The page parameter is 1-based and optional. Each response includes a total field for the overall post count and a nextPage integer. When nextPage equals -1, you have reached the last page. Each page returns up to 10 posts.
Does the API expose individual blog post content by slug or ID?+
Not currently. The API covers paginated blog listing via get_blogs, which includes full HTML content inline for each post in the list. There is no dedicated single-post lookup endpoint. You can fork it on Parse and revise to add a by-slug endpoint for fetching an individual post directly.
Page content last updated . Spec covers 4 endpoints from tracker.shadowfax.in.
Related APIs in EcommerceSee all →
fedex.com API
Access data from fedex.com.
dhl.com API
Track DHL shipments worldwide by entering a tracking number to retrieve real-time status updates, delivery location details, product information, and a complete history of all shipment events. Monitor packages from origin to destination with comprehensive tracking data.
indiapost.gov.in API
Track India Post shipments, money orders, and complaints in real-time using a consignment number, booking reference, or complaint ID. Retrieve delivery status, tracking events, and progress updates for postal items.
jbhunt.com API
Track your J.B. Hunt shipments in real-time for both business and home deliveries, search for service information across their site, and access freight class and location data for LTL quoting. Get company information and reference data to support your logistics and shipping needs.
track.ukrposhta.ua API
Track parcels sent through Ukrposhta by looking up individual shipments or monitoring multiple packages at once to get real-time delivery status and tracking information. Access detailed tracking page metadata to stay informed about your parcels' locations and delivery progress.
dat.com API
Track real-time market conditions, fuel prices, and freight rate trends to make data-driven logistics decisions. Access industry insights through blog posts and resource materials to stay informed on transportation market dynamics.
flexport.com API
Get real-time air and ocean freight rates, search shipping routes, and access logistics service information to compare pricing and plan international shipments. Discover popular routes and retrieve freight rate quotes for any origin-destination pair.
maersk.com API
Track your Maersk shipping containers in real-time, monitor vessel schedules and locations, and discover available routes between ports and countries. Access comprehensive port data, search for specific locations, and view detailed shipping route information to plan your logistics more effectively.