Metadata-Version: 2.4
Name: amazon-data-scraper
Version: 1.0.1
Summary: High-performance Amazon product, BuyBox, and pricing scraper API client. Bypasses 503 bot protections and CAPTCHAs.
Home-page: https://chaldia-labs.vercel.app/
Author: Chaldia Labs
Keywords: amazon,amazon-scraper,amazon-api,buybox,amazon-pricing,ecommerce-scraper,asin-lookup,web-scraping,amazon-data
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: requires-python
Dynamic: summary

# amazon-scraper-api

[![PyPI version](https://img.shields.io/pypi/v/amazon-scraper-api.svg)](https://pypi.org/project/amazon-scraper-api/)
[![Python Versions](https://img.shields.io/pypi/pyversions/amazon-scraper-api.svg)](https://pypi.org/project/amazon-scraper-api/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Ultra-fast, zero-dependency Amazon product, BuyBox winner, real-time pricing, and inventory extraction client. Engineered to bypass dynamic WAFs, CAPTCHAs, and 503 bot challenges out-of-the-box.

---

## Key Features

- **Automated Anti-Bot Bypass:** No proxy rotation or browser emulation needed. Bypasses Amazon Akamai and bot blocks natively.
- **Global Marketplace Coverage:** Native endpoints for US, Germany, UK, Turkey, France, Japan, and more.
- **Sub-50ms Cached Extraction:** Edge acceleration powered by multi-region distributed caching.
- **Granular Data Payloads:** Extracts BuyBox owner, list prices, stock counts, shipping terms, and child variation mappings.
- **Zero External Dependencies:** Built strictly on native Python standard libraries (`urllib`, `json`).

---

## Installation

```bash
pip install amazon-scraper-api
```

---

## Quick Start

```python
from amazon_scraper import AmazonScraper

# Initialize client
client = AmazonScraper(api_key="YOUR_API_KEY")

# Extract product by ASIN and marketplace domain
product = client.get_product(asin="B0FPXGC6YG", domain="com.tr")

print("Title:", product["data"]["title"])
print("Price:", product["data"]["pricing"]["price"], product["data"]["pricing"]["currency"])
print("BuyBox Seller:", product["data"]["seller_info"]["sold_by"])
print("Stock Status:", product["data"]["inventory"]["in_stock"])
```

---

## Sample Response Payload

```json
{
  "success": true,
  "data": {
    "asin": "B0FPXGC6YG",
    "title": "Sample Product Title",
    "marketplace": "amazon.com.tr",
    "pricing": {
      "price": 499.90,
      "currency": "TRY",
      "is_prime": true
    },
    "seller_info": {
      "sold_by": "Amazon.com.tr",
      "ships_from": "Amazon",
      "is_buybox_winner": true
    },
    "inventory": {
      "in_stock": true,
      "stock_level": "In Stock."
    }
  }
}
```

---

## Parameters

| Parameter | Type | Required | Default | Description |
| :--- | :--- | :--- | :--- | :--- |
| `asin` | `str` | Optional* | `None` | 10-character Amazon Standard Identification Number. |
| `url` | `str` | Optional* | `None` | Full Amazon product URL (can be used instead of ASIN). |
| `domain` | `str` | Optional | `"com"` | Target marketplace extension (`com`, `com.tr`, `de`, `co.uk`, etc.). |

*\* Either `asin` or `url` must be provided.*

---

## Error Handling

```python
from amazon_scraper import AmazonScraper

client = AmazonScraper(api_key="YOUR_API_KEY")

try:
    product = client.get_product(asin="INVALID_ASIN")
except RuntimeError as err:
    print(f"Extraction failed: {err}")
```

---

## Authentication & API Keys

To obtain your production API key and access free monthly extraction credits, create an account at [Chaldia Labs](https://chaldia-labs.vercel.app).

---

## License

Distributed under the MIT License. Copyright (c) Chaldia Labs.
