EdgeChat Geoparse API
The Geoparse API from EdgeChat — 1 operation(s) for geoparse.
The Geoparse API from EdgeChat — 1 operation(s) for geoparse.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/edgechat-ai:edgechat-ai-geoparse-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Edgepedia Geoparse API
version: '1'
description: Read-only JSON access to the Edgepedia encyclopedia articles. Keyless. 600 requests a minute and 100,000 a day per IP address (429 with Retry-After past that). Free with credit under the Edgepedia Community License 1.0; AI training is open to everyone.
license:
name: Edgepedia Community License 1.0
url: https://www.edgechat.ai/edgepedia/license
contact:
url: https://www.edgechat.ai/developers
name: EdgeChat
email: olivia.jin@biostate.ai
x-logo:
url: https://www.edgechat.ai/assets/edgechat-chestnut-orange-logo-v2.png
altText: EdgeChat
backgroundColor: '#FFFFFF'
href: https://www.edgechat.ai/developers
x-origin:
- format: openapi
version: '3.1'
url: https://www.edgechat.ai/openapi.json
servers:
- url: https://www.edgechat.ai/api/v1
tags:
- name: Geoparse
paths:
/geoparse:
post:
operationId: geoparse
summary: Places and periods mapped onto the geography tree
parameters:
- name: limit
in: query
required: false
description: 1 to 50 (default 10)
schema:
type: integer
- $ref: '#/components/parameters/fields'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- text
properties:
text:
type: string
maxLength: 20000
example:
text: Mount Fuji is the highest mountain in Japan, southwest of Tokyo, and was painted by Hokusai in the Edo period.
responses:
'200':
description: Places, periods, and geography nodes
content:
application/json:
schema:
$ref: '#/components/schemas/GeoparseResponse'
examples:
live:
summary: POST https://www.edgechat.ai/api/v1/geoparse
description: 'A live answer of 2026-10-07: arrays cut to two items, long text cut with an ellipsis.'
value:
nodes:
- id: geo.asia.nodate
label: Asia (other) › Asia (other) · Not dated
api_url: https://www.edgechat.ai/api/v1/geo/geo.asia.nodate
places: 1
- id: geo.asia.t1000
label: Asia (other) › Asia (other) · 1000 to 1799
api_url: https://www.edgechat.ai/api/v1/geo/geo.asia.t1000
places: 1
regions:
- id: geo.asia
label: Asia (other)
api_url: https://www.edgechat.ai/api/v1/geo/geo.asia
places: 2
places:
- id: epew8wpqdv
slug: mount-fuji
title: Mount Fuji (富士山)
start: 0
end: 10
surface: Mount Fuji
confidence: 1
geo:
- id: geo.asia.nodate.places.land.terrain
label: Asia (other) › Asia (other) · Not dated › Places and geography › Landforms and terrestrial features › Mountains, plains, and other land terrain
api_url: https://www.edgechat.ai/api/v1/geo/geo.asia.nodate.places.land.terrain
url: https://www.edgechat.ai/mount-fuji
api_url: https://www.edgechat.ai/api/v1/articles/mount-fuji
- id: epj9212gj9
slug: edo-period
title: Edo period
start: 99
end: 109
surface: Edo period
confidence: 1
geo:
- id: geo.asia.t1000.society.history.asia.japan.jp-edo
label: Asia (other) › Asia (other) · 1000 to 1799 › Society and history › History and archaeology › Asian history › Japan › Edo Japan (1603 to 1853)
api_url: https://www.edgechat.ai/api/v1/geo/geo.asia.t1000.society.history.asia.japan.jp-edo
url: https://www.edgechat.ai/edo-period
api_url: https://www.edgechat.ai/api/v1/articles/edo-period
periods: []
license:
name: Edgepedia Community License 1.0
url: https://www.edgechat.ai/edgepedia/license
summary: Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimit-Policy'
ETag:
$ref: '#/components/headers/ETag'
Last-Modified:
$ref: '#/components/headers/Last-Modified'
Content-Digest:
$ref: '#/components/headers/Content-Digest'
Edgepedia-Corpus-Version:
$ref: '#/components/headers/Edgepedia-Corpus-Version'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimit-Policy'
'429':
description: Rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimit-Policy'
RateLimit:
$ref: '#/components/headers/RateLimit'
Retry-After:
description: Seconds to wait before the next request.
schema:
type: integer
'503':
description: The derived data this route reads is not published yet
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimit-Policy'
'413':
description: More than 20,000 characters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimit-Policy'
tags:
- Geoparse
components:
headers:
RateLimit-Policy:
description: 'The limiter''s two windows, per IP address and per server instance (IETF RateLimit header fields): 600 requests a minute and 100,000 a day.'
schema:
type: string
example: '"minute";q=600;w=60, "day";q=100000;w=86400'
RateLimit:
description: 'On a 429 only: the window that was exceeded, no requests remaining (r=0), and the seconds until it resets (t).'
schema:
type: string
example: '"minute";r=0;t=42'
Content-Digest:
description: sha-256 of the body (RFC 9530).
schema:
type: string
Edgepedia-Corpus-Version:
description: The corpus release that answered.
schema:
type: string
Last-Modified:
description: The corpus release date (informational; only the ETag validates).
schema:
type: string
ETag:
description: A hash of the body; send it back as If-None-Match for a 304.
schema:
type: string
schemas:
GeoparseResponse:
type: object
properties:
nodes:
type: array
items:
type: object
regions:
type: array
items:
type: object
places:
type: array
description: Entities the geography tree places; its non-geographic branch (geo.nongeo) is never a place.
items:
allOf:
- $ref: '#/components/schemas/Mention'
- type: object
properties:
geo:
type: array
items:
type: object
properties:
id:
type: string
label:
type: string
api_url:
type: string
periods:
type: array
items:
type: object
properties:
start:
type: integer
end:
type: integer
surface:
type: string
year:
type: integer
period:
type: object
properties:
code:
type: string
label:
type: string
license:
type: object
properties:
name:
type: string
url:
type: string
summary:
type: string
required:
- name
- url
- summary
ArticleRef:
type: object
properties:
id:
type: string
slug:
type: string
title:
type: string
url:
type: string
api_url:
type: string
importance:
type: number
rank:
type: integer
Mention:
allOf:
- $ref: '#/components/schemas/ArticleRef'
- type: object
properties:
start:
type: integer
description: Offset of the first character in UTF-16 code units (JavaScript string indices), as `end`. In Python, slice text.encode("utf-16-le")[2*start:2*end] and decode, or count code points yourself when the text has characters outside the Basic Multilingual Plane (emoji).
end:
type: integer
description: Offset just past the last character, in UTF-16 code units.
surface:
type: string
confidence:
type: number
Error:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
hint:
type: string
next:
type: string
format: uri
did_you_mean:
type: array
items:
type: object
properties:
id:
type: string
slug:
type: string
title:
type: string
api_url:
type: string
required:
- code
- message
required:
- error
parameters:
fields:
name: fields
in: query
required: false
description: 'Comma-separated keys: each result (or the answer, when it has no results) keeps only these.'
schema:
type: string