Discover/Usherbrooke API
live

Usherbrooke APIusito.usherbrooke.ca

Access the USITO Québec French dictionary via API. Retrieve word definitions, phonetics, grammatical classes, and full verb conjugation tables across 6 endpoints.

This API takes change requests — .
Endpoint health
verified 7d ago
get_word_entry
get_conjugation_models
get_word_index_by_letter
get_all_words_for_letter
get_verb_conjugation
6/6 passing latest checkself-healing
Endpoints
6
Updated
28d ago

What is the Usherbrooke API?

The USITO API exposes 6 endpoints covering the full USITO Québec French dictionary published by Université de Sherbrooke, including word definitions, phonetic transcriptions, grammatical classifications, and complete verb conjugation tables. The get_word_entry endpoint returns a structured object with phonetic, definition, and grammatical_class fields for any word slug, while get_verb_conjugation delivers a full HTML conjugation table for any verb.

Try it
Single lowercase letter (a-z) to browse the dictionary index.
api.parse.bot/scraper/139b98c8-2ae5-4209-8cc5-3f398e60385e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/139b98c8-2ae5-4209-8cc5-3f398e60385e/get_word_index_by_letter?letter=a' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 usito-usherbrooke-ca-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.usito_dictionary_api import Usito, SearchResult, Word, ConjugationModel, Conjugation, WordIndex, Section, Letter

usito = Usito()

# Search for a word and get its full definition
for result in usito.words.search(query="chat"):
    print(result.word, result.slug, result.grammatical_class)
    entry = result.details()
    print(entry.word, entry.phonetic, entry.definition)

# Browse the dictionary by letter using the Letter enum
section_z = usito.section(letter=Letter.Z)
for word_idx in section_z.words():
    print(word_idx.word, word_idx.slug, word_idx.grammatical_class, word_idx.gender)

# Get full definitions for words starting with a letter
for word in section_z.words_with_definitions():
    print(word.word, word.phonetic, word.definition)

# List all conjugation models and get a conjugation table
for model in usito.conjugationmodels.list():
    print(model.name, model.slug, model.verb_count)
    conj = model.conjugation()
    print(conj.slug, conj.html_table)

# Get a conjugation directly by slug
aimer_conj = usito.conjugations.get(slug="aimer")
print(aimer_conj.slug, aimer_conj.html_table)
All endpoints · 6 totalmissing one? ·

Fetches all words/expressions starting with a given letter from the USITO dictionary index. Returns word entries with their slug, grammatical class, and gender. Pagination is handled internally — the full list for the letter is returned in one call.

Input
ParamTypeDescription
letterrequiredstringSingle lowercase letter (a-z) to browse the dictionary index.
Response
{
  "type": "object",
  "fields": {
    "items": "array of word index entries with id, slug, word, gender, lexie_id, grammatical_class"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": "d06c3Bd8d51111e1-DD8CaDBE53d2e136-f5fb09760Fd2e133-z",
          "slug": "z_1",
          "word": "z",
          "gender": "m",
          "lexie_id": "",
          "grammatical_class": "nom"
        }
      ]
    },
    "status": "success"
  }
}

About the Usherbrooke API

Word Lookup and Search

The search_words endpoint accepts a query string and returns an array of matching entries, each with a slug, type, word, and grammatical_class. Those slugs feed directly into get_word_entry, which returns the full dictionary article for a single word: id, url, word, phonetic (IPA transcription), definition, and grammatical_class. Slugs follow USITO conventions — disambiguated entries use suffixes like chat_1 or être_1 when multiple lexical entries share the same spelling.

Browsing by Letter

get_word_index_by_letter accepts a single lowercase letter parameter and returns every indexed word starting with that letter, with each entry carrying id, slug, word, gender, lexie_id, and grammatical_class. For bulk workflows, get_all_words_for_letter combines the index lookup with definition retrieval in one call and accepts an optional limit integer to cap how many full entries are fetched — useful when you only need the first N words of a given letter rather than the entire set.

Verb Conjugation

get_conjugation_models returns the full list of conjugation model names, slugs, and verb_count figures used by USITO. Each model slug can be passed to get_verb_conjugation, which returns an object containing slug and html_table — the complete conjugation table for that verb. The endpoint automatically retries with a _1 suffix when the base slug does not resolve to a conjugation table, handling USITO's disambiguation pattern transparently.

Coverage Scope

All six endpoints draw from the USITO dictionary, which specifically documents Québec French vocabulary and usage. The dictionary includes words with gender annotations, multiple grammatical classes, and a conjugation model system tied to standard French verb paradigms. Index entries expose lexie_id fields that map to individual lexical senses within a headword.

Reliability & maintenanceVerified

The Usherbrooke API is a managed, monitored endpoint for usito.usherbrooke.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when usito.usherbrooke.ca 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 usito.usherbrooke.ca 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.

Last verified
7d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a Québec French vocabulary app that displays IPA phonetics and definitions from get_word_entry
  • Generate a full offline word list by iterating get_word_index_by_letter across a–z
  • Render verb conjugation tables in a language-learning tool using get_verb_conjugation HTML output
  • Implement an autocomplete feature backed by search_words returning slugs and grammatical classes
  • Audit vocabulary coverage by pulling verb_count per model from get_conjugation_models
  • Build a grammar reference tool that filters words by grammatical_class across a given letter's index
  • Populate a French-Canadian dictionary dataset with phonetic and definition fields via get_all_words_for_letter
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does USITO (usherbrooke.ca) offer an official developer API?+
No. USITO does not publish a public developer API or documented data access service. This Parse API provides structured programmatic access to the USITO dictionary content.
What does `get_word_entry` return, and how do I get the right slug?+
get_word_entry returns an object with id, url, word, phonetic (IPA), definition, and grammatical_class for the requested slug. Slugs follow USITO naming: plain form for unambiguous words (e.g. abaca) and a _1, _2 suffix pattern for disambiguated headwords (e.g. chat_1). Use search_words or get_word_index_by_letter first to obtain the correct slug before calling get_word_entry.
Does the API expose example sentences or usage notes from dictionary articles?+
Not currently. The get_word_entry response covers definition, phonetic, and grammatical_class but does not separately surface example sentences or usage labels that may appear in the full article. You can fork this API on Parse and revise it to extract those additional fields from the article data.
Is the conjugation table returned as structured data or raw HTML?+
get_verb_conjugation returns the conjugation table as html_table — a raw HTML string — rather than a parsed tense-by-tense data structure. The slug field in the response confirms which verb was resolved. If your application needs tense and person as discrete fields, you can fork this API on Parse and revise it to parse the HTML table into structured rows.
Does `get_word_index_by_letter` cover all letters in the French alphabet, including accented letters?+
The letter parameter accepts a single lowercase Latin letter in the range a–z. Accented headwords (é, è, ê, etc.) are indexed under their base letter — so words beginning with é appear under e. There is no separate parameter for accented variants. You can fork this API on Parse and revise it to add accent-specific filtering if needed.
Page content last updated . Spec covers 6 endpoints from usito.usherbrooke.ca.
Related APIs in EducationSee all →
wordreference.com API
Search for word translations across multiple languages using WordReference's comprehensive dictionary database. Retrieve detailed meanings, usage contexts, grammatical information, and example sentences. Access public vocabulary collections and word-of-the-day features.
dictionary.cambridge.org API
Look up word definitions, pronunciations, translations, synonyms, and example sentences from Cambridge Dictionary. Search and browse thousands of words, get daily word recommendations, and access specialized business or American English dictionaries.
dwds.de API
Look up German words with detailed definitions, pronunciations, and usage examples, or explore curated word lists organized by proficiency level. Search vocabulary, discover random entries, and learn the featured word of the day to build your German language skills.
datamuse.com API
Find words by meaning, sound, or rhyme, get autocomplete suggestions, and access word metadata to power your writing apps and tools. Perfect for building spell checkers, word games, and intelligent search features.
thesaurus.com API
Find synonyms, antonyms, related words, and usage examples for any word instantly. Look up the daily word of the day to expand your vocabulary every day.
multitran.com API
Translate words and phrases across multiple languages while browsing specialized subject areas and terminology. Explore available languages, search the dictionary index, and discover professional terms organized by field of study.
service-public.fr API
Search the official French public service portal (service-public.fr) for practical guides, legal information, administrative procedures, and support resources. Retrieve structured content from any guide or category page, explore autocomplete suggestions, and access legal references — all through a single unified API.
verbformen.com API
Search for German words and instantly access their translations, proficiency levels (A1-C2), grammatical categories, and IPA pronunciations to enhance your language learning. Perfect for understanding vocabulary difficulty, finding word meanings, and perfecting your German pronunciation all in one place.