-
-
Save luckysitara/90b3c5587a6137831658a92ad9826166 to your computer and use it in GitHub Desktop.
location wasn't included in the ip analysis output( and also if the analysis return the latitude and longitude of the location is there a way we can add a map feature using google map to view the location? ) and the result instead of being displayed in the same page can have a different page for it just like pii intelligence result page | |
https://v0.app/chat/sentinel-6pqhUTAgEUc | |
AIzaSyCoNJkO0GhoeY2uy6NPzxeVF0GxZvy33qI |
Once you have the latitude and longitude from these services, you can easily embed a map centered on that location using the Google Maps Embed API. The view mode is perfect for this, as it allows you to display a map centered on specific coordinates without any markers or directions by default.
Here's how you would construct the <iframe> code using the latitude and longitude you obtain from ipinfo or ipapi:
<iframe width="600" height="450" style="border:0" loading="lazy" allowfullscreen referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed/v1/view?key=YOUR_API_KEY¢er=LATITUDE,LONGITUDE&zoom=10"> </iframe>Use code with caution.
In this code:
YOUR_API_KEY: You'll need to replace this with your actual Google Maps Embed API key.
LATITUDE: This is where you'll insert the latitude value you get from ipinfo or ipapi.
LONGITUDE: This is where you'll insert the longitude value you get from ipinfo or ipapi.
center=LATITUDE,LONGITUDE: This parameter tells the Maps Embed API to center the map at the specified latitude and longitude.
zoom=10: This is an optional parameter that sets the initial zoom level of the map. You can adjust this value to show more or less of the surrounding area. A value of 10 is a good starting point to show a city or region.
How to integrate this with your IP lookup:
Perform the IP lookup: In your web application's backend or frontend (depending on how you're using ipinfo or ipapi), make the request to get the latitude and longitude for the user's IP address.
Dynamically generate the <iframe> src: Once you have the latitude and longitude values, you'll dynamically generate the src URL for the <iframe> element, inserting the obtained latitude and longitude into the center parameter.
Embed the <iframe>: Place the generated <iframe> code within your HTML where you want the map to appear.
For example, if your IP lookup returns latitude: 34.0522 and longitude: -118.2437, your <iframe> src would look like this:
https://www.google.com/maps/embed/v1/view?key=YOUR_API_KEY¢er=34.0522,-118.2437&zoom=10
Because some RDAP objects return a list (or nested lists) for the email field, your contact_for_roles collects values that can be strings or lists. Calling set(emails) fails when one item is a list (lists are unhashable). Google’s RDAP data happened to return only strings, so it worked; Twitter’s returned at least one list.
Fix — normalize/flatten before deduping. Replace contact_for_roles in your script with this robust version:
def contact_for_roles(role_names):
found = []
for obj_name, obj_data in objects.items():
roles = obj_data.get("roles", []) or []
contact = obj_data.get("contact", {}) or {}
email = contact.get("email")
if email and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
if isinstance(email, list):
for e in email:
if e:
found.append(e)
else:
found.append(email)
# sometimes emails are under other keys (just in case)
emails_alt = contact.get("emails") or contact.get("emailAddresses") or contact.get("vcardArray")
if emails_alt and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
if isinstance(emails_alt, list):
for e in emails_alt:
if isinstance(e, list):
# vcardArray style can be nested; flatten strings
for sub in e:
if isinstance(sub, str):
found.append(sub)
elif isinstance(e, str):
found.append(e)
elif isinstance(emails_alt, str):
found.append(emails_alt)
# dedupe while preserving order
seen = set()
unique = []
for e in found:
if e and e not in seen:
seen.add(e)
unique.append(e)
return unique or ["N/A"]
#!/usr/bin/env python3
import ipwhois
import ipinfo
import nmap
import json
------------------ Config ------------------
IPINFO_TOKEN = "e9f48a1b8ded6b"
handler = ipinfo.getHandler(IPINFO_TOKEN)
------------------ Helpers ------------------
def safe_getattr(obj, attr, default=None):
try:
return getattr(obj, attr)
except Exception:
return default
def flatten_email_field(field):
"""
Normalize various possible email representations into a flat list of strings.
"""
results = []
if not field:
return results
if isinstance(field, str):
results.append(field)
elif isinstance(field, list):
for item in field:
if isinstance(item, str):
results.append(item)
elif isinstance(item, list):
# nested lists (e.g., vcard-like structures)
for sub in item:
if isinstance(sub, str):
results.append(sub)
elif isinstance(field, dict):
# defensive: sometimes contact info may be dict-like
for v in field.values():
results.extend(flatten_email_field(v))
return results
------------------ IP Info ------------------
def get_ip_info(ip):
try:
details = handler.getDetails(ip)
except Exception as e:
return {"error": f"IPinfo lookup failed: {str(e)}"}
asn_dict = None
try:
asn_dict = details.asn if hasattr(details, "asn") else None
except Exception:
asn_dict = None
return {
"ip": safe_getattr(details, "ip", ip),
"hostname": safe_getattr(details, "hostname", None),
"asn": safe_getattr(details, "org", None),
"asn_number": asn_dict.get("asn") if isinstance(asn_dict, dict) and asn_dict.get("asn") else None,
"asn_org": asn_dict.get("name") if isinstance(asn_dict, dict) and asn_dict.get("name") else None,
"asn_domain": asn_dict.get("domain") if isinstance(asn_dict, dict) and asn_dict.get("domain") else None,
"asn_type": asn_dict.get("type") if isinstance(asn_dict, dict) and asn_dict.get("type") else None,
"city": safe_getattr(details, "city", None),
"region": safe_getattr(details, "region", None),
"country": safe_getattr(details, "country_name", None),
"country_code": safe_getattr(details, "country", None),
"location": safe_getattr(details, "loc", None),
"postal": safe_getattr(details, "postal", None),
"timezone": safe_getattr(details, "timezone", None),
"carrier": safe_getattr(details, "carrier", None),
"isp": safe_getattr(details, "org", None)
}
------------------ WHOIS Info ------------------
def get_whois_info(ip):
try:
obj = ipwhois.IPWhois(ip)
results = obj.lookup_rdap(asn_methods=["whois"])
except Exception as e:
return {"error": f"WHOIS lookup failed: {str(e)}"}
network = results.get("network", {}) or {}
objects = results.get("objects", {}) or {}
def contact_for_roles(role_names):
found = []
for obj_name, obj_data in objects.items():
roles = obj_data.get("roles", []) or []
contact = obj_data.get("contact", {}) or {}
# primary email fields
email_field = contact.get("email")
if email_field and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
found.extend(flatten_email_field(email_field))
# alternative fields that sometimes hold emails
emails_alt = contact.get("emails") or contact.get("emailAddresses") or contact.get("vcardArray")
if emails_alt and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
found.extend(flatten_email_field(emails_alt))
# dedupe while preserving order
seen = set()
unique = []
for e in found:
if e and e not in seen:
seen.add(e)
unique.append(e)
return unique or ["N/A"]
abuse = contact_for_roles(["abuse"])
tech = contact_for_roles(["tech"])
noc = contact_for_roles(["noc"])
# Also try to extract common named objects if present
abuse_obj = objects.get("ABUSE", {}).get("contact", {}) if isinstance(objects, dict) else {}
tech_obj = objects.get("TECH", {}).get("contact", {}) if isinstance(objects, dict) else {}
admin_obj = objects.get("ADMIN", {}).get("contact", {}) if isinstance(objects, dict) else {}
return {
"network": network.get("name"),
"cidr": network.get("cidr"),
"net_range": network.get("range"),
"org": network.get("org"),
"type": network.get("type"),
"country": network.get("country"),
"start_address": network.get("start_address"),
"end_address": network.get("end_address"),
"parent_handle": network.get("parent_handle"),
"abuse_contact": abuse if abuse != ["N/A"] else (abuse_obj or {}),
"tech_contact": tech if tech != ["N/A"] else (tech_obj or {}),
"admin_contact": admin_obj or {},
"creation_date": network.get("created"),
"updated_date": network.get("updated"),
"entities": results.get("entities")
}
------------------ Port Scanner ------------------
def scan_ports_list(ip, ports="20-1000"):
nm = nmap.PortScanner()
try:
nm.scan(ip, ports, arguments="-sV")
except Exception as e:
return [{"error": str(e)}]
results = []
if ip not in nm.all_hosts():
return [{"info": "No host results from nmap (host may be down or filtered)"}]
for host in nm.all_hosts():
for proto in nm[host].all_protocols():
ports_dict = nm[host][proto]
for port, port_data in ports_dict.items():
results.append({
"port": port,
"protocol": proto,
"state": port_data.get("state"),
"service": port_data.get("name"),
"product": port_data.get("product"),
"version": port_data.get("version")
})
return results if results else [{"info": "No open ports found"}]
------------------ Classification ------------------
def classify_ip(ipinfo_data):
asn_type = (ipinfo_data.get("asn_type") or "") or ""
asn_type = asn_type.lower()
if "hosting" in asn_type or "datacenter" in asn_type:
return "Hosting/Server Provider"
if "isp" in asn_type or "residential" in asn_type:
return "Residential/ISP"
if "mobile" in asn_type or ipinfo_data.get("carrier"):
return "Mobile Network"
asn_field = (ipinfo_data.get("asn") or "").lower()
if "google" in asn_field or "amazon" in asn_field or "microsoft" in asn_field:
return "Cloud/Hosting Provider"
return "Unknown"
------------------ Main ------------------
if name == "main":
ip = input("Enter an IP (e.g., 8.8.8.8): ").strip()
ip_info = get_ip_info(ip)
whois_info = get_whois_info(ip)
nmap_info = scan_ports_list(ip)
classification = classify_ip(ip_info)
combined_info = {
"ip_info": ip_info,
"whois_info": whois_info,
"nmap_info": nmap_info,
"classification": classification
}
print("\nFull Combined OSINT Report for", ip)
print(json.dumps(combined_info, indent=2))
INFO: 127.0.0.1:42716 - "OPTIONS /api/api/v1/maps/embed-url HTTP/1.1" 200 OK
INFO: 127.0.0.1:42718 - "OPTIONS /api/api/v1/maps/embed-url HTTP/1.1" 200 OK
INFO: 127.0.0.1:42716 - "POST /api/api/v1/maps/embed-url HTTP/1.1" 404 Not Found
INFO: 127.0.0.1:42718 - "POST /api/api/v1/maps/embed-url HTTP/1.1" 404 Not Found
✓ Compiled /ip-analysis/results in 382ms (922 modules)
GET /ip-analysis/results?q=162.210.96.125&data=%7B%22ip_info%22%3A%7B%22ip%22%3A%22162.210.96.125%22%2C%22hostname%22%3Anull%2C%22asn%22%3A%22AS14555+LiquidNet+US+LLC%22%2C%22asn_number%22%3Anull%2C%22asn_org%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22city%22%3A%22Chicago%22%2C%22region%22%3A%22Illinois%22%2C%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22location%22%3A%2241.8500%2C-87.6500%22%2C%22postal%22%3A%2260666%22%2C%22timezone%22%3A%22America%2FChicago%22%2C%22carrier%22%3Anull%2C%22isp%22%3A%22AS14555+LiquidNet+US+LLC%22%7D%2C%22whois_info%22%3A%7B%22network%22%3A%22LIQUIDNET-HOSTING%22%2C%22cidr%22%3A%22162.210.96.0%2F21%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22type%22%3A%22DIRECT+ALLOCATION%22%2C%22country%22%3Anull%2C%22start_address%22%3A%22162.210.96.0%22%2C%22end_address%22%3A%22162.210.103.255%22%2C%22parent_handle%22%3A%22NET-162-0-0-0-0%22%2C%22abuse_contact%22%3A%7B%7D%2C%22tech_contact%22%3A%7B%7D%2C%22admin_contact%22%3A%7B%7D%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%2C%22entities%22%3A%5B%22LUL-5%22%5D%7D%2C%22nmap_info%22%3A%5B%7B%22port%22%3A21%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22ftp%22%2C%22product%22%3A%22Pure-FTPd%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A22%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22ssh%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A25%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22smtp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A80%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A111%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22rpcbind%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A135%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22msrpc%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A136%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22profile%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A137%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ns%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A138%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-dgm%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A139%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ssn%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A443%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A445%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22microsoft-ds%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A646%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22ldp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%5D%2C%22classification%22%3A%22Unknown%22%2C%22ip_address%22%3A%22162.210.96.125%22%2C%22type%22%3A%22IPv4%22%2C%22is_private%22%3Afalse%2C%22is_loopback%22%3Afalse%2C%22is_multicast%22%3Afalse%2C%22reverse_dns%22%3Anull%2C%22geolocation%22%3A%7B%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22region%22%3A%22Illinois%22%2C%22city%22%3A%22Chicago%22%2C%22latitude%22%3A41.85%2C%22longitude%22%3A-87.65%2C%22timezone%22%3A%22America%2FChicago%22%2C%22isp%22%3A%22AS14555+LiquidNet+US+LLC%22%2C%22organization%22%3Anull%2C%22postal%22%3A%2260666%22%7D%2C%22network%22%3A%7B%22asn%22%3A%22AS14555+LiquidNet+US+LLC%22%2C%22asn_name%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22cidr%22%3A%22162.210.96.0%2F21%22%2C%22type%22%3A%22unknown%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22start_address%22%3A%22162.210.96.0%22%2C%22end_address%22%3A%22162.210.103.255%22%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%7D%2C%22ports%22%3A%7B%22open%22%3A%5B21%2C80%2C443%5D%2C%22filtered%22%3A%5B%5D%2C%22closed%22%3A%5B%5D%7D%2C%22services%22%3A%5B%7B%22port%22%3A21%2C%22service%22%3A%22ftp%22%2C%22product%22%3A%22Pure-FTPd%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Pure-FTPd%22%7D%2C%7B%22port%22%3A80%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Apache+httpd%22%7D%2C%7B%22port%22%3A443%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Apache+httpd%22%7D%5D%2C%22contacts%22%3A%7B%22abuse%22%3A%7B%7D%2C%22tech%22%3A%7B%7D%2C%22admin%22%3A%7B%7D%7D%2C%22reputation%22%3A%7B%22score%22%3A100%2C%22category%22%3A%22legitimate%22%2C%22threats%22%3A%5B%5D%2C%22blacklisted%22%3Afalse%7D%2C%22vulnerabilities%22%3A%5B%5D%7D 200 in 79ms
└──╼ $uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
INFO: Will watch for changes in these directories: ['/home/venom/nip/backend']
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO: Started reloader process [6773] using WatchFiles
INFO: Started server process [6775]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:44638 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
INFO: 127.0.0.1:44622 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
INFO: 127.0.0.1:44622 - "GET /api/ip/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:44622 - "GET /api/ip/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:38356 - "POST /api/ip/analyze HTTP/1.1" 200 OK
INFO: 127.0.0.1:38356 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:55508 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:55504 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:55504 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:48204 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
INFO: 127.0.0.1:48220 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
✓ Starting...
✓ Ready in 2.1s
○ Compiling /login ...
✓ Compiled /login in 4.1s (664 modules)
GET /login 200 in 4185ms
○ Compiling /dashboard ...
✓ Compiled /dashboard in 956ms (992 modules)
✓ Compiled /ip-analysis in 226ms (1003 modules)
✓ Compiled /ip-analysis/results in 431ms (1024 modules)
GET /ip-analysis/results?q=205.251.242.103&data=%7B%22ip_info%22%3A%7B%22ip%22%3A%22205.251.242.103%22%2C%22hostname%22%3A%22s3-console-us-standard.console.aws.amazon.com%22%2C%22asn%22%3A%22AS16509+Amazon.com%2C+Inc.%22%2C%22asn_number%22%3Anull%2C%22asn_org%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22city%22%3A%22Ashburn%22%2C%22region%22%3A%22Virginia%22%2C%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22location%22%3A%2239.0437%2C-77.4875%22%2C%22postal%22%3A%2220147%22%2C%22timezone%22%3A%22America%2FNew_York%22%2C%22carrier%22%3Anull%2C%22isp%22%3A%22AS16509+Amazon.com%2C+Inc.%22%7D%2C%22whois_info%22%3A%7B%22network%22%3A%22AMAZON-05%22%2C%22cidr%22%3A%22205.251.192.0%2F18%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22type%22%3A%22DIRECT+ALLOCATION%22%2C%22country%22%3Anull%2C%22start_address%22%3A%22205.251.192.0%22%2C%22end_address%22%3A%22205.251.255.255%22%2C%22parent_handle%22%3A%22NET-205-0-0-0-0%22%2C%22abuse_contact%22%3A%7B%7D%2C%22tech_contact%22%3A%7B%7D%2C%22admin_contact%22%3A%7B%7D%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%2C%22entities%22%3A%5B%22AMAZON-4%22%2C%22ROLEA19-ARIN%22%5D%7D%2C%22nmap_info%22%3A%5B%7B%22port%22%3A25%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22smtp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A80%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A135%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22msrpc%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A136%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22profile%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A137%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ns%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A138%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-dgm%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A139%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ssn%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A443%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22https%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A445%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22microsoft-ds%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A646%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22ldp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%5D%2C%22classification%22%3A%22Cloud%2FHosting+Provider%22%2C%22ip_address%22%3A%22205.251.242.103%22%2C%22type%22%3A%22IPv4%22%2C%22is_private%22%3Afalse%2C%22is_loopback%22%3Afalse%2C%22is_multicast%22%3Afalse%2C%22reverse_dns%22%3A%22s3-console-us-standard.console.aws.amazon.com%22%2C%22geolocation%22%3A%7B%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22region%22%3A%22Virginia%22%2C%22city%22%3A%22Ashburn%22%2C%22latitude%22%3A39.0437%2C%22longitude%22%3A-77.4875%2C%22timezone%22%3A%22America%2FNew_York%22%2C%22isp%22%3A%22AS16509+Amazon.com%2C+Inc.%22%2C%22organization%22%3Anull%2C%22postal%22%3A%2220147%22%7D%2C%22network%22%3A%7B%22asn%22%3A%22AS16509+Amazon.com%2C+Inc.%22%2C%22asn_name%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22cidr%22%3A%22205.251.192.0%2F18%22%2C%22type%22%3A%22cloud%2Fhosting+provider%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22start_address%22%3A%22205.251.192.0%22%2C%22end_address%22%3A%22205.251.255.255%22%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%7D%2C%22ports%22%3A%7B%22open%22%3A%5B80%2C443%5D%2C%22filtered%22%3A%5B%5D%2C%22closed%22%3A%5B%5D%7D%2C%22services%22%3A%5B%7B%22port%22%3A80%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Server%22%7D%2C%7B%22port%22%3A443%2C%22service%22%3A%22https%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Server%22%7D%5D%2C%22contacts%22%3A%7B%22abuse%22%3A%7B%7D%2C%22tech%22%3A%7B%7D%2C%22admin%22%3A%7B%7D%7D%2C%22reputation%22%3A%7B%22score%22%3A100%2C%22category%22%3A%22legitimate%22%2C%22threats%22%3A%5B%5D%2C%22blacklisted%22%3Afalse%7D%2C%22vulnerabilities%22%3A%5B%5D%7D 200 in 80ms
┌─[venom@parrot]─[~/nip/frontend]
└──╼ $npm run dev
[email protected] dev
next dev
▲ Next.js 14.2.31
- Local: http://localhost:3000
- Environments: .env.local
✓ Starting...
✓ Ready in 2.1s
○ Compiling /login ...
✓ Compiled /login in 1652ms (664 modules)
○ Compiling /dashboard ...
✓ Compiled /dashboard in 859ms (992 modules)
✓ Compiled /social-intelligence in 362ms (1007 modules)
✓ Compiled /api/social-intel/analytics in 66ms (547 modules)
Analytics API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/analytics/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/analytics 500 in 137ms
Analytics API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/analytics/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/analytics 500 in 139ms
✓ Compiled /api/social-intel/twitter/threats in 115ms (547 modules)
✓ Compiled (549 modules)
Twitter threats API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/twitter/threats/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/twitter/threats 500 in 143ms
Twitter threats API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/twitter/threats/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/twitter/threats 500 in 143ms
✓ Compiled /api/social-intel/news/articles in 81ms (549 modules)
✓ Compiled (551 modules)
News articles API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/news/articles/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/news/articles 500 in 130ms
News articles API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/news/articles/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/news/articles 500 in 131ms
✓ Compiled /api/social-intel/alerts in 75ms (551 modules)
✓ Compiled (553 modules)
Alerts API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/alerts/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/alerts 500 in 126ms
Alerts API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/alerts/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/alerts 500 in 127ms
✓ Compiled in 75ms (553 modules)
INFO: 127.0.0.1:60036 - "POST /api/auth/login HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "OPTIONS /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "OPTIONS /api/dashboard/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "OPTIONS /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60050 - "OPTIONS /api/users/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "GET /api/dashboard/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "GET /api/dashboard/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "GET /api/users/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60050 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "GET /api/users/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60050 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60058 - "GET /api/social-intel/analytics HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/analytics HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60058 - "GET /api/social-intel/twitter/threats HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/twitter/threats HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60058 - "GET /api/social-intel/news/articles HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/news/articles HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60058 - "GET /api/social-intel/alerts HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/alerts HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/analytics HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/twitter/threats HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/news/articles HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/alerts HTTP/1.1" 403 Forbidden
✓ Starting...
✓ Ready in 1988ms
○ Compiling /dark-web ...
✓ Compiled /dark-web in 1770ms (723 modules)
✓ Compiled /social-intelligence in 297ms (734 modules)
✓ Compiled /api/social-intel/analytics in 54ms (409 modules)
GET /api/social-intel/analytics 401 in 101ms
GET /api/social-intel/analytics 401 in 101ms
✓ Compiled /api/social-intel/twitter/threats in 83ms (409 modules)
✓ Compiled (411 modules)
GET /api/social-intel/twitter/threats 401 in 112ms
GET /api/social-intel/twitter/threats 401 in 112ms
✓ Compiled /api/social-intel/news/articles in 67ms (411 modules)
✓ Compiled (413 modules)
GET /api/social-intel/news/articles 401 in 99ms
GET /api/social-intel/news/articles 401 in 99ms
✓ Compiled /api/social-intel/alerts in 62ms (413 modules)
✓ Compiled (415 modules)
GET /api/social-intel/alerts 401 in 100ms
GET /api/social-intel/alerts 401 in 100ms
✓ Compiled in 58ms (415 modules)
GET /api/social-intel/analytics 401 in 35ms
GET /api/social-intel/twitter/threats 401 in 8ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 10ms
✓ Compiled /api/social-intel/search in 74ms (417 modules)
GET /api/social-intel/search?q=wetywre 401 in 104ms
✓ Compiled in 86ms (417 modules)
GET /api/social-intel/search?q=wetywre 401 in 31ms
GET /api/social-intel/search?q=wetywre 401 in 4ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 4ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 401 in 4ms
GET /api/social-intel/twitter/threats 401 in 5ms
GET /api/social-intel/news/articles 401 in 4ms
GET /api/social-intel/alerts 401 in 2ms
(nip) ┌─[venom@parrot]─[~/nip/backend]
└──╼ $uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
INFO: Will watch for changes in these directories: ['/home/venom/nip/backend']
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO: Started reloader process [40315] using WatchFiles
INFO: Started server process [40317]
INFO: Waiting for application startup.
INFO: Application startup complete.
✓ Starting...
✓ Ready in 1838ms
✓ Compiled /api/social-intel/analytics in 234ms (56 modules)
GET /api/social-intel/analytics 401 in 280ms
✓ Compiled /api/social-intel/twitter/threats in 66ms (56 modules)
✓ Compiled (58 modules)
GET /api/social-intel/twitter/threats 401 in 73ms
✓ Compiled /api/social-intel/news/articles in 43ms (58 modules)
✓ Compiled (60 modules)
GET /api/social-intel/news/articles 401 in 59ms
✓ Compiled /api/social-intel/alerts in 39ms (60 modules)
✓ Compiled (62 modules)
GET /api/social-intel/alerts 401 in 58ms
✓ Compiled in 38ms (62 modules)
GET /api/social-intel/analytics 401 in 28ms
GET /api/social-intel/twitter/threats 401 in 6ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 7ms
GET /api/social-intel/analytics 401 in 14ms
GET /api/social-intel/twitter/threats 401 in 9ms
GET /api/social-intel/news/articles 401 in 9ms
GET /api/social-intel/alerts 401 in 6ms
GET /api/social-intel/analytics 401 in 10ms
GET /api/social-intel/twitter/threats 401 in 9ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 11ms
GET /api/social-intel/analytics 401 in 6ms
GET /api/social-intel/twitter/threats 401 in 10ms
GET /api/social-intel/news/articles 401 in 5ms
GET /api/social-intel/alerts 401 in 4ms
○ Compiling /social-intelligence ...
✓ Compiled /social-intelligence in 1873ms (771 modules)
GET /social-intelligence 200 in 1985ms
GET /api/social-intel/analytics 200 in 27ms
GET /api/social-intel/analytics 200 in 28ms
GET /api/social-intel/twitter/threats 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 11ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 8ms
GET /api/social-intel/alerts 200 in 8ms
GET /api/social-intel/analytics 401 in 7ms
GET /api/social-intel/twitter/threats 401 in 5ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 4ms
GET /social-intelligence 200 in 34ms
GET /api/social-intel/analytics 200 in 13ms
GET /api/social-intel/analytics 200 in 15ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 6ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 7ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 4ms
GET /api/social-intel/analytics 200 in 8ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 5ms
GET /api/social-intel/alerts 401 in 6ms
GET /api/social-intel/analytics 401 in 4ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 6ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 3ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 5ms
✓ Compiled /api/social-intel/search in 151ms (409 modules)
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 191ms
✓ Compiled in 80ms (409 modules)
GET /api/social-intel/analytics 401 in 28ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 7ms
GET /api/social-intel/analytics 200 in 11ms
GET /api/social-intel/twitter/threats 200 in 12ms
GET /api/social-intel/news/articles 200 in 7ms
GET /api/social-intel/alerts 200 in 5ms
GET /api/social-intel/analytics 401 in 3ms
GET /api/social-intel/twitter/threats 401 in 7ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 6ms
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 13ms
GET /api/social-intel/analytics 200 in 7ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 19ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 7ms
GET /api/social-intel/twitter/threats 401 in 5ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 4ms
GET /api/social-intel/analytics 200 in 6ms
GET /api/social-intel/twitter/threats 200 in 6ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 200 in 12ms
GET /api/social-intel/twitter/threats 200 in 7ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 10ms
GET /api/social-intel/twitter/threats 401 in 6ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 4ms
GET /api/social-intel/analytics 401 in 4ms
GET /api/social-intel/twitter/threats 401 in 3ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 200 in 17ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 10ms
GET /api/social-intel/twitter/threats 401 in 12ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 3ms
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 22ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 8ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 4ms
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 21ms
GET /api/social-intel/analytics 200 in 12ms
GET /api/social-intel/twitter/threats 200 in 6ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 8ms
GET /api/social-intel/analytics 401 in 8ms
GET /api/social-intel/twitter/threats 401 in 12ms
GET /api/social-intel/news/articles 401 in 12ms
GET /api/social-intel/alerts 401 in 8ms
INFO: Application shutdown complete.
INFO: Finished server process [41262]
INFO: Started server process [41448]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:56592 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:56612 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56592 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56612 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:56612 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:46512 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:46512 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:46548 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46548 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:59982 - "OPTIONS /api/social-intel/twitter/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:59982 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:39820 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:55122 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55122 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55122 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:55122 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:55138 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:55138 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:37268 - "OPTIONS /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:37268 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:37270 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:34254 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:34254 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:34254 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:57026 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:57026 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45560 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45560 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45560 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45572 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:45572 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:45572 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:45572 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
└──╼ $npm run dev
[email protected] dev
next dev
▲ Next.js 14.2.31
- Local: http://localhost:3000
- Environments: .env.local
✓ Starting...
✓ Ready in 1847ms
○ Compiling / ...
✓ Compiled / in 1815ms (722 modules)
GET / 200 in 1932ms
✓ Compiled /social-intelligence in 477ms (743 modules)
✓ Compiled /api/social-intel/analytics in 86ms (413 modules)
GET /api/social-intel/analytics 200 in 147ms
GET /api/social-intel/analytics 200 in 153ms
✓ Compiled /api/social-intel/twitter/threats in 100ms (413 modules)
✓ Compiled (415 modules)
GET /api/social-intel/twitter/threats 200 in 111ms
GET /api/social-intel/twitter/threats 200 in 123ms
✓ Compiled /api/social-intel/news/articles in 82ms (415 modules)
✓ Compiled (417 modules)
GET /api/social-intel/news/articles 200 in 113ms
GET /api/social-intel/news/articles 200 in 119ms
✓ Compiled /api/social-intel/alerts in 67ms (417 modules)
✓ Compiled (419 modules)
GET /api/social-intel/alerts 200 in 111ms
GET /api/social-intel/alerts 200 in 119ms
✓ Compiled in 64ms (419 modules)
GET /api/social-intel/analytics 200 in 34ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 7ms
✓ Compiled /api/social-intel/twitter/start-monitoring in 78ms (421 modules)
Backend responded with 503: {"detail":"Twitter API not configured"}
Twitter monitoring API error: Error: Backend responded with 503
at POST (webpack-internal:///(rsc)/./app/api/social-intel/twitter/start-monitoring/route.ts:30:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
POST /api/social-intel/twitter/start-monitoring 500 in 115ms
✓ Compiled in 92ms (421 modules)
GET /api/social-intel/analytics 200 in 28ms
GET /api/social-intel/twitter/threats 200 in 10ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 18ms
✓ Compiled /api/social-intel/search in 92ms (423 modules)
GET /api/social-intel/search?q=abia 200 in 127ms
✓ Compiled in 72ms (423 modules)
GET /api/social-intel/search?q=abia 200 in 33ms
GET /api/social-intel/analytics 200 in 18ms
GET /api/social-intel/twitter/threats 200 in 17ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 8ms
✓ Compiled /api/social-intel/news/start-monitoring in 68ms (425 modules)
✓ Compiled in 89ms (425 modules)
GET /api/social-intel/search?q=abia 200 in 29ms
POST /api/social-intel/news/start-monitoring 200 in 17331ms
GET /api/social-intel/analytics 200 in 11ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 16ms
GET /api/social-intel/alerts 200 in 7ms
POST /api/social-intel/news/start-monitoring 200 in 12470ms
GET /api/social-intel/analytics 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 10ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 7ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 6ms
Backend responded with 503: {"detail":"Twitter API not configured"}
Twitter monitoring API error: Error: Backend responded with 503
at POST (webpack-internal:///(rsc)/./app/api/social-intel/twitter/start-monitoring/route.ts:30:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
POST /api/social-intel/twitter/start-monitoring 500 in 11ms
GET /api/social-intel/analytics 200 in 15ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/search?q=enugu 200 in 22ms
GET /api/social-intel/analytics 200 in 14ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 200 in 11ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 200 in 9ms
GET /api/social-intel/twitter/threats 200 in 6ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 8ms
──╼ $uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
INFO: Will watch for changes in these directories: ['/home/venom/nip/backend']
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO: Started reloader process [42464] using WatchFiles
INFO: Started server process [42466]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:58126 - "OPTIONS /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:58126 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:58126 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:57940 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 503 Service Unavailable
INFO: 127.0.0.1:47218 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:47218 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:47218 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:47218 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:47222 - "POST /api/social-intel/search?query=abia HTTP/1.1" 200 OK
INFO: 127.0.0.1:43768 - "POST /api/social-intel/search?query=abia HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:35778 - "POST /api/social-intel/search?query=abia HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:45430 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:50416 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 503 Service Unavailable
INFO: 127.0.0.1:50700 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:50700 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:50700 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:50700 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:50710 - "POST /api/social-intel/search?query=enugu HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
Persist cookies between sessions to avoid repeated logins, using a library like selenium-wire or browsercookie.
Rotate user agents using a library like fake-useragent.
Use a headless browser with stealth capabilities (e.g., undetected-chromedriver) to further reduce detection risks.
Certainly! Here are detailed code samples for embedding a map in your web app using latitude and longitude for each of the available modes in the Maps Embed API.
To embed a map, you'll use an <iframe> element in your HTML. The src attribute of the <iframe> will contain the Maps Embed API URL with the specific mode and parameters you need. Remember to replace YOUR_API_KEY with your actual API key. If you don't have one yet, you can find information on how to get an API key in the documentation.
Here are examples for each mode:
This mode displays a map pin at a specific location. While the primary parameter for location is q (which accepts place names, addresses, etc.), you can also use latitude and longitude within the q parameter.
<iframe width="600" height="450" style="border:0" loading="lazy" allowfullscreen referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY&q=37.4218,-122.0840"> </iframe>Use code with caution.
In this example:
key=YOUR_API_KEY: Your API key.
q=37.4218,-122.0840: The latitude and longitude for the location you want to display.
You can also include optional parameters like center, zoom, maptype, language, and region as described in the documentation.
This mode returns a map with no markers or directions, centered on a specific location. This is where using latitude and longitude for the center parameter is most common.
<iframe width="600" height="450" style="border:0" loading="lazy" allowfullscreen referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed/v1/view?key=YOUR_API_KEY¢er=37.4218,-122.0840&zoom=18&maptype=satellite"> </iframe>Use code with caution.
In this example:
key=YOUR_API_KEY: Your API key.
center=37.4218,-122.0840: The latitude and longitude for the center of the map view.
zoom=18: Sets the initial zoom level.
maptype=satellite: Displays satellite imagery.
You can also include optional parameters like language and region.
This mode displays the path between two or more points. You can use latitude and longitude for both the origin and destination parameters, as well as for waypoints.
<iframe width="600" height="450" style="border:0" loading="lazy" allowfullscreen referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed/v1/directions?key=YOUR_API_KEY&origin=37.7749,-122.4194&destination=34.0522,-118.2437&avoid=tolls|highways"> </iframe> Use code with caution. In this example:key=YOUR_API_KEY: Your API key.
origin=37.7749,-122.4194: The latitude and longitude for the starting point.
destination=34.0522,-118.2437: The latitude and longitude for the endpoint.
avoid=tolls|highways: Specifies routes that avoid tolls and highways.
You can also include optional waypoints using latitude and longitude, and parameters like language and region.
This mode shows interactive panoramic views from designated locations. You can use latitude and longitude to specify the location for the Street View panorama.
<iframe width="600" height="450" style="border:0" loading="lazy" allowfullscreen referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed/v1/streetview?key=YOUR_API_KEY&location=46.414382,10.013988"> </iframe>Use code with caution.
In this example:
key=YOUR_API_KEY: Your API key.
location=46.414382,10.013988: The latitude and longitude for the Street View location.
You can also include optional parameters like heading, pitch, and fov to control the initial view direction and field of view.
This mode shows results for a search across the visible map region. While the primary parameter is q (the search query), you can use latitude and longitude with the center parameter to define the initial center of the map for the search.
<iframe width="600" height="450" style="border:0" loading="lazy" allowfullscreen referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed/v1/search?key=YOUR_API_KEY&q=restaurants¢er=37.4218,-122.0840"> </iframe> Use code with caution. In this example:key=YOUR_API_KEY: Your API key.
q=restaurants: The search query.
center=37.4218,-122.0840: The latitude and longitude for the initial center of the map.
You can also include optional parameters like zoom, maptype, language, and region.
Important Considerations:
API Key: Always replace YOUR_API_KEY with your valid API key.
Iframe Attributes: The iframe attributes like width, height, frameborder, style, allowfullscreen, and referrerpolicy are important for controlling the appearance and behavior of the embedded map. The referrerpolicy="no-referrer-when-downgrade" is particularly important for API key restrictions to work correctly.
URL Encoding: When using latitude and longitude in the URL, they should be comma-separated. Other parameters like place names or addresses should be URL-escaped.
Parameter Combinations: The specific parameters available and required vary depending on the map mode. Refer to the documentation for a complete list of parameters for each mode.
Map Size: Embedded maps are not supported below a size of 200 px in either dimension.