Overview
The KaggleIngest API uses standard HTTP status codes to indicate the success or failure of requests. All error responses include a consistent JSON structure with details about what went wrong.Success codes
200 OK
The request was successful and the server returned the requested data. Example response:Client error codes
400 Bad Request
The request was malformed or missing required parameters. Common causes:- Invalid competition slug (empty or whitespace)
- Missing required fields in request body
- Invalid parameter types or values
- Malformed JSON in request body
401 Unauthorized
Authentication is required but was not provided or is invalid. Common causes:- Missing
X-API-Keyheader - Empty API key value
403 Forbidden
The provided API key is invalid or doesn’t have permission to access the resource. Common causes:- Invalid or expired API key
- API key from different environment (dev vs prod)
- Revoked API key
- Verify your API key is correct
- Generate a new API key from your dashboard
- Check that you’re using the correct environment
404 Not Found
The requested resource doesn’t exist. Common causes:- Competition slug doesn’t exist on Kaggle
- Typo in competition slug
- Endpoint URL is incorrect
409 Conflict
The request conflicts with the current state of the server. Common causes:- Email already registered during signup
- Duplicate resource creation
429 Too Many Requests
You’ve exceeded the rate limit for the endpoint. Example response:Server error codes
500 Internal Server Error
The server encountered an unexpected error while processing your request. Common causes:- Database connection failures
- Unhandled exceptions in application code
- Kaggle API errors
- Background task failures
- Check your request: Ensure all parameters are valid
- Retry with backoff: The error may be transient
- Check status page: Visit status.kaggleingest.com for service status
- Contact support: If the issue persists, reach out with the request details
Error response structure
All error responses follow a consistent structure:Response headers
Every API response includes these headers:X-Process-Time-Ms
Server-side processing time in milliseconds:- Monitor API performance
- Identify slow endpoints
- Optimize request patterns
- Debug timeout issues
Rate limit headers
Included with rate-limited endpoints (see rate limits):Standard headers
Status-specific error messages
Competition processing states
When fetching competition metadata, you may receive these status values:Processing status
Failed status
Expired cache
Best practices
Handle errors gracefully
Log response details
When debugging, capture these details:Set appropriate timeouts
Getting help
If you encounter persistent errors:- Check the documentation: Verify your request format matches the examples
- Review error details: The
detailfield often contains actionable information - Check status page: Visit status.kaggleingest.com
- Contact support: Email [email protected] with:
- Request URL and method
- Request headers (excluding API key)
- Response status code and body
- Timestamp of the error
- Your use case