Dataset Search API Reference
Access object detection dataset search capabilities through RapidAPI. Search and discover object detection datasets programmatically using our simple and powerful API endpoint hosted on RapidAPI.
Base URL
All API requests should be made to the following RapidAPI endpoint:
https://dataset-search-api.p.rapidapi.com/
Try the API in the RapidAPI Playground or subscribe to the API on RapidAPI.
Authentication
The API uses RapidAPI's authentication headers. Include your RapidAPI key in the headers of all requests.
Required Headers:
- x-rapidapi-key: Your RapidAPI key
- x-rapidapi-host: dataset-search-api.p.rapidapi.com
You can obtain a RapidAPI key from RapidAPI.
Object Detection Search
Search for object detection datasets using text queries. This RapidAPI endpoint returns datasets that match your search criteria.
Endpoint
GET /api/v1/object-detection/search
Full URL: https://dataset-search-api.p.rapidapi.com/api/v1/object-detection/search
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | String | * | Search term for object detection datasets (e.g., "fruit") |
| limit | String | (optional) | Number of results to return (default: 3) |
Response Format
Returns a JSON response with an array of matching datasets and metadata. Each response includes pagination information, total count, and detailed dataset objects with classes, images, URLs, and quality metrics.
Response Fields
Each dataset object contains detailed information including classes, image counts, URLs, quality metrics, and metadata.
| Field | Type | Description |
|---|---|---|
| datasets | Array | Array of dataset objects matching the search query |
| total_count | Integer | Total number of datasets found |
| page | Integer | Current page number |
| per_page | Integer | Number of results per page |
| has_more | Boolean | Whether more results are available |
| search_query | String | The search query that was used |
| task_type | String | Type of task (e.g., "object-detection") |
Dataset Object Fields
Each dataset in the array contains:
- id, name, description, owner - Basic identifiers
- platform - Platform where the dataset is hosted (e.g., "roboflow")
- classes - Array of class names in the dataset
- images_count, annotations_count - Count of images and annotations
- url - Link to the dataset
- thumbnail_url, annotation_url - Image URLs for preview
- quality_score, star_count - Quality and popularity metrics
- difficulty_level, license, tags - Additional metadata
Error Handling
The API uses standard HTTP status codes. RapidAPI handles authentication and rate limiting errors.
Common Error Responses
401 Unauthorized
Invalid or missing RapidAPI key. Make sure you're subscribed to the API on RapidAPI and using the correct API key.
400 Bad Request
Invalid request parameters. Check that your query parameters are formatted correctly.
429 Too Many Requests
Rate limit exceeded. Upgrade your RapidAPI subscription plan to increase your quota.
Rate Limits
Rate limits are determined by your RapidAPI subscription plan. Check your plan details on your RapidAPI dashboard.
Note: Free tier plans typically allow a limited number of requests per month. Upgrade your RapidAPI subscription to increase rate limits and access higher quotas.
| Endpoint | Rate Limit | Notes |
|---|---|---|
| /api/v1/object-detection/search | Depends on plan | Check your RapidAPI plan for specific limits |
Getting Started
Ready to start using the Dataset Search API on RapidAPI? Get your API key and start exploring datasets.
Base URL
The RapidAPI endpoint for all API requests
Base URL
https://dataset-search-api.p.rapidapi.com/
Authentication
Include your RapidAPI key in the request headers
Headers
{"x-rapidapi-key": "YOUR_RAPIDAPI_KEY","x-rapidapi-host": "dataset-search-api.p.rapidapi.com"}
Object Detection Search
Search for object detection datasets
cURL
curl --request GET \--url 'https://dataset-search-api.p.rapidapi.com/api/v1/object-detection/search?query=fruit&limit=3' \--header 'x-rapidapi-host: dataset-search-api.p.rapidapi.com' \--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'
Python
import requestsimport jsonBASE_URL = "https://dataset-search-api.p.rapidapi.com"API_KEY = "YOUR_RAPIDAPI_KEY"HEADERS = {"x-rapidapi-key": API_KEY,"x-rapidapi-host": "dataset-search-api.p.rapidapi.com"}params = {"query": "fruit","limit": "3"}response = requests.get(f"{BASE_URL}/api/v1/object-detection/search",headers=HEADERS,params=params)if response.status_code == 200:result = response.json()print(json.dumps(result, indent=2))else:print(f"Error: {response.status_code}")print(response.text)
Query Parameters
Available parameters for the search endpoint
Parameters
{"query": "fruit", // Required: Search term (String)"limit": "3" // Optional: Number of results (String, default: 3)}
Response Format
Example of successful API response
Success Response
{"datasets": [{"id": "fruit-smrhb","name": "Fruit","description": "Dataset: Fruit","owner": "Object Detection Fruit","task_type": "object-detection","platform": "roboflow","classes": ["apple", "banana", "grape", "kiwi"],"images_count": 2217,"annotations_count": 2217,"url": "https://universe.roboflow.com/...","quality_score": 2.2,"difficulty_level": "advanced"}],"total_count": 3,"page": 1,"per_page": 3,"has_more": false,"task_type": "object-detection","search_query": "fruit"}
Error Handling
Handle API errors gracefully
Python Error Handling
import requestsBASE_URL = "https://dataset-search-api.p.rapidapi.com"API_KEY = "YOUR_RAPIDAPI_KEY"headers = {"x-rapidapi-key": API_KEY,"x-rapidapi-host": "dataset-search-api.p.rapidapi.com"}try:response = requests.get(f"{BASE_URL}/api/v1/object-detection/search",headers=headers,params={"query": "fruit", "limit": "3"})response.raise_for_status()data = response.json()print(f"Found {data['total_count']} datasets")except requests.exceptions.HTTPError as e:if e.response.status_code == 401:print("Invalid RapidAPI key")elif e.response.status_code == 400:print("Bad request - check parameters")elif e.response.status_code == 429:print("Rate limit exceeded - upgrade plan")else:print(f"HTTP error: {e.response.status_code}")print(e.response.text)