Free REST API for AI Agents & Developers
Official API for BikeStylish.ro products
5,620 bicycle products • 116 categories • No authentication required
Înlocuiește XX cu 01, 02, 03... 23
Înlocuiește XX cu 01, 02
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.
{
"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": "..." }
]
}
Best Practice: Load parts on-demand rather than all at once for better performance.
// Î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);
});
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")
# 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"
[
'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";
}
?>
🏪 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