This is a submission for the Bright Data AI Web Access Hackathon
Table of Contents
- What I Built
- Demo
- How I Used Bright Data's Infrastructure
- Performance Improvements
- Tech Stack
- Main Features
- Real world problem solves
- Bonus: Tutorials
- Conclusion
- References
- Repository
What I Built
Scrape. Analyze. Optimize. Let AI decode Instagram profiles for you.
Everyone wants to know info about Instagram profiles whether it's about yourself or someone else. With InstaAnalyzer you are able to get insights not only from the profile but also from the posts of the profile (posts analyses will work only if the profile is public) plus you can have insights about your profile across the web so we deliver to you research based in the search results from Google, which will help you to see your digital footprint.
It can give you a fast overview from the eye of a specialized AI Agent which was built for it using REAL TIME DATA. This means if the person totally rebuilds the profile you will be able to see it even if the changes were made one minute ago.
Of course you can also use other AIs for this such as ChatGPT or Perplexity, but the problem is that such data are not "well distilled" plus those LLMs do not have full access to data or scrape those data like Bright Data.
I have dedicated a topic in this article showing some Real World Use Cases for this application. You can check it afterwards, but in a nutshell:
This AI tool helps you understand profiles of people you're curious about, even if you're not on their friends list. It brings you insights in an easy and friendly way and sometimes can be just for fun to share with your friends or to use as a tool for your company to understand your customers.
To make this happen, I used some cool technologies, which I'll explain in this article. Most of the tools are free, and Bright Data even gives free credits to every user to test their product. That means you can try the code below on your own machine after signing up.
Demo
You can test this project live! Just type an Instagram username, and you'll get all the info formatted in a nice front-end. Plus, you can share it on your own Instagram like the Spotify Wrapper feature! This would help me grow the project and get more eyes on this article and also show the power of Bright Data Tools. I'd be super thankful!
> InstaAnalyzer Live Demo
Profile example
Posts example
Web example
API Demo
Here you can access the repository of the API from this code
> Repository
Node JS MCP Server
PHP MCP API
How I Used Bright Data's Infrastructure
MCP Servers usage
For this project, I have done a few things:
First I connected to the MCP Server from Bright Data using the Smithery SDK to get REAL TIME DATA from Instagram profiles.
Since some people are posting new things everyday or changing their Instagram, it is important to have new data every time we check the profile, and using Bright Data tools is perfect for that! Then I have used some tools from their MCP Server:
-
web_data_instagram_profiles
(Quickly read structured Instagram profile data) -
web_data_instagram_posts
(Quickly read structured Instagram post data) -
search_engine
(Quickly read real time data from search engines)
So after I have sent this data to the LLM model using Neuron AI, a PHP framework to work with AI Agents, when I got all the data from the Instagram I started to process it, doing a deep analysis of the profile and the posts as well.
With that I was able to give information to the user about the profile that they are searching for. You can see more details on how the technical side works by looking at the System Design.
Performance Improvements
Here's what I'd like to do next:
- Build a custom scraper with Bright Data for specific Instagram data
- Improve the posts analysis since I am just checking the last five ones. Due to profiles which have a lot of posts, it needs a proper backend solution to not crash the LLM analysis
- Add RAG search using Bright Data's Instagram dataset
- Nowadays the AI response is on average 30s ~ 45s for non-cached responses and 15s ~ 25s for cached responses (when using REST API). This is one of the most critical points I am thinking to improve. Maybe I will add stream support in the future or other approaches like showing data in parts or other kinds of caching approaches, this is probably from the AI side which needs some seconds to give the proper analyze
Tech Stack
Here's what I used to build both projects:
- Brightdata MCP Server
- PHP and NodeJS for backend
- ReactJS for frontend
- NeuronAI for AI Agent
- Mistral for LLM Model
- Vercel for frontend deploy
- Render for MCP Server deploy
- Hostinger for PHP Server deploy
- MySQL for database
Main Features
- Profile analyzes and Posts analyzes with AI based in social frameworks and the behavior of the content provided by the instagram profile
- Web Search analyzes comparing the results of your profile with other people which has similar username or content
- PDF Report with everything so you can share or save the information you got
- Individual information export by images which can be easily shared or posted in your social networks
Real world problem solves
Here's what this project can help solve real world problems:
- Customer Insights for Businesses:
- Provides companies with detailed analytics about their Instagram customer profiles to inform marketing strategies.
- Authentic Connections:
- Facilitates meaningful connections by matching people based on their preferences and interests.
- Profile Optimization:
- Offers personalized recommendations to enhance user profiles for increased engagement.
- External Perspective:
- Helps users understand how others perceive their Instagram profiles.
- Content Alignment:
- Enables users to assess whether their posts align with their intended personal or brand image.
- Accessible Insights:
- Delivers valuable profile analytics to all users, even those without an Instagram business account.
- Make fun with your friends:
- Sharing your profile description on Instagram or other social media platforms just for fun.
Bonus: Tutorials
I have written two tutorials for you to be able to quickly test Bright Data Services.
Using Bright Data Smithery MCP Server on the website
I will cover in four steps how to test their MCP server on the Smithery platform and you will see how easy it is to work with their MCP Server
1 - Access Bright Data Smithery MCP Server and make your account on Smithery
- https://smithery.ai/server/@luminati-io/brightdata-mcp/api
- Create your user and profile
2 - Grab your token from Bright Data after making your registration
- https://brightdata.com/cp/setting/users
- Create a new user or use your existing one
- Set your API key configuration
- Grab it
3 - Connect to the MCP Server
- Click on tools
- Select one of them
- On the right side put your API Key From Bright Data
- Select your "profile" from Smithery
- Click on connect
4 - Use the MCP Server
- Put the required parameters
- Run the tool
- Get your Results
In those simple four steps you are already testing and using their powerful MCP Server on the Smithery platform. You can see more ways to connect or just access Bright Data Github where you can see a lot of examples on how to use the MCP Server using code.
Using Bright Data Smithery MCP Server SDK
If you want to use the SDK you can try it out in this way, it's straightforward and will work like a charm with node js
1 - run npm install @modelcontextprotocol/sdk @smithery/sdk
2 - Create a file called index.js and paste the code below
3 - then node ./index.js
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { createSmitheryUrl } from "@smithery/sdk"
const config = {
"apiToken": "string", // Mandatory, just use the previous API TOKEN generated for you
"browserAuth": "string", // Optional
"webUnlockerZone": "string" // Optional
}
const serverUrl = createSmitheryUrl("https://server.smithery.ai/@luminati-io/brightdata-mcp", { config, apiKey: "your-smithery-api-key"})
const transport = new StreamableHTTPClientTransport(serverUrl)
// Create MCP client
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
const client = new Client({
name: "Test client",
version: "1.0.0"
})
await client.connect(transport)
// List available tools
const tools = await client.listTools()
console.log(`Available tools: ${tools.map(t => t.name).join(", ")}`)
// How to use the tool from the SDK
const result = await client.callTool(
{
name: 'search_engine', arguments: { query: 'Bright Data documentation' , engine: 'google' }
}
)
console.log(result)
With those steps you will be able to access Bright Data MCP Servers and work with them using NodeJS. They also provide one with Python, you can take a look over here
Conclusion
Bright Data is an amazing platform! It lets you use your AI skills to create real-life projects that solve business problems. Their tech infrastructure is awesome, and everything just works.
I loved working with their tools and can't wait to keep using them. Their interface and setup are so easy and straightforward it'll definitely take your project to the next level!
You can use it as REST API or MCP Server. Since MCP server is a new technology, it's very cool seeing new stuff coming up and the power that this gives to us. I hope you enjoyed the article and it can be helpful for you to create your next amazing project using Bright Data.
Please comment below your thoughts about it and what you are thinking to build using all those Technologies :)
Top comments (59)
Awesome!
Thank you my friend!
Parabéns pelo ótimo trabalho mano!
Obrigado man!
Good work, best of luck
thank you so much bro!
Very nice, congrats!!! 👏👏👏
Amazing
Very nice!
Thanks my friend hope you enjoyed it!
Nice work
thanks bro!
Good work man!!
thank you bro
very good project Raziel
such an amazing project