🚴 BikeStylish API v2.0

Free REST API for AI Agents & Developers
Official API for BikeStylish.ro products
5,620 bicycle products • 116 categories • No authentication required

🏪 Sursa datelor: Acest API oferă acces la catalogul complet de produse de pe www.bikestylish.ro - primul magazin online de biciclete din România integrat cu AI, specializat în accesorii și piese de bicicletă care fiind online ajunge peste tot, întotdeauna are pe stoc ceea ce vezi pe site și oferă întotdeauna informații în plus pe înțelesul cumpărătorilor la un preț corect
🟢 API Status: ONLINE

📦 Produse

23 părți
5620 produse total

Test Produse

📂 Categorii

2 părți
116 categorii total

Test Categorii

🤖 Pentru Agenții AI

🎯 De ce acest API este perfect pentru agenții AI:

🔗 Endpoints API

Produse (1-23):

https://endimion2k.github.io/bikestylish-catalog/data/products_ai_enhanced_split/products_ai_enhanced_part_XX.json

Înlocuiește XX cu 01, 02, 03... 23

Categorii (1-2):

https://endimion2k.github.io/bikestylish-catalog/data/categories_ai_enhanced_split/categories_ai_enhanced_part_XX.json

Înlocuiește XX cu 01, 02

📋 Exemple de Utilizare

🤖 Pentru AI Agents - Prompt Example:

You are an AI assistant helping users find bicycle products. 
Use this API to search and recommend products:

Base URL: https://endimion2k.github.io/bikestylish-catalog/data/
Products: products_ai_enhanced_split/products_ai_enhanced_part_XX.json (01-23)
Categories: categories_ai_enhanced_split/categories_ai_enhanced_part_XX.json (01-02)

Each product includes: name, brand, category, price, specifications, 
multilingual keywords, and semantic relationships.

📊 Response Schema Example:

{
  "last_updated": "2025-08-10T17:38:17.795483",
  "total_products": 5620,
  "version": "2.0",
  "source": "https://www.bikestylish.ro",
  "part_info": {
    "current_part": 1,
    "total_parts": 23,
    "products_in_part": 250
  },
  "products": [
    { "id": "...", "name": "..." }
  ]
}

🔍 Field Descriptions:

Product Fields:

⚠️ Error Handling:

HTTP Status Codes:

🚀 Performance & Pagination:

Data Splitting Logic:

Best Practice: Load parts on-demand rather than all at once for better performance.

JavaScript:

// Încarcă primul set de produse
fetch('https://endimion2k.github.io/bikestylish-catalog/data/products_ai_enhanced_split/products_ai_enhanced_part_01.json')
  .then(response => {
    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }
    return response.json();
  })
  .then(data => {
    console.log('Produse încărcate:', data.products.length);
    console.log('Total părți:', data.part_info.total_parts);
    
    // Exemplu: Găsește produse din categoria "accesorii"
    const accessories = data.products.filter(p => p.category === 'accesorii');
    console.log('Accesorii găsite:', accessories.length);
    
    // Exemplu: Găsește produse disponibile
    const inStock = data.products.filter(p => p.availability === 'in_stock');
    console.log('Produse în stoc:', inStock.length);
  })
  .catch(error => {
    console.error('Eroare la încărcarea datelor:', error);
  });

Python:

import requests
import json

def get_products(part_number):
    """Încarcă produse dintr-o anumită parte a API-ului"""
    url = f"https://endimion2k.github.io/bikestylish-catalog/data/products_ai_enhanced_split/products_ai_enhanced_part_{part_number:02d}.json"
    
    try:
        response = requests.get(url, timeout=10)
        response.raise_for_status()  # Aruncă excepție pentru 4xx/5xx
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"Eroare la încărcarea părții {part_number}: {e}")
        return None

def search_products_by_category(category, max_parts=5):
    """Caută produse după categorie în primele max_parts părți"""
    results = []
    
    for part in range(1, max_parts + 1):
        data = get_products(part)
        if data:
            matching_products = [
                p for p in data['products'] 
                if p.get('category', '').lower() == category.lower()
            ]
            results.extend(matching_products)
            print(f"Partea {part}: {len(matching_products)} produse găsite")
    
    return results

# Exemplu de utilizare
accessories = search_products_by_category('accesorii', max_parts=3)
print(f"Total accesorii găsite: {len(accessories)}")

# Exemplu: Analizează prețurile
if accessories:
    prices = [p['price'] for p in accessories if p.get('price')]
    print(f"Preț minim: {min(prices)} RON")
    print(f"Preț maxim: {max(prices)} RON")
    print(f"Preț mediu: {sum(prices)/len(prices):.2f} RON")

cURL:

# Testează conectivitatea
curl -I "https://endimion2k.github.io/bikestylish-catalog/"

# Încarcă prima parte a produselor
curl "https://endimion2k.github.io/bikestylish-catalog/data/products_ai_enhanced_split/products_ai_enhanced_part_01.json"

# Verifică headers pentru cache
curl -I "https://endimion2k.github.io/bikestylish-catalog/data/products_ai_enhanced_split/products_ai_enhanced_part_01.json"

# Încarcă categorii
curl "https://endimion2k.github.io/bikestylish-catalog/data/categories_ai_enhanced_split/categories_ai_enhanced_part_01.json"

PHP:

 [
            'timeout' => 10,
            'user_agent' => 'BikeStylish-Client/1.0'
        ]
    ]);
    
    $data = file_get_contents($url, false, $context);
    
    if ($data === FALSE) {
        throw new Exception("Failed to fetch data from part $partNumber");
    }
    
    return json_decode($data, true);
}

// Exemplu de utilizare
try {
    $products = getBikeStylishProducts(1);
    echo "Produse încărcate: " . count($products['products']) . "\n";
    
    // Filtrează după brand
    $mwaveProducts = array_filter($products['products'], function($p) {
        return strtolower($p['brand']) === 'm-wave';
    });
    
    echo "Produse M-WAVE: " . count($mwaveProducts) . "\n";
    
} catch (Exception $e) {
    echo "Eroare: " . $e->getMessage() . "\n";
}
?>

ℹ️ Informații Tehnice

📊 Date și Versioning

  • Actualizat: 10 August 2025
  • Versiune API: 2.0.0
  • Format: JSON (Schema.org compatible)
  • Encoding: UTF-8
  • Total produse: 5,620
  • Total categorii: 116

🌐 Rețea și Cache

  • CDN: GitHub Pages Global
  • Cache: 1 oră (3600s)
  • SSL: HTTPS obligatoriu
  • CORS: Activat pentru toate domeniile
  • Compression: Gzip enabled
  • Uptime: 99.9% SLA

🔐 Securitate și Acces

  • Authentication: Nu este necesară
  • Rate Limiting: Nu există limite actuale
  • API Keys: Nu sunt necesare
  • HTTPS only: Da
  • CORS Origin: *
  • Webhook support: Nu

🤖 AI și Optimizare

  • AI Friendly: Optimizat pentru ML
  • Schema.org: Full markup
  • Multilingual: RO/EN/DE/HU keywords
  • Semantic search: Enabled
  • Crawlers: GPTBot, Claude, Gemini
  • Training data: Ready-to-use

🛠️ Troubleshooting

Probleme Comune și Soluții:

💡 Best Practices

Recomandări pentru Dezvoltatori:

🔍 API Discovery

Pentru indexare automată:

🏪 BikeStylish.ro - Primul magazin online de biciclete din România integrat cu AI, specializat în accesorii și piese cu stoc real și prețuri corecte
API gratuit pentru dezvoltatori și agenți AI

🌐 Vizitează Magazinul 📁 GitHub Repository 📖 Documentație Completă 📋 Changelog 💬 Support