Skip to content

Product API

Lookup any Blu-ray or DVD product by UPC / EAN or Amazon ASIN

Current release

Alpha release (0.156.1)

Features

Benefit from our modern GraphQL API and its embedded image processing service (powered by ImgIX) to find relevant data about your favorite DVD or Blu-ray products. With a database of nearly 400K entries (worldwide products) and an accuracy rate of nearly 90% for all basic infos (Name, EAN / UPC / GTIN, Image , ASIN and release date) you'll be able to create shiny movie oriented services.

Types

Product

type Product {
  sid: String!
  gtin: String!
  ean: String!
  name: String!
  releaseDate: String
  image(variation: ImageVariationInput): String
  backCover: String
  asin: String
  discs: Int
  mediaCount: Int
  media: [Medium]
  titlesCount: Int
  titles: [Title]
}

Medium

type Medium {
  sid: String!
  product: Product
  number: Int
  titles: [Title]
}

Title

type Title {
  sid: String!
  creativeWork: CreativeWork!
  videoTracks: [VideoTrack]
  audioTracks: [AudioTrack]
  subtitleTracks: [SubtitleTrack]
}

type VideoTrack {
    resolution: String
    aspectRatio: String
}

type AudioTrack {
    language: String!
}

type SubtitleTrack {
    language: String!
}

Creative work

interface CreativeWork {
  sid: String
  name: String
  originalName: String
  type: String
  tmdbId: String
  tmdbUrl: String
  imdbId: String
  imdbUrl: String
  genres: [Genre]
  rating: Rating
  image(variation: ImageVariationInput): String
  backdrop(variation: ImageVariationInput): String
  overview: String
  voteAverage: Float
  ageRecommendation: Int
  releaseYear: Int
  isSuitableForLittleKids: Boolean
  isSuitableForBigKids: Boolean
  isSuitableForTweens: Boolean
}

type Genre {
    slug: String
    value: String
    label: String
}

type Rating {
    slug: String
    value: String
    label: String
    score: Int
}

Movie

type Movie implements CreativeWork {
  sid: String
  name: String
  originalName: String
  type: String
  tmdbId: String
  tmdbUrl: String
  imdbId: String
  imdbUrl: String
  genres: [Genre]
  rating: Rating
  image(variation: ImageVariationInput): String
  backdrop(variation: ImageVariationInput): String
  overview: String
  voteAverage: Float
  ageRecommendation: Int
  releaseYear: Int
  isSuitableForLittleKids: Boolean
  isSuitableForBigKids: Boolean
  isSuitableForTweens: Boolean
  releaseDate: String
  length: Int
}

Tv show

type TvShow implements CreativeWork {
  sid: String
  name: String
  originalName: String
  type: String
  tmdbId: String
  tmdbUrl: String
  imdbId: String
  imdbUrl: String
  genres: [Genre]
  rating: Rating
  image(variation: ImageVariationInput): String
  backdrop(variation: ImageVariationInput): String
  overview: String
  voteAverage: Float
  ageRecommendation: Int
  releaseYear: Int
  isSuitableForLittleKids: Boolean
  isSuitableForBigKids: Boolean
  isSuitableForTweens: Boolean
  seasons: [TvShowSeason]
}

Tv show episode

type TvShowEpisode implements CreativeWork {
  sid: String
  name: String
  originalName: String
  type: String
  tmdbId: String
  tmdbUrl: String
  imdbId: String
  imdbUrl: String
  genres: [Genre]
  rating: Rating
  image(variation: ImageVariationInput): String
  backdrop(variation: ImageVariationInput): String
  overview: String
  voteAverage: Float
  ageRecommendation: Int
  releaseYear: Int
  isSuitableForLittleKids: Boolean
  isSuitableForBigKids: Boolean
  isSuitableForTweens: Boolean
  fullName: String!
  season: Int!
  number: Int!
  show: TvShow!
  length: Int
}

Image variations

We use ImgIX for dynamic image rendering. Any attribute that supports a variation arg can be rendered dynamically (with custom width, height, cropping, ...).

Supported options are listed in the graphQL input definition below :

input ImageVariationInput {
  w: Int
  h: Int
  dpr: Int
  bg: String
  fm: String
  auto: String
  minH: Int
  minW: Int
  fit: String
  fill: String
  fillColor: String
  trim: String
  trimColor: String
  q: Int
  blur: Int
  crop: String
}

Rendering options are fully documented here.

Examples

Simple product query

Query

query ProductLookup ($query: ProductLookupQuery!, $image: ImageVariationInput) {
    lookup(query: $query) {
        sid
        asin
        gtin
        ean
        name
        image(variation: $image)
        releaseDate
    }
}

Variables

{
  "query": {
    "type": "gtin",
    "value": "03701432003894"
  },
  "image": {
    "h": 200,
    "w": 150
  }
}

If type attribute is not provided, it will be autodetected based on the value attribute format.

  "query": {
    "value": "03701432003894"
  },

Stats

  • Unique GTINs: 395 625
  • Basic info completion rate: 88.12%*

* entries with both not empty gtin, image, asin and releaseDate attributes

Notes

No ISBN are registered in our database even though the product may contain a physical disc.

The information contained on our database has been obtained from various sources and all information is provided "as is" without any warranty of any kind.

The Disq Product API is still in alpha release meaning some bugs may occur and data may still be incomplete at this point. The subscription will remain free during this phase but the free plan may be subjected to changes (requests limits, rate limits, ...) while entering beta and final release phases.