Skip to main content

Miravia Scraper

Introduction​

info

The Miravia scraper is in beta. Please contact us to report any issue you encounter.

The Miravia scraper provides access to Miravia marketplace data.

It allows you to invoke Miravia APIs directly without handling:

  • Anti-bot headers
  • Signature logic
  • Mobile vs desktop differences
  • Cookie management

Charted Sea continuously maintains this scraper against Miravia platform updates. No action is required on your side when Miravia changes internal APIs.

Usage​

Submit tasks to:

POST /scraping-tasks/miravia/run
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer ${token}" \
--request POST \
--data '{"requests":[{"url":"https://www.miravia.es/catalog/?q=tshirt","language":"en"}]}' \
https://continuous-scraper.common.chartedapi.com/scraping-tasks/miravia/run

The Miravia endpoint or page URL is specified inside the request body. Each request is processed independently.

cleanResponseBody is not supported. If you specify it with a value other than false, the scraping task will be rejected and fail.

See the API Reference for the complete task API.

Supported APIs​

Product Search by Keyword or Category or Seller​

  • URL Path:
    • https://www.miravia.es/catalog/?q=${keyword}
    • https://www.miravia.es/c/${categorySlug}-${categoryId}/
    • https://www.miravia.es/${sellerKey}/?q=All-Products&from=wangpu&langFlag=en-ES&pageTypeId=2&search_scenario=store&src=store_allproducts&sellerKey=${sellerKey}
warning

Avoid specifying the page parameter in the URL. Miravia requires sequential navigation from the first page. Use productListing_crawlNextPages for multi-page crawling.

  • URL Parameters:

    • keyword: Search keyword, e.g. tshirt.
    • categorySlug: Category slug, e.g. camisetas-para-mujer.
    • categoryId: Category ID, e.g. 100195.
    • sellerKey: Seller key, e.g. inside.
  • Scraper Input Parameters:

    • emulateMobileDevice (default = false): Simulates a mobile browser when set to true.
    • productListing_crawlNextPages (default = false): Enables automatic crawling of subsequent pages.
    • productListing_crawlNextPages_maxPages (optional): Sets a maximum number of pages to crawl.
    • productListing_crawlNextPages_maxUniqueProducts (optional): Sets a maximum number of unique products to return.
    • productListing_crawlNextPages_stopWhenNewPageOnlyContainsDuplicates (default = true): Stops when a page only contains products already returned.
    • productListing_crawlNextPages_stopWhenNoMorePagesIsTrue (default = true): Stops when the response reports that no more pages are available.
  • Example Input:

{
"requests": [
{ "url": "https://www.miravia.es/catalog/?q=tshirt" },
{ "url": "https://www.miravia.es/c/camisetas-para-mujer-100195/" },
{ "url": "https://www.miravia.es/inside/?q=All-Products&from=wangpu&langFlag=en-ES&pageTypeId=2&search_scenario=store&src=store_allproducts&sellerKey=inside" }
]
}

Product Details​

  • URL Path:

    • https://www.miravia.es/p/i${productId}.html
    • https://www.miravia.es/p/${productSlug}-i${productId}.html
  • URL Parameters:

    • productSlug: Optional product slug.
    • productId: Product ID (a.k.a. itemId), e.g. 1374784873099279.
  • Scraper Input Parameters:

    • emulateMobileDevice (default = false): Simulates a mobile browser when set to true. Some fields may differ in this mode.
  • Example Input:

{
"requests": [
{ "url": "https://www.miravia.es/p/i1374784873099279.html" }
]
}

Product Reviews​

  • URL Path:

    • https://www.miravia.es/pdp/review/getReviewList?itemId=${productId}
  • URL Parameters:

    • productId: Product ID (a.k.a. itemId), e.g. 1358777607694890.
  • Example Input:

{
"requests": [
{ "url": "https://www.miravia.es/pdp/review/getReviewList?itemId=1358777607694890" }
]
}

Only the initial review page is supported.

Category Tree​

  • URL Path:

    • https://acs-m.miravia.es/h5/mtop.lazada.guided.shopping.categories.categorieslpcommon/1.0/
  • Example Input:

{
"requests": [
{ "url": "https://acs-m.miravia.es/h5/mtop.lazada.guided.shopping.categories.categorieslpcommon/1.0/" }
]
}

This endpoint extracts Miravia's category navigation, not a complete category tree.

Seller Details​

  • URL Path:

    • https://www.miravia.es/shop/${sellerKey}/
  • URL Parameters:

    • sellerKey: Seller key, e.g. inside.
  • Scraper Input Parameters:

    • emulateMobileDevice (default = false): Simulates a mobile browser when set to true. Some fields may differ in this mode.
  • Example Input:

{
"requests": [
{ "url": "https://www.miravia.es/shop/inside/" }
]
}

Seller Promoted Products​

  • URL Path:

    • https://www.miravia.es/shop/site/api/shop/campaignTppProducts/query?shopId=${shopId}&sellerId=${sellerId}&itemId=${productId}
  • URL Parameters:

    • shopId: Shop ID, available from Seller Details.
    • sellerId: Seller ID, available from Seller Details.
    • productId: Any product ID from the seller.
    • offset (optional): Result offset. Use offset=20 for the second 20-item page.
  • Example Input:

{
"requests": [
{ "url": "https://www.miravia.es/shop/site/api/shop/campaignTppProducts/query?shopId=1138&sellerId=4000014096033&itemId=1374784873099279" }
]
}

Keyword Listing​

  • URL Path:

    • https://www.miravia.es/sitemap-d7df5b64df1181ef1d62d646a13aaa86.xml?limit=${limit}&offset=${offset}
  • URL Parameters:

    • limit: Number of keyword sub-sitemaps to load.
    • offset: Keyword sub-sitemap offset, typically a multiple of limit.
  • Example Input:

{
"requests": [
{ "url": "https://www.miravia.es/sitemap-d7df5b64df1181ef1d62d646a13aaa86.xml?limit=1&offset=0" }
]
}

Unsupported APIs​

Product Reviews V2​

  • Request Method:

    • POST
  • URL Path:

    • https://acs-m.miravia.es/h5/mtop.lazada.review.item.getpcreviewlist/1.0/

This endpoint is unsupported for Miravia. Use Product Reviews for the initial product-review object.

Seller Listing​

  • URL Path:
    • https://www.miravia.es/sitemap-sellers.xml?limit=${limit}&offset=${offset}

This endpoint is unsupported because Miravia does not provide a seller sitemap at this path.

Unsupported requests return HTTP 400, task status ERROR, and an error message beginning with ERROR_UNSUPPORTED_API. They are rejected before execution and are not billed.

Operational Recommendations​

  • Monitor success rates during high-traffic campaigns.
  • Expect stricter anti-bot protections during major sales events.
  • Pause traffic if failures rise unexpectedly.