Get analyzed blog site profile
curl --request GET \
--url https://api.yalg.ai/v1/blog/site \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.yalg.ai/v1/blog/site', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.yalg.ai/v1/blog/site"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"siteUrl": "https://yalg.ai",
"audience": "B2B creators and founders",
"positioning": "Turn personal anecdotes into publishable content.",
"recap": {
"siteName": "YALG",
"detectedLanguage": "en",
"oneLineSummary": "YALG turns stories into a multi-format content pipeline.",
"positioning": "Practical content production cockpit.",
"offerSummary": "Plan, generate, review, and publish content.",
"targetAudience": "Creators, consultants, founders, and operators",
"brandVoice": "Focused, capable, and calm",
"proofPoints": [
"Multi-format content workflow"
],
"contentPillars": [
"Content planning",
"Blog production"
],
"seoAngles": [
"AI blog writing workflow"
],
"writingGuidelines": [
"Stay practical and concrete"
],
"ctaGuidance": "Invite readers to set up their content pipeline.",
"avoidInArticles": [
"Do not overstate automated outcomes"
],
"confidence": "high",
"visualIdentity": {
"colors": [
{
"hex": "#ff3366",
"role": "accent",
"label": "YALG accent",
"source": "theme-color"
},
{
"hex": "#09090b",
"role": "text",
"label": "Ink",
"source": "css"
}
],
"logo": {
"url": "https://yalg.ai/logo.svg",
"alt": "YALG",
"kind": "svg",
"background": "transparent"
},
"typography": {
"fontFamilies": [
"Inter"
],
"style": "Modern sans-serif"
},
"imageryStyle": "Clean product-led editorial visuals.",
"layoutCues": [
"High contrast",
"Compact cards"
],
"coverImageGuidelines": [
"Use brand accent as a subtle cue"
],
"avoidVisuals": [
"Generic stock photos"
],
"confidence": "high"
}
},
"analyzedAt": "2026-06-20T17:24:39.000Z"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request",
"code": "validation_failed"
}{
"statusCode": 401,
"message": "Invalid or missing API key",
"error": "Unauthorized",
"code": "unauthorized"
}{
"statusCode": 403,
"message": "Access denied",
"error": "Forbidden",
"code": "forbidden"
}{
"statusCode": 429,
"message": "Rate limit exceeded",
"error": "Too Many Requests",
"code": "rate_limit_exceeded",
"retryAfter": 60
}{
"statusCode": 500,
"message": "Internal server error",
"error": "Internal Server Error",
"code": "internal_server_error"
}Blog
Get analyzed blog site profile
Get analyzed blog site profile through the YALG API. Requests are scoped to the authenticated API key owner; cross-owner resource IDs return 404.
GET
/
v1
/
blog
/
site
Get analyzed blog site profile
curl --request GET \
--url https://api.yalg.ai/v1/blog/site \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.yalg.ai/v1/blog/site', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.yalg.ai/v1/blog/site"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"siteUrl": "https://yalg.ai",
"audience": "B2B creators and founders",
"positioning": "Turn personal anecdotes into publishable content.",
"recap": {
"siteName": "YALG",
"detectedLanguage": "en",
"oneLineSummary": "YALG turns stories into a multi-format content pipeline.",
"positioning": "Practical content production cockpit.",
"offerSummary": "Plan, generate, review, and publish content.",
"targetAudience": "Creators, consultants, founders, and operators",
"brandVoice": "Focused, capable, and calm",
"proofPoints": [
"Multi-format content workflow"
],
"contentPillars": [
"Content planning",
"Blog production"
],
"seoAngles": [
"AI blog writing workflow"
],
"writingGuidelines": [
"Stay practical and concrete"
],
"ctaGuidance": "Invite readers to set up their content pipeline.",
"avoidInArticles": [
"Do not overstate automated outcomes"
],
"confidence": "high",
"visualIdentity": {
"colors": [
{
"hex": "#ff3366",
"role": "accent",
"label": "YALG accent",
"source": "theme-color"
},
{
"hex": "#09090b",
"role": "text",
"label": "Ink",
"source": "css"
}
],
"logo": {
"url": "https://yalg.ai/logo.svg",
"alt": "YALG",
"kind": "svg",
"background": "transparent"
},
"typography": {
"fontFamilies": [
"Inter"
],
"style": "Modern sans-serif"
},
"imageryStyle": "Clean product-led editorial visuals.",
"layoutCues": [
"High contrast",
"Compact cards"
],
"coverImageGuidelines": [
"Use brand accent as a subtle cue"
],
"avoidVisuals": [
"Generic stock photos"
],
"confidence": "high"
}
},
"analyzedAt": "2026-06-20T17:24:39.000Z"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request",
"code": "validation_failed"
}{
"statusCode": 401,
"message": "Invalid or missing API key",
"error": "Unauthorized",
"code": "unauthorized"
}{
"statusCode": 403,
"message": "Access denied",
"error": "Forbidden",
"code": "forbidden"
}{
"statusCode": 429,
"message": "Rate limit exceeded",
"error": "Too Many Requests",
"code": "rate_limit_exceeded",
"retryAfter": 60
}{
"statusCode": 500,
"message": "Internal server error",
"error": "Internal Server Error",
"code": "internal_server_error"
}Authorizations
ApiKeyAuthbearer
YALG Developer API key. Send it in the x-api-key header from a server-side environment only.
Response
Successful response. Get analyzed blog site profile.
The response is of type object.
⌘I