1001 Freelance Projects
Latest Projects from Freelance Marketplaces
Today is: 10-Apr-2025 06:43 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
Create a basic, but clean website 09-Apr-2025
20:59 GMT
Add Cookieboty script and find missing closing tag 09-Apr-2025
20:11 GMT
Paid Relational Mobilizer (US) 09-Apr-2025
19:31 GMT
network simulation in packet tracer 09-Apr-2025
19:19 GMT
UK Construction blogs for Roofing| Home Blogs for Removals 09-Apr-2025
19:04 GMT
WordPress Developer Required for Immediate Start 09-Apr-2025
17:41 GMT
Create Walking route with Illustrator and Google maps 09-Apr-2025
17:25 GMT
Women in Leadership Events (2) 09-Apr-2025
17:03 GMT
Admin & Book keeping Support 09-Apr-2025
16:58 GMT
UX redesign of an existing App 09-Apr-2025
16:58 GMT
UX redesign of an existing App 09-Apr-2025
16:53 GMT
Btc flash tool. 09-Apr-2025
16:34 GMT
Photoshop work 09-Apr-2025
16:28 GMT
pharmacy window display 09-Apr-2025
16:24 GMT
ILA Personal Guarantee Advice and Certificate for a Mortgage 09-Apr-2025
16:23 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)

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