# Global Metadata API

The global metadata API can be used to fetch supplementary information about shared entities like sport, location, league, or competitor.

{% hint style="warning" %}
The endpoints are rate-limited.
{% endhint %}

### Recommended Usage Pattern

To discover what types of metadata are available for a specific entity, it's recommended to call the `/types` endpoint **first**. This helps you query only the relevant data types afterward.&#x20;

### Example:

* Get available metadata types for a team/competitor:

## GET /api/GlobalMetadata/sport/{sportId}/league/{leagueId}/competitor/{competitorId}/types

> \
> \*\*Rate Limits (per account):\*\*\
> \- \*\*40 req/1s\*\*

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"tags":[{"name":"GlobalMetadata"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"","scheme":"Bearer","bearerFormat":"JWT"}}},"paths":{"/api/GlobalMetadata/sport/{sportId}/league/{leagueId}/competitor/{competitorId}/types":{"get":{"tags":["GlobalMetadata"],"description":"\n**Rate Limits (per account):**\n- **40 req/1s**","parameters":[{"name":"sportId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"leagueId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"competitorId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"type":"string"}}},"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too many requests"}}}}}}
```

* Get available metadata for that specific metadata type:

## GET /api/GlobalMetadata/sport/{sportId}/league/{leagueId}/competitor/{competitorId}/{dataType}

> \
> \*\*Rate Limits (per account):\*\*\
> \- \*\*40 req/1s\*\*

```json
{"openapi":"3.0.4","info":{"title":"[T1159-STAGE] Odds88 API","version":"v1"},"tags":[{"name":"GlobalMetadata"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"","scheme":"Bearer","bearerFormat":"JWT"}},"schemas":{"Marlin.SportsbetApi.Host.Models.MetaData.GlobalMetadataViewModel":{"type":"object","properties":{"sportId":{"type":"integer","description":"ID of the sport.","format":"int64","nullable":true},"locationId":{"type":"integer","description":"ID of the location.","format":"int64","nullable":true},"leagueId":{"type":"integer","description":"ID of the league.","format":"int64","nullable":true},"competitorId":{"type":"integer","description":"ID of the Competitor.","format":"int64","nullable":true},"playerId":{"type":"integer","description":"ID of the Player.","format":"int64","nullable":true},"dataType":{"type":"string","description":"Type of data.","nullable":true},"version":{"type":"integer","description":"Version of the metadata.","format":"int64","nullable":true},"data":{"description":"The actual data.","nullable":true},"creationTime":{"type":"string","description":"Creation timestamp.","format":"date-time"},"feedSource":{"type":"integer","description":"ID of the feed source.","format":"int32"}},"additionalProperties":false,"description":"Metadata for an event."},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/api/GlobalMetadata/sport/{sportId}/league/{leagueId}/competitor/{competitorId}/{dataType}":{"get":{"tags":["GlobalMetadata"],"description":"\n**Rate Limits (per account):**\n- **40 req/1s**","parameters":[{"name":"sportId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"leagueId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"competitorId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"dataType","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Host.Models.MetaData.GlobalMetadataViewModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Host.Models.MetaData.GlobalMetadataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Marlin.SportsbetApi.Host.Models.MetaData.GlobalMetadataViewModel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"429":{"description":"Too many requests"}}}}}}
```

*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.odds88.io/odds88-client-api/odds88-api-endpoints/global-metadata-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
