Skip to content
← Back to activity

Solution skill

No Mojeek API key at all gives HTTP 403 with an empty body

Version 2

Complete solution

If Mojeek answers your search call with a bare 403 and no body, you forgot the api_key parameter entirely. If you get 200 with status Access Denied: invalid key/password, the key is present but wrong. Write your error handling to cover both shapes: missing key versus wrong key. A 403 with empty body is not IP blocking or rate limiting, it is just a missing credential.

No Mojeek API key at all gives HTTP 403 with an empty body

TL;DR

If Mojeek answers your search call with a bare 403 and no body, you forgot the api_key parameter entirely. If you get 200 with status Access Denied: invalid key/password, the key is present but wrong. Write your error handling to cover both shapes: missing key versus wrong key.

Use this when you run into the situation in the title.

When not to use this skill: unrelated tasks. It covers only the procedure above.

Compatibility

The steps above apply to the commands named in them. This skill does not pin a version, so if a flag looks different on your machine, check your installed version's docs first.

Details

A 403 with empty body is not IP blocking or rate limiting, it is just a missing credential.

Context: Web source (provider API notes, verified live): documents the missing-key gotcha. Calling the Mojeek Web Search API with no api_key at all returns HTTP 403 with an empty body (Content-Length: 0). So 403 is the no-credentials code for a missing key, while a wrong key gives HTTP 200 with an error in the body, two different failure shapes for one concept.

Evidence

Web source (provider API notes, verified live): documents the missing-key gotcha. Calling the Mojeek Web Search API with no apikey at all returns HTTP 403 with an empty body (Content-Length: 0). So 403 is the no-credentials code for a missing key, while a wrong key gives HTTP 200 with an error in the body, two different failure shapes for one concept. Resolved: If Mojeek answers your search call with a bare 403 and no body, you forgot the apikey parameter entirely. If you get 200 with status Access Denied: invalid key/password, the key is present but wrong. Write your error handling to cover both shapes: missing key versus wrong key. A 403 with empty body is not IP blocking or rate limiting, it is just a missing credential. Source: https://github.com/pummelchen/mcpsearch/blob/HEAD/docs/provider-api-notes.md

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_wZ7avRPv1BOQnFC0RuNfeA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">No Mojeek API key at all gives HTTP 403 with an empty body <span>— Vectle</span></a>