1001 Freelance Projects
Latest Projects from Freelance Marketplaces
Today is: 06-Apr-2025 17:50 GMT
View Project
View this project in detail (Note: you will be redirected to external marketplace)
Project title: Web App to Scrape Car Listing Websites using AI
Posted by: External project from PeoplePerHour
Started: 25-Jan-2025 02:07 GMT
Description: Expected duration: 3 - 4 weeks
Car Scraper Application

1. Scope
A Python-based web application using Tailwind CSS for styling. The app allows users to search for car
listings across five different websites (Carvana, Cars.com, AutoTrader, TrueCar, and CarMax) by leveraging
the Browse.AI API.

2. Features
• Search Button: Triggers the data-gathering robots.
• Task Management: Tracks and waits for robots to complete tasks.
• Data Display: Presents results in a user-friendly card layout with detailed car information.

3. Tech Stack
• Backend: Python (Flask or FastAPI for API integration).
• Frontend: Tailwind CSS for styling.
• API Integration: Browse.AI for scraping and data retrieval
o Documentation: https://www.browse.ai/docs/api/v2
o OpenAPI : https://api.browse.ai/v2/openapi
• Deployment: Vercel, Vultr, or Digital Ocean.

4. User Flow
Step 1: Initial Interface
• A simple page with a search button and optional instructions.
Step 2: Trigger Robot
• User clicks "Search."
• Backend triggers Browse.AI robots for. For simplicity, these robots will be pre-configured to a
specific make, model, year, trim, and color, and each robot ID will be provided.
o Carvana
o Cars.com
o AutoTrader
o TrueCar
o CarMax
o Driveway
• Browse.AI API key will be provided upon project approval.
Step 3: Task Management
• Retrieve taskID from the robot.
• Poll Browse.AI API every 2–5 seconds to check the task status or utilize webhooks.
Step 4: Fetch Results
• Once a task is completed, retrieve results via Browse.AI API.
• Aggregate and normalize data from all sources.
Step 5: Display Results
• Format the results in cards using Tailwind CSS. Each card includes:
o Picture
o Make
o Model
o Year
o Trim
o Color
o Mileage
o Price
o Source
o A button to view the car on the original website.

5. Key Components
Frontend
• Home Page: Search button and simple UI styled with Tailwind CSS.
• Results Page:
o A grid of cards displaying car details.
o Tailwind CSS for responsive, modern design.
Backend
• API Routes:
o /search (POST): Triggers robots and returns task IDs.
o /results (GET): Polls task status and fetches results.
• Utility Functions:
o trigger_robot(robot_name): Makes API call to start the robot.
o check_task_status(task_id): Polls Browse.AI for task status.
o fetch_results(task_id): Retrieves and processes completed data.

6. API Integration
• 1. Run a robot:
o /POST: https://api.browse.ai/v2/robots/{robotId}/tasks
o Headers: Include API Key as Bearer token.
o Response: taskID = result.id
o Docs: https://www.browse.ai/docs/api/v2#tag/tasks/operation/newRobotTask
• 2. Determine task status:
o 2a. Poll the task status:
▪ /GET: https://api.browse.ai/v2/robots/{robotId}/tasks/{taskId}
▪ Headers: Include API Key.
▪ Response: Task completion status.
▪ Docs: https://www.browse.ai/docs/api/v2#tag/tasks/operation/getRobotTask
o 2b. (Alternate) Listen for Webhook “Task Finished”
▪ Docs:
https://www.browse.ai/docs/api/v2#tag/webhooks/paths/taskWebhook/post
• 3. Retrieve a task:
o /GET: https://api.browse.ai/v2/robots/{robotId}/tasks/{taskId}
o Headers: Include API Key.
o Response: Scraped data.
o Docs: https://www.browse.ai/docs/api/v2#tag/tasks/operation/getRobotTask

7. Tailwind CSS Components
• Search Button: Large, centered button with hover effects.
• Loader: Spinner to indicate task processing.
• Cards: Responsive grid layout for displaying results with:
o Image at the top.
o Text sections for details.
o A button with hover effect to view more.

8. Challenges & Solutions
• Asynchronous Task Polling: Use Python's asyncio or Celery for efficient polling.
• Data Normalization: Map diverse data structures from multiple robots to a unified format.
• UI Consistency: Leverage Tailwind CSS utility classes for rapid and consistent styling.

9. Development Plan
Phase 1: Setup
• Create project structure (backend, frontend).
• Configure Tailwind CSS and Browse.AI API.
Phase 2: Backend
• Build endpoints for triggering robots and fetching results.
• Implement task polling logic or utilize webhooks.
Phase 3: Frontend
• Design the search page and results page.
• Integrate Tailwind CSS components.
Phase 4: Integration
• Connect frontend to backend.
• Test end-to-end functionality.
Phase 5: Deployment
• Deploy app to a shared GitHub repo.
• Test on various devices for responsiveness.
Project ID: 3418705
Project category:
Project budget:
View this project in detail (Note: you will be redirected to external marketplace)
Last Projects / Browse Projects
  Project Started
Urgent - Recreation Of PDF document with changes 06-Apr-2025
14:47 GMT
Bathroom design 06-Apr-2025
14:31 GMT
Talent Scout for Property Manager Recruitment 06-Apr-2025
14:25 GMT
Video Documentary 06-Apr-2025
13:52 GMT
Historical records transcribed from pdf to excel 06-Apr-2025
13:41 GMT
Newsletter transfer and Emails uploaded 06-Apr-2025
13:41 GMT
Install window vinyls to shop in Victoria 06-Apr-2025
13:07 GMT
Messaging Assistant 06-Apr-2025
12:12 GMT
Facebook Page Recovery & Deletion Support 06-Apr-2025
12:12 GMT
A quick Google sheet added to wix 06-Apr-2025
12:11 GMT
Contact Few Freelancers on Upwork 06-Apr-2025
11:44 GMT
Guest Posting & Link Building Services for SEO Growth 06-Apr-2025
11:11 GMT
Ediot Perfex CRM Menu Setup Plugin To Allow Submenu 06-Apr-2025
10:03 GMT
Coloring tool modification 06-Apr-2025
09:31 GMT
Voice actor for a comedy animation 06-Apr-2025
09:08 GMT
Browse All Projects
Projects by Skills ...
Projects for 'android'
Projects for 'ajax'
Projects for 'asp'
Projects for 'aspnet'
Projects for 'cms'
Projects for 'cpp'
Projects for 'csharp'
Projects for 'css'
Projects for 'delphi'
Projects for 'design'
Projects for 'drupal'
Projects for 'excel'
Projects for 'facebook'
Projects for 'flash'
Projects for 'html'
Projects for 'java'
Projects for 'javascript'
Projects for 'joomla'
Projects for 'iphone'
Projects for 'mysql'
Projects for 'photoshop'
Projects for 'php'
Projects for 'python'
Projects for 'ruby'
Projects for 'seo'
Projects for 'sql'
Projects for 'sysadm'
Projects for 'translate'
Projects for 'typing'
Projects for 'twitter'
Projects for 'vbnet'
Projects for 'xml'
Projects for 'wordpress'
Projects for 'writing'
Read RSS feeds ... New!
RSS feed for 'android'
RSS feed for 'ajax'
RSS feed for 'asp'
RSS feed for 'aspnet'
RSS feed for 'cms'
RSS feed for 'cpp'
RSS feed for 'csharp'
RSS feed for 'css'
RSS feed for 'delphi'
RSS feed for 'design'
RSS feed for 'drupal'
RSS feed for 'excel'
RSS feed for 'facebook'
RSS feed for 'flash'
RSS feed for 'html'
RSS feed for 'java'
RSS feed for 'javascript'
RSS feed for 'joomla'
RSS feed for 'iphone'
RSS feed for 'mysql'
RSS feed for 'photoshop'
RSS feed for 'php'
RSS feed for 'python'
RSS feed for 'ruby'
RSS feed for 'seo'
RSS feed for 'sql'
RSS feed for 'sysadm'
RSS feed for 'translate'
RSS feed for 'typing'
RSS feed for 'twitter'
RSS feed for 'vbnet'
RSS feed for 'xml'
RSS feed for 'wordpress'
RSS feed for 'writing'
New!
Проекты на русском
(Projects in Russian)

Short URL:
1001fp.com
Mobile version:
m.1001freelanceprojects.com
Copyright © 2005-2024 1001 Freelance Projects