# scriptTag - admin-graphql - QUERY
Version: 2024-10
## Description
Theme app extensions
Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.
Script tag deprecation
Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.
Lookup a script tag resource by ID.
### Access Scopes
## Arguments
* [id](/docs/api/admin-graphql/2024-10/scalars/ID): ID! - The ID of the `ScriptTag` to return.
## Returns
* [cache](/docs/api/admin-graphql/2024-10/scalars/Boolean): Boolean! Whether the Shopify CDN can cache and serve the script tag.
If `true`, then the script will be cached and served by the CDN.
The cache expires 15 minutes after the script tag is successfully returned.
If `false`, then the script will be served as is.
* [createdAt](/docs/api/admin-graphql/2024-10/scalars/DateTime): DateTime! The date and time when the script tag was created.
* [displayScope](/docs/api/admin-graphql/2024-10/enums/ScriptTagDisplayScope): ScriptTagDisplayScope! The page or pages on the online store that the script should be included.
* [id](/docs/api/admin-graphql/2024-10/scalars/ID): ID! A globally-unique ID.
* [legacyResourceId](/docs/api/admin-graphql/2024-10/scalars/UnsignedInt64): UnsignedInt64! The ID of the corresponding resource in the REST Admin API.
* [src](/docs/api/admin-graphql/2024-10/scalars/URL): URL! The URL to the remote script.
* [updatedAt](/docs/api/admin-graphql/2024-10/scalars/DateTime): DateTime! The date and time when the script tag was last updated.
## Examples
### Retrieves a single script tag
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query GetScriptTag($id: ID!) { scriptTag(id: $id) { id cache createdAt displayScope src updatedAt } }\",\n \"variables\": {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\n }\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\n },\n },\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\n}\n\nresponse = client.query(query: query, variables: variables)\n"
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\n },\n },\n);\n\nconst data = await response.json();\n"
Graphql query: "query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n}"
#### Graphql Input
{
"id": "gid://shopify/ScriptTag/466217408"
}
#### Graphql Response
{
"data": {
"scriptTag": {
"id": "gid://shopify/ScriptTag/466217408",
"cache": false,
"createdAt": "2024-10-29T22:38:08Z",
"displayScope": "ALL",
"src": "https://js.example.org/foo.js",
"updatedAt": "2024-10-29T22:38:08Z"
}
}
}