1
📥
Fetch SEO data via APIGoogle Search Console, keyword rankings, traffic
2
🧮
Calculate ranking changesCompare current vs previous positions
3
🔍
Flag declining keywordsAlert on negative ranking trends
📊
Suggest optimizationsMeta tags, content improvements, fixing errors
import requests, json, pandas as pd
from googleapiclient.discovery import build
def fetch_seo_data(site_url, days=30):
service = build('searchconsole', 'v1', credentials=creds)
response = service.searchanalytics().query(siteUrl=site_url, body={
'startDate': '30daysAgo', 'dimensions': ['page', 'query'],
'rowLimit': 1000
}).execute()
return response.get('rows', [])
def analyze_rankings(data):
df = pd.DataFrame(data)
df['change'] = df['position'].diff()
declining = df[df['change'] > 2]
return {'declining_keywords': len(declining), 'avg_position': df['position'].mean()}
report = analyze_rankings(fetch_seo_data('https://example.com'))
print(json.dumps(report))