> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://contentful.com/developers/docs/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/_mcp/server. # Get an entry GET https://cdn.contentful.com/spaces/{space_id}/environments/{environment_id}/entries/{entry_id} The `include` array is not applicable while retrieving a single entry. Reference: https://contentful.com/developers/docs/references/content-delivery-api/entries/get-an-entry ## Request ### Path parameters - `space_id` (string, required) — Alphanumeric id of the space to retrieve. - `environment_id` (string, required) — ID of the environment in form of a string - `entry_id` (string, required) — Alphanumeric id of the entry to retrieve ### Query parameters - `access_token` (string, required) — A *production* Content Delivery API key. ## Response ### 200 OK - Request successful - `map from string to any` ## Examples **Response** ```json { "fields": { "body": { "en-US": "Bacon is healthy!" }, "title": { "en-US": "Hello, World!" } }, "metadata": { "tags": [ { "sys": { "id": "nyCampaign", "linkType": "Tag", "type": "Link" } } ] }, "sys": { "contentType": { "sys": { "id": "hfM9RCJIk0wIm06WkEOQY", "linkType": "ContentType", "type": "Link" } }, "createdAt": "2025-12-15T21:51:48.000Z", "id": "5KsDBWseXY6QegucYAoacS", "revision": 1, "space": { "sys": { "id": "yadj1kx9rmg0", "linkType": "Space", "type": "Link" } }, "type": "Entry", "updatedAt": "2025-12-15T21:51:48.000Z", "version": 1 } } ``` **SDK Code** ```android Android // Create the Contentful client. final CDAClient client = CDAClient .builder() .setToken("") .setSpace("") .setEnvironment("") .build(); client .observe(CDAEntry.class) .one("") // Execute result handling on the `main thread`. .observeOn(AndroidSchedulers.mainThread()) // Networking should happen on io thread. .subscribeOn(io.reactivex.schedulers.Schedulers.io()) .subscribe( new DisposableSubscriber() { CDAEntry result; @Override public void onComplete() { // Do something with the result entry. new AlertDialog.Builder(context) .setTitle("Contentful") .setMessage("Result: " + (result == null ? "" : result.toString())) .show(); } @Override public void onError(Throwable e) { // Handle error case. new AlertDialog.Builder(context) .setTitle("Contentful") .setMessage("An error occurred: " + e.toString()) .show(); } @Override public void onNext(CDAEntry entry) { // Array received, maybe more to come. result = entry; } } ); ``` ```java Java // Create the Contentful client. final CDAClient client = CDAClient .builder() .setToken("") // required .setSpace("") // required .setEnvironment("") // optional, defaults to `master` .build(); final CDAEntry one = client .fetch(CDAEntry.class) .one(""); ``` ```kotlin Kotlin // Create the Contentful client. val client = CDAClient .builder() .setToken("") // required .setSpace("") // required .setEnvironment("") // optional, defaults to `master` .build() val one = client .fetch(CDAEntry::class.java) .one("") ``` ```swift Swift import Contentful // Retain the client as a property on a type you define so that // the client's asynchronous network callbacks are executed. let client = Client(spaceId: "", environmentId: "", // Defaults to "master" if omitted accessToken: "") client.fetch(Entry.self, id: "") { (result: Result) in switch result { case .success(let entry): print(entry.id) case .error(let error): print(error) } } ``` ```javascript JavaScript import { createClient } from 'contentful-management' const client = createClient({ space: '', environment: '', // defaults to 'master' if not set accessToken: '' }) client.getEntry('') .then((entry) => console.log(entry)) .catch(console.error) ``` ```php PHP // contentful.php 3.0 $client = new Contentful\Delivery\Client( '', '', '' // Defaults to "master" if ommitted ); $entry = $client->getEntry(''); ``` ```ruby Ruby require 'contentful' client = Contentful::Client.new( space: '', access_token: '', environment: 'master', # Optional - defaults to 'master'. dynamic_entries: :auto # Enables Content Type caching. ) entry = client.entry('') ``` ```python Python from contentful import Client client = Client( '', '', environment='master' # Optional - it defaults to 'master'. ) entry = client.entry('') ``` ```.net .NET // This client should only be created once per application. var httpClient = new HttpClient(); var client = new ContentfulClient(httpClient, "", "", ""); var entry = await client.GetEntry(""); // entry will be of type YourClass. ```