Website Traffic by Visitor Country for a Month
omnial/website-traffic-by-country
Given a website and a month, breaks the site's estimated visits down by visitor country: for each country, its two-letter code, the visits and unique users from it, its share of the site's visits, the average visit duration in seconds, the bounce rate and pages per visit, plus the month covered. In testing a large site returned 20 countries, most visits first.
Price
Up to $0.41 per call; you pay what the call used
The price shown is the price you pay. No monthly minimum. Top-ups start at $5.
Data source
Semrush
Data from Semrush.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/website-traffic-by-country" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/website-traffic-by-country" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/website-traffic-by-country", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/website-traffic-by-country", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.41 |
- Updated
- Oct 14, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"target",
"display_date"
],
"properties": {
"target": {
"type": "string",
"minLength": 1,
"description": "The website to look up, as a root domain without a scheme or path."
},
"geo_type": {
"enum": [
"country"
],
"type": "string",
"default": "country",
"description": "Geographic level of the rows: country. The only value offered."
},
"target_type": {
"enum": [
"domain"
],
"type": "string",
"default": "domain",
"description": "How the website is read: as a whole domain. The only value offered."
},
"display_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-01$",
"description": "Past month to report on, written as YYYY-MM-01 (the first day of that month)."
},
"display_limit": {
"enum": [
20,
1000
],
"type": "integer",
"default": 1000,
"description": "Maximum number of country rows to return: 20, or 1000 (the report's default)."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"geo": {
"type": "string",
"description": "The visitors' country, as a two-letter country code."
},
"users": {
"type": "string",
"description": "Estimated unique visitors from that country that month."
},
"traffic": {
"type": "string",
"description": "Estimated visits to the website from that country that month."
},
"bounce_rate": {
"type": "string",
"description": "Share of visits from that country that viewed one page (0 to 1)."
},
"display_date": {
"type": "string",
"description": "The month covered, as the first day of the month (YYYY-MM-01)."
},
"traffic_share": {
"type": "string",
"description": "The country's share of the website's visits that month (0 to 1)."
},
"pages_per_visit": {
"type": "string",
"description": "Average pages viewed per visit from that country."
},
"avg_visit_duration": {
"type": "string",
"description": "Average visit length from that country, in seconds."
}
}
},
"description": "One row per country; most visits first in testing."
}
},
"description": "The website's visits by visitor country for the month, as returned after shaping."
}