Skip to main content
GET
/
api
/
v1
/
public
/
website
Get Website
curl --request GET \
  --url https://api.tryhikoo.com/api/v1/public/website \
  --header 'Authorization: Bearer <token>'
{
  "name": "<string>",
  "url": "<string>",
  "workspace_id": 123,
  "id": 123,
  "topics": [
    "<string>"
  ],
  "competitors": [
    {
      "id": 123,
      "name": "<string>",
      "url": "<string>",
      "aliases": [
        "<string>"
      ]
    }
  ],
  "created_at": "2023-11-07T05:31:56Z",
  "logo_url": "<string>",
  "localization": "worldwide",
  "description": "<string>",
  "analysis_status": "pending",
  "industry": "<string>",
  "brand_identity": [
    "<string>"
  ],
  "language": "<string>",
  "aliases": [
    "<string>"
  ],
  "url_aliases": [
    "<string>"
  ],
  "has_active_subscription": false,
  "subscription_product_name": "<string>",
  "subscription_product_id": "<string>",
  "exports_enabled": false,
  "ai_prompt_gen_enabled": true,
  "source_intelligence_enabled": true,
  "sentiment_analysis_enabled": true,
  "competitor_suggestions_enabled": true,
  "marketing_plan_enabled": false,
  "agent_analytics_enabled": false,
  "prompt_volume_enabled": false,
  "plan_tier": "<string>",
  "trial_ends_at": "2023-11-07T05:31:56Z",
  "paused_at": "2023-11-07T05:31:56Z",
  "requires_post_trial_choice": false,
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Personal API key created in the dashboard (Settings > API keys).

Headers

authorization
string | null

Bearer <api_key>

X-MCP-Secret
string | null

Query Parameters

website_id
integer
required

Target website id

Response

Successful Response

Website response schema

name
string
required
url
string
required
workspace_id
integer
required
id
integer
required
topics
string[]
required
competitors
CompetitorWithoutLogo · object[]
required
created_at
string<date-time>
required
logo_url
string | null
localization
string
default:worldwide
description
string | null
analysis_status
enum<string>
default:pending

Lifecycle of a website's onboarding analysis (crawl + LLM specs).

Set to PENDING the instant the row is created (fast, synchronous), then driven by the website.analyze background job: PENDING -> ANALYZING -> COMPLETED | FAILED.

Available options:
pending,
analyzing,
completed,
failed
analysis_error
enum<string> | null

Stable, language-agnostic reason a website analysis failed.

Stored on Website.analysis_error and surfaced to the frontend, which maps each code to a localized message. Never put human-readable / English prose in the DB for this — only these codes.

Available options:
crawl_failed,
llm_unavailable,
llm_invalid_response,
unknown
industry
string | null
brand_identity
string[] | null
language
string | null
aliases
string[] | null
url_aliases
string[] | null
has_active_subscription
boolean
default:false
subscription_product_name
string | null
subscription_product_id
string | null
exports_enabled
boolean
default:false
ai_prompt_gen_enabled
boolean
default:true
source_intelligence_enabled
boolean
default:true
sentiment_analysis_enabled
boolean
default:true
competitor_suggestions_enabled
boolean
default:true
marketing_plan_enabled
boolean
default:false
agent_analytics_enabled
boolean
default:false
prompt_volume_enabled
boolean
default:false
plan_tier
string | null
trial_ends_at
string<date-time> | null
paused_at
string<date-time> | null
requires_post_trial_choice
boolean
default:false
updated_at
string<date-time> | null