Wikia APIwikia.org ↗
Access structured data from any Fandom wiki: page infoboxes, categories, sections, and site statistics across thousands of fan communities.
What is the Wikia API?
The Fandom Wiki API provides 4 endpoints that retrieve structured data from any Fandom wiki by subdomain, covering page search, category browsing, detailed page content, and site-level statistics. The get_page_data endpoint returns infobox key-value pairs, section outlines, categories, and a plain-text description for any named page — making it straightforward to pull character sheets, episode summaries, or lore articles without parsing wiki markup by hand.
curl -X GET 'https://api.parse.bot/scraper/3d672e96-ab72-47c3-a6bd-214cfc76e418/search_pages?wiki=starwars&limit=5&query=Darth+Vader' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace wikia-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.fandom_wiki_api import Fandom, Page, PageDetail, CategoryMember, WikiInfo, PageNotFound
fandom = Fandom()
# Construct a wiki and get its info
starwars = fandom.wiki("starwars")
wiki_info = starwars.info()
print(wiki_info.statistics.articles, wiki_info.statistics.edits)
print(wiki_info.info.sitename, wiki_info.info.generator)
# Search for pages within the wiki
for page in starwars.search(query="Darth Vader"):
print(page.title, page.pageid, page.wordcount)
# List category members with automatic pagination
for member in starwars.category_members(category="Humans", limit=10):
print(member.title, member.pageid, member.ns)
# Get detailed page data via the sub-resource
detail = starwars.pages.get(page="Luke Skywalker")
print(detail.title, detail.pageid, detail.url)
print(detail.description)
print(detail.categories)
for section in detail.sections:
print(section.index, section.level, section.title)
Search for pages within a specific Fandom wiki. Returns matching page titles, IDs, snippets, and word counts ordered by relevance. Snippet text may be empty depending on wiki configuration. Results are returned in a single page; use the limit parameter to control result count.
| Param | Type | Description |
|---|---|---|
| wikirequired | string | The wiki subdomain (e.g., 'starwars' for starwars.fandom.com, 'marvel' for marvel.fandom.com). |
| limit | integer | Maximum number of results to return. |
| queryrequired | string | Search keyword or phrase. |
{
"type": "object",
"fields": {
"wiki": "string - the wiki subdomain queried",
"query": "string - the search keyword used",
"results": "array of objects with title, pageid, snippet, and wordcount"
},
"sample": {
"data": {
"wiki": "starwars",
"query": "Darth Vader",
"results": [
{
"title": "Darth Vader (disambiguation)",
"pageid": 471241,
"snippet": "",
"wordcount": 363
},
{
"title": "Anakin Skywalker",
"pageid": 452390,
"snippet": "",
"wordcount": 168751
}
]
},
"status": "success"
}
}About the Wikia API
What the API Covers
The API targets Fandom wikis (hosted at *.fandom.com) and accepts a wiki subdomain parameter on every endpoint, so the same four calls work for any of the thousands of communities on the platform — from starwars to minecraft to niche fandoms. All endpoints return the wiki field in the response for easy traceability in multi-wiki pipelines.
Searching and Browsing Content
search_pages takes a query string and an optional limit, returning an array of results where each item includes title, pageid, snippet, and wordcount. This is useful for fuzzy discovery when you don't know the exact page title. list_category_members accepts a category name (with or without the Category: prefix) and pages results using a continue token — pass the token from one response into the next call to walk through categories with more than 500 members.
Structured Page and Wiki Data
get_page_data is the most data-rich endpoint. Given a wiki and exact page title, it returns the full canonical url, a pageid, an infobox object of sidebar key-value pairs, an ordered sections array (each with index, level, and title), a categories array, and a plain description string from the opening paragraph. This structured shape is consistent across different wiki templates because infobox data is normalized into a flat object. get_wiki_info returns top-level wiki metadata — sitename, server, language, and MediaWiki generator version — alongside a statistics object covering pages, articles, edits, images, users, activeusers, and admins.
Pagination and Identifiers
MediaWiki integer pageid values are returned by search_pages, list_category_members, and get_page_data, so results can be cross-referenced or used to build stable identifiers. Category pagination via the continue field is the only form of cursor-based pagination; search_pages respects a numeric limit but does not currently expose a continuation cursor.
The Wikia API is a managed, monitored endpoint for wikia.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when wikia.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official wikia.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a character database for a game franchise by iterating a 'Characters' category with
list_category_membersand fetching infobox fields viaget_page_data. - Compare contributor activity and article counts across multiple fandom communities using
get_wiki_infostatistics. - Power an autocomplete or search feature in a fan app using
search_pagessnippets and word counts. - Extract episode summaries and section outlines for an episode guide using the
sectionsanddescriptionfields fromget_page_data. - Seed a knowledge graph with structured lore data by pulling infobox key-value pairs for items, locations, or species pages.
- Monitor wiki growth over time by periodically polling
get_wiki_infoforedits,articles, andactiveuserscounts. - Classify pages by franchise topic by reading the
categoriesarray returned fromget_page_data.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Fandom have an official developer API?+
https://<wiki>.fandom.com/api.php, which supports read operations on any public wiki. The Parse API builds a structured, normalized interface on top of that surface so you get clean JSON without assembling raw MediaWiki query parameters yourself.What does `get_page_data` return for the infobox, and how consistent is it across wikis?+
infobox field is a flat key-value object extracted from the sidebar template on a page. The keys reflect whatever fields that specific wiki's infobox template defines — for example, 'affiliation', 'species', or 'first_appearance' on a Star Wars character page. Because different wikis use different infobox templates, the exact keys vary by community and page type.Can `list_category_members` return more than 500 results?+
continue string. Pass that value as the continue parameter in a subsequent call to retrieve the next batch. Repeat until continue is null to exhaust the full category.Does the API return the full wikitext or rendered HTML content of a page?+
get_page_data returns a plain-text description (the opening paragraph), an infobox object, and a sections array with section titles and hierarchy — but not the full body text or rendered HTML. You can fork this API on Parse and revise it to add a full-text or parsed-HTML endpoint for the sections you need.Does the API cover wikis not hosted on fandom.com, such as independent MediaWiki sites?+
starwars.fandom.com) via the wiki subdomain parameter. Independent MediaWiki installations are not covered. You can fork this API on Parse and revise the base URL logic to point at other MediaWiki-powered sites.