News
October 2026
New feature(s):
- Add
memory_max,memory_per_vcpu_min,memory_per_vcpu_max,gpu_max,price_max,benchmark_score_max, andbenchmark_score_per_vcpu_minfilters to/servers. - Add
/inspector/task_block_reason_codesand/inspector/server/{vendor}/{server}/task_block_reason_codesendpoints to look up why inspector tasks are blocked. - Add
Retry-Afterheader to 429 responses and expose it, along with theX-RateLimit-*headers, to browsers via CORS.
Fix(es):
- Fix inflated
X-Total-Countheader for/serverswhen using a non-defaultbest_price_allocationwithout filtering for orderable servers. - Include CORS headers in early 401 and 429 responses so that browsers can read them.
- Do not charge rate-limit credits or verify tokens for CORS preflight requests.
- Prevent caching of 429/401 and rejected preflight responses.
Housekeeping:
- Stop gzip compression at the origin and let CloudFront compress responses.
September 2026
New feature(s):
- Add
architecture,cpu_allocation,network_speed_baseline_min,network_speed_max_min,network_storage_speed_baseline_min, andnetwork_storage_speed_max_minfilters to/databases(matched via identifiedDatabase.server_id). - Add
cpu_flagsfilter to/servers. - Add
cpu_hyperthreadingfilter to/servers(vCPUs > CPU cores). - Add
/table/vendor_compliance_linkdump for vendor / compliance framework mapping. - Add
storage_count_minfilter to/serversfor minimum bundled storage count.
August 2026
New feature(s):
- Add
/databasesbenchmark filters (benchmark_iddefaultpgbench:heavy_read_only,benchmark_config,benchmark_score_min,benchmark_score_per_price_min) andselected_benchmark_score*ordering. - Add
/ai/assist_database_filtersfor natural-language database filter extraction. - Refactor
/databasesendpoint: dropengineandwire_protocolfilters and modifyengine_versionsfilter toengine_version(supports only one required major engine version).
July 2026
New feature(s):
- Add
/databases,/database/{vendor}/{database},/database/{vendor}/{database}/prices, and/database_storage_pricesendpoints to support the newly implemented DBaaS data fromsparecores-crawler. - Add
/table/database,/table/database_price, and/table/database_storagetable dump endpoints. - Add
/databasesfilters for newsparecores-crawlerv0.8.5 fields (wire_protocol,max_read_replicas, monitoring,connection_pool,disk_encryption,security_features,autotuning_apply,ha_strategy, and related capabilities). - Treat
ha/ha_strategyasdatabase_priceprimary keys (min price = cheapest HA row). - Use
BestDatabasePriceAllocationfor/databases(noSPOT_ONLY; schema rejects it).
June 2026
New feature(s):
- Update database to
sparecores-crawlerv0.6.0 to expose newvendor(stopped_server_charged,billing_increment_seconds,minimum_billing_secondsandbilling_comment) andserver(ecpus,scalability,hw_virt,memory_amount_actual,network_speed_max,network_storage_speed_baseline,network_storage_speed_max, andaverage_time_to_start) fields. - Add
hw_virtfilter to/serversand/server_prices. - Add
network_speed_max_min,network_storage_speed_baseline_minandnetwork_storage_speed_max_minfilters to/servers. - Update parameter titles and descriptions.
- Add
/server/{vendor}/{server}/descriptionsendpoint returning theServerDescriptionof a single server.
‼ Breaking changes:
- Renamed
network_speedtonetwork_speed_baselinein theServertable. - Renamed
network_speed_minfilter on the/serversendpoint tonetwork_speed_baseline_min.
May 2026
Fix(es):
- Explicit request error when trying to order a table by a relation instead of an actual column.
April 2026
New feature(s):
- Add new
/table/server/selectendpoint to allow selecting specific Servercolumnsin the response. - Add
extra_storage_size,extra_storage_type,monthly_inbound_traffic, andmonthly_outbound_trafficquery parameters to the/serversendpoint. Allmin_pricefields and the always-presentprice_breakdownresponse object now include traffic and storage cost components, with tiered pricing and built-in server storage deducted fromextra_storage_size.
Fix(es):
Benchmarkcategoryis now sourced from the database instead of being hardcoded.
March 2026
New feature(s):
- New endpoint
/benchmark_score_statsfor querying benchmark config and score statistics. - Add optional
countriesandvendor_regionsquery filters for the/server/{vendor}/{server}/pricesand/server/{vendor}/{server}/similar_servers/{by}/{num}endpoints. - Add
benchmark_scoreandbenchmark_score_per_priceordering options to/server/{vendor}/{server}/similar_servers/{by}/{num}endpoint. - Add optional
currency,benchmark_id,benchmark_config,server_regionandbest_price_allocationquery parameters for the/server/{vendor}/{server}/similar_servers/{by}/{num}endpoint. - Added
network_speed_min,cpu_speed_min,cpu_l1d_cache_min,cpu_l1d_cache_total_min,cpu_l1i_cache_min,cpu_l1i_cache_total_min,cpu_l2_cache_min,cpu_l2_cache_total_min,cpu_l3_cache_min, andcpu_l3_cache_total_minfilters for the/serverswith predefined ranges for filtering.
Performance improvements:
-
Aggressive content caching with multi-layer CDN.
-
Fallback to stale cached content
- while revalidating in the background,
- on temporarily origin errors.
Fix(es):
- Background thread to clean-up expired in-memory rate-limit keys.
- Disable content caching for error responses.
- Add sorting to
/server/{vendor}/{server}/benchmarksendpoint.
February 2026
New feature(s):
- Monthly pricing calculations for on-demand servers with optional capping.
- Support for float GPU count values for fractional GPU allocation.
- New endpoint
/statsfor querying database table statistics with optional vendor and only_active filters. - New endpoint
/debugfor querying debug information about the availability of benchmark scores for servers. - Include monthly price caps (calculated from tiered prices) in server and server price search results.
- Add optional country/region filter for the servers endpoint.
- Add optional
vendor_regionsfilter for all endpoints already supporting theregionsfilter for more precise filtering. - Add optional
best_price_allocationconfiguration parameter for the search servers endpoint to control how the server's "best price" is computed (e.g. use any price, spot only, or on-demand only). - Add optional
currencyconfiguration parameter for the search servers endpoint to convert the prices to a requested currency.
Fix(es):
- Upgrade FastAPI from 0.115.13 to 0.128.8.
- Fix macOS compatibility issue with
iowaitCPU metric logging (not available on Darwin systems). - Convert tiered prices to requested currency in the server price search results.
- Fix
X-Total-Countheader for server search when ordered by price-derived fields and not filtering for active servers. - Filter out server prices without a related server score when ordering by score or score_per_price.
- Fix
price_maxcalculation and currency checking in/server_pricesendpoint.
‼ Breaking changes:
- Minimum required Python version upgraded from 3.8 to 3.11.
January 2026
New feature(s):
- OAuth2 Bearer token authentication support with configurable security schemes.
- Token introspection for OAuth2 authentication.
- Rate limiting with Redis backend and in-memory fallback.
- Credit-based rate limiting with configurable penalties for different response codes.
- Custom CEL (Common Expression Language) expressions for token validation and claim extraction.
- User authentication tracking and token source monitoring.
- Optional authentication requirements for specific endpoints.
- Server prices table dump endpoint with filters and authentication protection.
Fix(es):
- Redis connection error logging and graceful fallback handling.
- Token active status validation in all authentication flows.
- Self-reference issues in authentication middleware.
- Rate limit middleware properly applies 401 penalties.
- Currency code validation with HTTP 400 on invalid codes.
- Price currency handling in conversion operations.
- Middleware execution order for proper auth and rate limiting.
- Exclude low-frequency and potentially incorrect GPU models.
Housekeeping:
- Authentication and rate limiting middleware order optimization.
- Cache control to skip caching endpoints requiring authentication.
- Async HTTP client migration from
requeststohttpx. - Logger namespace standardization across all modules.
- Currency conversion optimized to run only when needed.
- Excluded inactive server types from API responses.
- Test coverage for authentication and rate limiting features.
- Thread-safe in-memory credit consumption tracking.
- Move rate-limit logic to Redis for atomic updates.
- Log client application ID when available.
- Pin ReDoc version for stability.
December 2025
Housekeeping:
- Bump
sparecores-crawlerandsparecores-datadependencies to 0.3.2.
October 2024
New feature(s):
- Support for CPU allocation filtering (shared vs dedicated).
- Materialized views for minimum server prices for improved performance.
- Background thread for currency rate updates from ECB.
- Currency table with live exchange rates.
- Server minimum prices included in Server objects.
- Similar servers by score per price endpoint.
- Min
$Core(score per price) filter for server searches.
Fix(es):
- Consider servers without price as inactive.
- Descending order on computed columns.
- Hide servers without values when filtering by related columns.
- Green energy definition synchronized with crawler.
Housekeeping:
- Bump version to match
sparecores-crawlerforDiskdescription support. - Drop v1 server details endpoint.
- Drop dead
min_server_pricecode. - Index optimization for server prices.
- Round
score_per_priceto 4 digits. - Code review with automated linting improvements using
ruff.
September 2024
New feature(s):
- Storage prices endpoint with comprehensive filtering options.
- Traffic prices endpoint with monthly pricing calculations.
- Tiered pricing support for traffic costs with proper tier calculation.
- Integration tests for all major API endpoints.
- Similar servers endpoint based on hardware specifications.
- Currency conversion support for storage and traffic prices.
- Parametrized test suite for comprehensive coverage.
- Server details v2 endpoints with improved data structure.
Fix(es):
- Duplicate rows from many-to-many relationships eliminated.
- Slow full-row lookups optimized.
- Active price filtering consistency across endpoints.
- Correct tiered price calculation (only apply delta per tier).
- Default to outbound traffic prices.
- Function name conflicts resolved.
Housekeeping:
- Indexed SQLite for better full-row lookup performance.
- Efficient count queries to avoid N+1 problems.
- Pre-query optimization for compliance framework lookups.
- Eager loading strategies for relationships to reduce query count.
- Optimized query performance with strategic JOINs.
- Test performance monitoring (flag queries >250ms).
- Require latest version of crawler and data packages.
- Code organization: split routers into separate files.
August 2024
New feature(s):
- Cache control headers for client-side caching.
- Sentry integration for error tracking and monitoring.
- System resource logging (CPU, memory, I/O, iowait).
- Request/response logging with unique request IDs.
- Sentry release tracking with environment context.
- Allow Sentry headers in CORS configuration.
- Experimental DuckDB integration for faster queries.
Fix(es):
- Thread-safe database operations with proper locking.
- Proper connection handling and cleanup for database operations.
- Self-locking issues in database update operations resolved.
- Fall back to SQLite when DuckDB is unavailable.
- IO counters handling on unsupported platform.
Housekeeping:
- Async database operations with proper locking mechanisms.
- Database updates moved to background threads.
- Increased page size limits for server prices (from 50 to higher limits).
- Later reduced default page size for performance.
- Server list reloading every 10 minutes.
- Production infrastructure moved to EU.
- Background database update at initialization.
- Search support for 200+ CPUs.
- Limit page size of server price queries.
- Install Sentry SDK as optional dependency.
June 2024
New feature(s):
- Benchmark scores endpoint with full benchmark data.
- Benchmark table dump for all available benchmarks.
- API reference queries for servers using api_reference parameter.
- Human-friendly column names with category information.
- Support for
SCore(Spare Cores Score) metric in API responses. - Price per
SCore($Core) calculations and filtering. - GPU total memory search and filtering capabilities.
Scoreand$Coreadded to individual server lookups.
Fix(es):
- Example JSON on
/benchmark_scoresendpoint corrected. - Server ID references in subqueries fixed.
- Handling of missing
SCorevalues in calculations. - Division by zero errors in price per score calculations.
- Missing
KeyValueerrors for lowest prices. - Price information handling when unavailable.
Housekeeping:
- Renamed Datacenter to Region across the entire API.
- Updated field descriptions for improved clarity.
- Server memory field renamed to
memory_amount. - Path parameters changed from generic IDs to descriptive names (e.g.,
vendor_id,server_id). - Locked
sparecores-dataandsparecores-crawlerversions for the SQLModel schema versions.
May 2024
New feature(s):
/serversendpoint for server listings without price information./server_pricesendpoint (renamed from previous/servers).- AI assistant endpoints for natural language queries via OpenAI integration.
- Currency parameter for server and price queries with automatic conversion.
- Freetext search on server IDs and names.
- Unit of measurement display in API responses.
- Table metadata endpoints for data exploration.
- Endpoint categories and organization for better API navigation.
- Healthcheck endpoint with database validation.
X-Total-Countheader for pagination support.- Request ID tracking in custom headers.
- Compliance framework filtering by multiple frameworks.
- Country-based filtering for regions/datacenters.
- Vendor ID enumeration for better type safety.
- Optional total count parameter to improve performance.
- Comprehensive filter options:
- Vendor, CPU, memory, storage, GPU filters.
- Green energy availability filtering.
- Compliance framework filtering (HIPAA, SOC2, etc.).
- Architecture filtering (x86_64, arm64, etc.).
- Storage type filtering.
- GPU manufacturer, family, and model filters.
- Total GPU memory filtering.
- Server similarity endpoints based on hardware specifications.
- Similar servers by family endpoint.
Fix(es):
- Don't key enum values by name to avoid serialization issues.
- Filter conditions properly enforced in count queries.
- CORS header exposure for
X-Total-Count. - Duplicate server entries in filtered results.
- Filter enforcement in count queries.
- Distinct query optimization when joining compliance frameworks.
- Fix OpenAPI/Swagger syntax error due to dict vs array confusion.
Housekeeping:
- Separated AI endpoints to dedicated module file.
- Query parameter details moved to helpers module for DRY code.
- Standardized lookups across all endpoints.
- File restructuring for better code organization.
- API restructured into logical modules with routers.
- Moved healthcheck, tables, and metadata to separate files.
- Router-based organization with OpenAPI tags.
- Filter descriptions moved to DRY helpers.
- Restructured main API file for readability.
- Consistent examples across all endpoints.
- Load examples into a dictionary for reusability.
April 2024
New feature(s):
- CORS support for cross-origin requests.
- Nested data structure for vendor relationships.
- Currency conversion support via ECB rates.
- Green energy filter option.
- Server listing query support with multiple filters.
- Query parameter metadata for frontend filtering.
- Architecture filter option.
Fix(es):
- Database session caching issues resolved.
- Join operations on overlapping compound foreign keys.
- Last updated date tracking fixed.
- SQL query logging disabled by default for performance.
- Coerce filter values to proper boolean type.
- Status filter properly applied.
Housekeeping:
- Response compression enabled via middleware.
- Session handling improvements to avoid caching.
- Moved
main.pytoapi.pyfor clarity. - Move source code under
src/directory. - Package dependencies updated (
sctosparecoresnaming). - Reflect
sc-crawlerschema updates. - Request/response logging middleware using structured JSON output.
- Logging configuration with custom formatters.
- Initialize linting and testing framework.
- Docker build configuration improvements.
- GitHub Actions workflow for automated deployment.
March 2024
Fix(es):
- Schema name updates to match recent
sc-crawlerchanges.
Housekeeping:
- Cross-platform path handling for Windows compatibility using
os.path. - Package distribution name updated to
sparecores.
February 2024
Initial release:
- FastAPI application structure and foundation.
- SQLite database file integration via
sc_datapackage. - Database hot-reload on updates.
- Response model annotations using type hints.
- Set example values for Swagger documentation.
- Annotated example inputs for API documentation.
API endpoints:
- Server instance lookup endpoint by vendor and API ID.
- Server search endpoint by CPU/RAM specifications.
- Swagger/OpenAPI documentation with examples.