Netflix REST API Conventions

Netflix API 1.5 Programmer’s Guide: API Conventions

The Netflix API 1.5 (sometimes also called the "WebAPI" or "REST API") is a RESTful, resource-oriented, open-standards architecture that developers can use to work with Netflix-maintained media metadata and subscriber information. You can use just about any web language to access the API so long as it can make HTTP requests and parse XML responses. This page covers the following topics:

REST API Overview

The Netflix API adheres to REST standards. You reference particular resources by means of the URL path (the part of the URL after the host name). The response from the Netflix API includes <link>s that tie together related resources. You use standard HTTP verbs to access the Netflix API with different methods. For example, if you wanted to retrieve information about a particular Netflix subscriber, you might construct the following HTTP request:

GET /users/user_id

Since you want to retrieve information, you use the HTTP GET verb. The path /users/user_id describes the resource you use to access information about a specific subscriber. The response that comes back not only includes information about the particular subscriber (such as first and last name, preferred viewing formats, and so forth), it also may include links or references that you can use to retrieve more information, such as links to the subscriber's instant-watch queue. Each piece of data in the response is identified by an XML tag. For example, the following illustrates one possible response:

<first_name>Jane</first_name>
<last_name>Smith</last_name>
<can_instant_watch>true</can_instant_watch>
<preferred_formats>…</preferred_formats>

<link href="http://api.netflix.com/users/T1PambOVJXcoWzNRQEyacp76BnRn0TIJdxKGyklbY0srg-/queues" rel="http://schemas.netflix.com/queues" title="queues"/>

You access the Netflix API by using standard REST conventions. Each API method:

  • is modeled as a resource
  • has links to its children and any related resources
  • is invoked using one of the HTTP verbs: POST, GET, PUT, and DELETE (These HTTP verbs directly correlate with the database CRUD—create, read, update, and delete—operations.)

This page describes the general API conventions and protocols. The Netflix REST API Reference page contains detailed descriptions of each individual Netflix API 1.5 resource, including how the resource works with the four HTTP verbs. You access all Netflix API resources by sending requests (either HTTP or HTTPS) to api.netflix.com unless otherwise noted.

In addition to the API, you can also use the JavaScript API to access the Netflix catalog. You can use the JavaScript API to add a subset of the Netflix user experience to your web pages, as described on the JavaScript API Reference page. You can use that API to render the Netflix Add and Play buttons on your own site. This page does not describe that API, but the Netflix API.

Basic Terminology

Title
A Title is a movie or television program that is potentially available for instant-watch streaming.
Catalog
The Catalog is Netflix's entire collection of instant-watch titles. The catalog holds all information about each title in the collection. Used generically, the catalog refers to the collection of titles and information about them. In the context of the Netflix API, "Catalog" specifies the name of the resource that you use to retrieve information about titles.
Users
The Users resource is the collection of all Netflix users or subscribers. Each user is a resource with which you can access and update user information.

Organization of the Netflix Resources

The API is divided into two resource groups: Catalog and Users (there is also another resource that you use to get the credentials you must use to sign your Netflix REST API requests).

The Catalog resources are Netflix data about titles, actors, directors, and related items. For example, you might use these resources to search for titles of movies in which certain actors appear. You use the Catalog resource and its subordinate resources to search for and retrieve information from the Netflix catalog; you will not be writing to the catalog.

The Users resources concern Netflix subscribers, such as a subscriber's instant-watch queue, ratings, and so forth. (Users refers to the top level resource, /users , beneath which are the resources for each subscriber. Thus, the resource /users/user_id/recommendations returns a list of titles that Netflix believes the subscriber user_id will like.) You can retrieve information from a Users resource, such as a list of a particular subscriber's recently-viewed titles, to then retrieve information about those titles with the Catalog resources. These Users resources are also how your web application accesses the Netflix service on behalf of a subscriber.

For the Users portion of the Netflix data, most of your interaction will involve retrieving information. However, you may also be using the Users resources to do some write operations. For example, you might be adding or updating entries to a subscriber's instant-watch queue or you may be adding or updating ratings for that subscriber.

Some resources, such as Catalog, are actually only collections of other resources. That is, you do not retrieve information by doing a GET operation on /catalog; instead, you do the GET operation on a resource that Catalog links to, such as /catalog/titles or /catalog/people. The /catalog/titles/title resource is returned to you in the response when you do a catalog or index search for titles, or as a link in a response from other resources. In the response, the Netflix API replaces title with one of the title types: movie, series, season, program, or disc. Some other resources also make Atom feeds available to you.

The following list shows the hierarchy of resources and their relationships, as well as which resources are collections of links only, and for which resources feeds are available:

  • http://api.netflix.com/
    • catalog/ (collection only)
      • people/person_id
        • filmography
      • titles
        • index
        • full
        • autocomplete
        • [movies|series|series/series_ID/seasons|programs|discs]/title_ID/
          • synopsis
          • format_availability
          • bonus_materials
          • awards
          • cast
          • directors
          • screen_formats
          • episodes (series and seasons only)
          • seasons (series only)
          • similars
          • languages_and_audio
    • users/current
    • users/user_id
      • feeds
      • queues/ (collection only)
        • instant (feed available)
          • saved (feed available)
          • available (feed available)
      • title_states
      • rental_history (feed available)
        • watched (feed available)
      • recommendations (feed available)
      • ratings/ (collection only)
        • title
          • actual (feed available)
          • predicted (feed available)
      • lists

Resource Requests and Responses

This section covers how to form resource requests and how to work with the resulting responses.

How to Form Requests

All Netflix API requests are made by the use of an HTTP verb:

  • In most cases, you retrieve information from Netflix by having your client make an HTTP GET request for the URL that identifies the specific resource you are requesting. You specify any parameters for the resource using name/value pairs. In most cases, you need to sign your request with a particular parameter that you generate according to the process described in Authentication Overview.
  • Use the PUT HTTP verb in a similar manner to update a Netflix resource, such as some information about a subscriber, and the DELETE verb to delete entries.
  • If you are creating a brand new resource, use the HTTP POST method on a parent resource (if you have the URL to a resource that you want to update, use the PUT method; if you do not have the URL, because the resource doesn't yet exist, do a POST on the parent resource). You may also override the HTTP POST method to simulate the other three methods in some cases (this is described in greater detail below).

For example, to search for movie titles in the Netflix catalog, you might use this resource with the GET method:

http://api.netflix.com/catalog/titles

You can get details about a specific movie by using the HTTP link returned by the catalog/titles resource as a resource itself. For example, you might take this link from the response:

<link href="http://api.netflix.com/catalog/titles/movies/17985448"/>

...extract the URL resource for the movie and use it with the GET method to retrieve a record associated with the specific movie.

http://api.netflix.com/catalog/titles/movies/17985448

If your client does not support all four HTTP verbs, or if your GET request exceeds the URL size limits, you can use the HTTP POST verb instead. When you use POST in this way, either set the X-HTTP-Method-Override header to GET, PUT, or DELETE, or pass a method parameter whose value you set to the HTTP method you want to use (GET, PUT, or DELETE).

Resource Responses

There are different types of resource responses, and responses may have different formats. Responses also include status codes, which can be helpful for debugging purposes.

Format of the Response

The Netflix REST API resources typically return data formatted as "plain old XML" (POX). Resources that return feeds do so in Atom format.

The format of the response determines how any date and time fields within the response are expressed. Responses in POX format show date and time fields in Unix format, which is the number of seconds since epoch. Responses in Atom format use the RFC 3339 standard for date and time fields.

The API will automatically return responses compressed in gzip format if you supply the Accept-Encoding: gzip HTTP header in your request.

Types of Responses

The response you receive from a successful GET request varies according to the resource. You can expect different fields of information in the response depending on which resource you requested.

Each type of response is identified by a resource representation element. For example, if you use the resource catalog/titles to retrieve a list of titles, the XML response includes the <catalog_titles> resource representation element to indicate what sort of data is in the response.

Response Status Codes

The Netflix API returns standard HTTP header information with all of its responses. This header information indicates:

  • the HTTP response status code
  • an ETag value (you will read more about ETags further on)
  • resource link locations of any resources that were created as a result of the request

The Netflix API also returns this same information in the response body itself, because not all clients can access this header information and because the information found in the header may not be sufficiently detailed for all response types. All responses (successful or not) for all POST, PUT, and DELETE requests, and all non-successful GET requests, include a status response type in the response body, in the same format.

This status information, and particularly the message text that the Netflix API may include with it when a processing error occurs, may be useful to you for debugging purposes. A status response may include the following elements:

Status Response Element Description
status_code a standard HTTP status code that indicates success or failure
sub_code an additional numeric code if the standard HTTP status code is not sufficient for effective error processing (optional)
message a string providing details on the request processing error (optional)
resources_created a list of resource links for all resources that were created as a result of a POST request (optional)
etag a new ETag value after a POST operation; returned only for resources that support ETags and concurrency control (optional)
Other element content additional XML elements that provide further details about the resource response (optional)

A basic status response might simply return just the status code, like in the following example:

<status>
 <status_code>200</status_code>
</status>

In the case of a request error for which an additional numeric code is needed along with a message, the Netflix API might respond with a status response like the following:

<status>
 <status_code>400</status_code>
 <sub_code>120</sub_code>
 <message>Query param start_index out of bounds.</message>
</status>

In response to a successful POST request the Netflix API might generate a response with a status like the following:

<status>
 <status_code>201</status_code>
 <resources_created>
  <link href="http://api.netflix.com/catalog/titles/instant/60022255"
   rel="http://schemas.netflix.com/title"
   title="The Larry Sanders Show: Season 1: Disc 1"/>
 </resources_created>
</status>

In response to a POST request to add items to a subscriber's instant-watch queue that the Netflix API completed with only partial success, it might return a status response like the following:

<status>
 <status_code>201</status_code>
 <sub_code>640</sub_code>
 <message>Only some of the titles in the series or disc set could be added.</message>
 <etag>657707210550</etag>
 <resources_created>
  <queue_item>

  …
 </resources_created>
 <failed_title_refs>
</failed_title_refs>
 <already_in_queue>
...</already_in_queue>
</status>

The HTTP standard status codes and subcodes common to all resources are listed in HTTP Status Codes.

Understanding Resources

Most Netflix API resources maintain relationships to other resources. In addition, resources may be grouped by common characteristics, or categories. This section covers the XML data that you will see in responses that describe related resources.

Resource Relationships

An Atom-style <link> element describes relationships between resources. The <link> element includes the following information:

  • an href attribute that contains the URL of the linked-to resource
  • a rel (related) attribute that indicates the type of the relationship between the linked resources
  • a title attribute, which is a human-readable label for the link (for example, a title entry might be "episodes" or "cast")

Here is an example of a <link> element:

<link href="http://api.netflix.com/catalog/titles/series/70023522/episodes" rel="http://schemas.netflix.com/catalog/programs" title="episodes"/>

Categories of Resources

Categories provide information about certain groupings a particular resource belongs to. For example, a category might indicate the media formats a title is available in. The Netflix API indicates what categories a resource belongs to by including the Atom-style <category> element in its responses to resource requests.

The <category> element has three attributes: scheme, term, and label:

  • The value of the scheme attribute is a URL that describes the type of category. It is a resource itself, listing all possible values for the category.
  • The term attribute adds the description of the selected value from the category's designated scheme.
  • The label attribute is a human-readable label for the category value.

The <category> element below indicates media that is immediately available to play. If the Netflix API returned this category in the response for a request for a particular title, that would indicate that the specified title is one that subscribers can immediately play (as opposed to one that won't be available to play until a future date).

<category scheme="http://api.netflix.com/queues/availablity" term="available_now" label="Available Now"/>

Resource Cache and Concurrency Control

HTTP entity tags, or ETags, help ensure caching and concurrency control for API resources. When an ETag is associated with a resource, you can use the ETag value to ask the Netflix API if your version of a resource is the latest version or whether it has changed since you last retrieved it. When the Netflix API responds to an HTTP POST or PUT request to a resource that accepts such requests, it always returns an ETag in the ETag HTTP header and an etag element in its response (both with the same value).

To implement cache control by using ETags, you need to query the server to see if the previously-returned, cached resource still matches the state of the current resource on the server. To do so, you include an If-None-Match header and set its value to the value of the ETag that accompanied your cached resource value when you retrieved it from the Netflix API. For example, you might have the following:

If-None-Match: "etag_value"

For example, if the ETag value was "xyzzy", the above code would look as follows:

If-None-Match: "xyzzy"

If the ETag value that you pass in this request matches the ETag value of the current resource on the server, the Netflix API replies with an HTTP response code of 304 (Not Modified), indicating that the resource on the server has not changed. However, if the ETag value you pass in does not match the ETag value for the resource on the server, then the Netflix API returns a resource response with a new ETag value.

Similarly, you can use ETags to implement concurrency control for resources that support such control and that use POST and PUT requests. To do so, include an If-Match header and pass the ETag value from a previous response, as follows:

If-Match: "etag_value"

The server accepts the request if the ETag value that you pass with the request matches that of the current resource on the server. However, if the two ETag values do not match, the server returns an HTTP response code of 412 (Precondition Failed).

For resources that support concurrency control you can also use the etag parameter to pass the ETag value as part of the resource request rather than as a separate header metadata item, like this:

http://api.netflix.com/&etag=etag_value&

Using Specific API Versions

Netflix supports multiple versions of the API and allows you to use them concurrently. Set the v parameter within a request if you need to access a specific version of the API. For example, to invoke version 1.5, you might request a catalog/titles resource as follows:

http://api.netflix.com/catalog/titles/series/70023522?v=1.5

Use of the version parameter is optional. If you do not specify it in a request, the default is version 1.0.

Using Title Expansion to Retrieve Title Details

You can use expansion to retrieve particular details about titles in the Netflix catalog in the same response you get when you request a list of titles, for instance in a search or in the retrieval of a queue. By using expansion, you avoid the process of retrieving the list and then making additional calls to retrieve details about each item in the list. This is more efficient and helps you avoid running up against the limits of your request quota.

One of the principal resource types in the API is a catalog title resource. A title refers either to programming that can be rented as a disc or watched instantly, or to a collection of rentable and/or viewable items. Examples of titles are:

  • movies
  • television programs
  • groups of related titles, such as:
    • a television series
    • a television series season
    • a disc containing a subset of a television series season

Titles play a central role in many of the responses returned by resources. For example, queries such as title searches, queue entries, and ratings all return title-centric responses. You can expand the title response format so you can access details about each title without having to make additional title resource queries on the individual titles in the response. For example, you can query the catalog for titles that match some criteria and at the same time ask the Netflix API to extend its response format so that it includes additional details about each title other than those in the default response format.

Title Expansion

You retrieve additional information about titles in this way by means of title (or link) expansion. Expansion takes advantage of the links between a title resource and its subresources. To illustrate, a title resource maintains links to such subresources as the title's synopsis, related series/seasons/episodes, and cast. By using expansion, your application can retrieve many of a title's linked resources at the same time that it retrieves the basic title information.

When you do a query without title expansion, some of the elements you recieve in the response are linked resources. These appear as <link>s in the response. For example, you might see this <link> in the response:

<link href="http://api.netflix.com/catalog/titles/series/70023522/cast" rel="http://schemas.netflix.com/catalog/people" title="cast"/>

When you request expansion of a particular linked resource, the Netflix API expands the link to include its contents inline in the response (though if the linked resource itself represents a collection of other resources, it is partially, not recursively, expanded into a list of resource links). For example, with expansion, the single link to cast members shown above becomes, in the same response, a list of links to each individual cast member:

<link href="http://api.netflix.com/catalog/titles/series/70023522/cast" rel="http://schemas.netflix.com/catalog/people" title="cast">
 <cast>
  <link href="http://api.netflix.com/catalog/people/30011713" rel="http://schemas.netflix.com/catalog/person" title="Steve Carell"/>
  <link href="http://api.netflix.com/catalog/people/30014922" rel="http://schemas.netflix.com/catalog/person" title="John Krasinski"/>
  <link href="http://api.netflix.com/catalog/people/20047634" rel="http://schemas.netflix.com/catalog/person" title="Jenna Fischer"/>
  <link href="http://api.netflix.com/catalog/people/20028105" rel="http://schemas.netflix.com/catalog/person" title="Rainn Wilson"/>
  …
 </cast>
</link>

You can request expansion from the Netflix API for all resource response items that include title data, such as:

  • a queue item
  • a rating
  • a recommendation
  • a viewing history item

Using Title Expansion

To request expansion, set the expand parameter in your resource request. You need to set the expand parameter to one or more <link> titles that are appropriate to the particular request. For example, to expand the cast and directors for titles in a television series, you form the request as follows

http://api.netflix.com/catalog/titles/series/70023522?expand=cast,directors

Netflix API 1.5 supports title expansion for the following links. (Note that you specify these supported links using the link title, or link type name, exactly as shown below, except with any spaces percent-encoded to "%20".)

  • synopsis
  • short synopsis
  • formats
  • screen formats
  • cast
  • directors
  • languages and audio
  • seasons
  • episodes
  • discs
  • similars
  • filmography
  • awards
  • bonus materials
  • person
  • queue item

32 Comments

  1. Steve3 years ago

    The "Using Title Expansion" description indicates that the expansion parameter names should be comma seperated (expand=synopsis,cast,directors,episodes). The only I was able to get title expansion to work was by using space seperated values (expand=synopsis cast directors episodes).

    UPDATE::
    | We figured out the problem. Steve was using the .Net (C#) libraries which encode hex values to
    | lowercase (instead of the more traditional uppercase). If you are using .Net be sure to call
    | OAuthBase.URLEncode to encode your parameter values instead of the native UrlEncode().
    |
    | The OAuthBase library is available at http://oauth.googlecode.com/svn/code/csharp/.
    |
    | --jr@netflix

  2. thesubjective3 years ago

    Title Expansion is key for developers who find themselves repeatedly hitting their rate limits.

  3. ReQuest Inc2 years ago

    Has anyone seen a problem recently with episode expansion? I used to ask for the expanded episodes within the title list and it would give me all the URLs for the episodes for a show. Now, that no longer works. I also ask for expanded formats, and that works, but the episode expansion doesn't. This is a new problem (within the last week). Anyone seen this? Did something change?

  4. Quantum Concepts1 year ago

    Episode expansion is also not working for me. Not good.

  5. Edward Petersen11 months ago

    On the subject on expansion, it would seem to make sense to be able to expand the user's rating of a title from a queue item. Of course, that would first mean that a <link> node that represents the rating for that title would need to be added to the queue item schema.

    Right now, I need to retrieve the user's queue, parse out the title URL and add it to a list for later processing. Once done parsing the queue, take that list and make a call for the ratings. Smash it all together and then move on. To be honest, a lot of extra work and about 10-15 seconds of processing for a queue of 200 (2/5th the size it could be). That's an eternity for a user staring at a progress bar.

    Any chance this could be added? Or does anyone else have a better way of going about it?

  6. Russell Duhon7 months ago

    I'm working on an app using the Netflix API, and can't figure out how to get the runtime of an episode. Ideally I'd receive the runtime of all episodes when I request that resource, but really, I'd love anywhere to get it. I've requested an individual episode, requested a season, requested the list of episodes for a show, and nothing. Seasons even have runtimes, but not episodes. I've tried asking for expansion of runtime, and various other things, and no success. This is very important to my application (and clearly the data's available). Is there another good way to get the runtime for an episode, using the API? I'd hate to have to break out of my current API, especially as the OData API seems to be missing the information I need. Specifically, I tried querying for the NetflixApiId of a show (Deep Space Nine) and of an episode, and neither one returned anything. Getting The Name of the Rose by the NetflixApiId works fine, so this seems to be a case of missing data for the OData API.

    I would really love to build apps using the Netflix API, and I believe the app I'm working on has a lot of potential to add value for Netflix customers, but I keep finding holes and corner cases I need to work around. I feel strongly that a solid API with aggressive support could be a major competitive advantage for Netflix (though at the moment I'd be ecstatic if I could get runtime information for tv show episodes ;) ).

  7. leefrank405 months ago

    In My application, the episodes expansion does not working too.

    Netflix supports, Please help us to fix your bug!!!!

  8. Kevin Diffily5 months ago

    Is a .wadl file available?

  9. metergoose2 months ago

    http://www.michaelkorscheapoutlet.com/michael-kors-bags-c-2.html michael kors handbags of comparable articles, http://www.michaelkorscheapoutlet.com/ michael kors michael kors hoped later on to determine http://www.michaelkorscheapoutlet.com/michael-kors-bags-c-2.html michael kors handbags compose seriously is http://www.michaelkorscheapoutlet.com/michael-kors-bags/michael-kors-shoulder-bags-c-2_5.html michael kors handbags outlet but only discovered

  10. metergoose2 months ago

    http://www.paschermonsterbeats.com beats by dre beats by dre still is Lancelot of the palm http://www.paschermonsterbeats.com/monster-beats-tour-c-6.html monster beats tour micro by dr dre monster beats tour micro by dr dre to themselves a raise, http://www.paschermonsterbeats.com/monster-beats-pro-c-3.html beats by dre promo beats by dre promo after showing a pink glow, http://www.paschermonsterbeats.com/monster-beats-by-dre-c-1.html beats by dre rouge beats by dre rouge do not want to easily lose, http://www.paschermonsterbeats.com/monster-beats-by-dre-c-1.html beats by dre rouge beats by dre rouge .

  11. woshi554 weeks ago

    As a world leader in the skateboarding footwear industry, <strong><a href="http://www.orderdcshoes.com">DC Shoes</a></strong> are always really high in demand.Young and old, men and women are taking a huge risk trying to master skateboarding tricks. In order to do that, the skateboarders will need top of the line <strong><a href="http://www.orderdcshoes.com/mens-dc-shoes-c-25.html">DC footwear</a></strong> that will allow them to twist, turn, and flip their board with ease. The <strong><a href="http://www.orderdcshoes.com/womens-dc-shoes-c-26.html">DC shoe</a></strong> does have a wide arrange of skateboarding shoes collection. Each <strong><a href="http://www.orderdcshoes.com/kids-dc-shoes-c-27.html">DC skate shoes</a></strong> has its own feature to boast of and each feature is designed to make that particular pair stand out from the rest. You can get an awesome pair of Cheap DC shoes or <strong><a href=" http://www.orderdcshoes.com/dc-caps-c-28.html">DC cap</a></strong> at orderdcshoes.com. Our Cheap DC shoes and it's priced as low as $58! I don't know about you, but I hardly ever come across a pair of DC shoes this nice for a price like that. You would really hard to find deals like this at orderdcshoes.com.Trust us,we won't let you down!

  12. samsa3 weeks ago

    Erectile dysfunction (ED) is sexual dysfunction characterized by the inability to develop or maintain an erection of the penis during sexual performance. Psychological impotence is where erection or penetration fails due to thoughts or feelings (psychological reasons) rather than physical impossibility; this is somewhat less frequent but often can be helped. Erectile dysfunction, tied closely as it is about ideas of physical well being, can have severe psychological consequences. Drugs for treating ED: http://cavertabuy.com Caverta can help men who have erectile dysfunction get and sustain an erection when they are sexually excited. http://revatiobuy.com Revatio contains the same medicine as VIAGRA (sildenafil), which is used to treat erectile dysfunction. http://revatio.webstarts.com Revatio is used to treat pulmonary hypertension (high blood pressure in the blood vessels between the heart and lungs) when people have not responded to conventional treatment. http://onlinedapoxetine.com Dapoxetine Hydrochloride is a new drug that has gained most of the people’s interest and it is used as a treatment for premature ejaculation. http://tadacipbuy.com Tadacip (Tadalafil) is an oral drug, used for treating male impotence. http://silagrabuy.com Silagra pills are an effectual treatment for the patients suffering ED (erectile dysfunction) regardless of their age and the duration of the problem. Erectile dysfunction is characterized by the regular or repeated inability to obtain or maintain an erection. There are several ways that erectile dysfunction is analyzed: Obtaining full erections at some times, such as when asleep (when the mind and psychological issues, if any, are less present), tends to suggest the physical structures are functionally working. Other factors leading to erectile dysfunction are diabetes mellitus (causing neuropathy). http://cheapkamagrabuyonline.com http://cheapkamagrabuyonline.com/kamagrachewable.html http://cheapkamagrabuyonline.com/kamagragold.html http://cheapkamagrabuyonline.com/kamagrajelly.html http://cheapkamagrabuyonline.com/kamagrasoft.html Health care (or healthcare) is the diagnosis, treatment, and prevention of disease, illness, injury, and other physical and mental impairments in humans. Health care is delivered by practitioners in medicine, chiropractic, dentistry, nursing, pharmacy, allied health, and other care providers. It refers to the work done in providing primary care, secondary care and tertiary care, as well as in public health.

    http://medsale.org/abilify-buyonline.html Abilify (Aripiprazole) is used for treating schizophrenia and certain symptoms of bipolar disorder. http://medsale.org/amitriptyline-buyonline.html Amitriptyline is a tricyclic antidepressant that increases the activity of certain chemicals in the brain (norepinephrine, serotonin), which help improve mood. http://medsale.org/crestor-buyonline.html Crestor (Rosuvastatin) is an HMG-CoA reductase inhibitor, used with a proper diet to help lower cholesterol and fat. http://medsale.org/cymbalta-buyonline.html Cymbalta (Duloxetine) is used for treating depression and generalized anxiety disorder. http://medsale.org/finpecia-buyonline.html Finpecia (Finasteride) is used to treat male pattern hair loss. http://medsale.org/lipitor-buyonline.html Lipitor (Atorvastatin) is an oral drug that lowers the level of cholesterol in the blood. http://medsale.org/nexium-buyonline.html Nexium is used to treat symptoms of gastroesophageal reflux disease (GERD) and other conditions involving excessive stomach acid such as Zollinger-Ellison syndrome. http://medsale.org/plavix-buyonline.html Plavix (Clopidogrel) is used to prevent strokes and heart attacks. http://medsale.org/seroquel-buyonline.html Seroquel (Quetiapine) is used for treating schizophrenia. http://medsale.org/zyprexa-buyonline.html Zyprexa (Olanzapine) is used to treat schizophrenia and bipolar disorder (manic depression).

  13. Coach Outlet Canada3 weeks ago

    <a href="http://www.getcoachoutletsonline.com/"><strong>Coach Outlet Online</strong></a> has a number of persons with highly qualified professional and <a href="http://www.coachoutlets-canadas.net/"><strong>Coach Outlet Online</strong></a> managerial talents, and a high taste of high-tech design of the production team <a href="http://www.coachoutletusshop.com/"><strong>Coach Outlet</strong></a>. So its products like Coach Shoulder Bag get people's heart, and sells well in worldwide. This one gives you the feeling of mistery. <a href="http://www.coachoutletpursesc.com/"><strong>Coach Purses Outlet</strong></a> becomes a very famous luxury brand in worldwide and has established a high reputation among the customers. Nowadays, <a href="http://www.coachoutletonlinepurses.net/"><strong>Cheap Coach Handbags</strong></a> almost become the key word of vogue, Coach Handbags is likely to be the dreams of lots of young ladies. We highly recommend <a href="http://www.coachsfactory.org/"><strong>Coach Factory</strong></a>. The price is fairly competitive. What is more, <a href="http://www.coachoutletonlineusa2012.org/"><strong>Coach Outlet Online</strong></a> can offer the best service and have guaranreed the product. <a href="http://www.buycoachoutletinfactory.com/"><strong>Coach Outlet</strong></a> will make your life more colorful. The <a href="http://www.louisvuitton-purseoutlet.com/"><strong>louis vuitton purses</strong></a> is made of soft and supple leather, developed in Italy. The <a href="http://www.coachoutlets4you.net/"><strong>Coach Outlet Store Online</strong></a> arrived new bag with two side pockets in one color is decorated by a little fold. The bag is not only cute but also elegant. The pattern of the bag on <a href="http://www.getcoachoutletsonline.com/"><strong>Coach Outlet</strong></a> is very simple but not general. Whenever you go <a href="http://www.coachoutlets-canadas.net/"><strong>Coach Outlet Canada</strong></a>, you will become the focus of the crowed. <a href="http://www.coachoutletusshop.com/"><strong>Coach Outlet Online</strong></a> Brand is originally launched at Manhattan, New York. As many years going by <a href="http://www.coachoutletpursesc.com/"><strong>Coach Handbags Outlet</strong></a>, this brand becomes one of the most prestigious brands in fashion industry. <a href="http://www.coachoutletonlinepurses.net/"><strong>Cheap Coach Purses</strong></a> is one series of this brand. The quality of this <a href="http://www.coachsfactory.org/"><strong>Coach Factory Outlet</strong></a> is good and the color is charming. This one with the color gives you the feeling of young and full of energy. Have our goal of service. To our customers, <a href="http://www.buycoachoutletinfactory.com/"><strong>Coach Factory Outlet</strong></a> have always supplied the best quality and efficiency of products. As well as hassle-free maintenance guaranty. <a href="http://www.louisvuitton-purseoutlet.com/"><strong>Louis Vuitton Handbags</strong></a> are always having the best designed products, all of them are strictly picked to customer's perspective. On our website we show you different bags such as Coach Shoulder Bag Maroon with Chocolate Logo and Bowknot, hope you like it.

  14. Coach Outlet Canada3 weeks ago

    Coach Outlet Online has a number of persons with highly qualified professional and Coach Outlet Online managerial talents, and a high taste of high-tech design of the production team Coach Outlet. So its products like Coach Shoulder Bag get people's heart, and sells well in worldwide. This one gives you the feeling of mistery. Coach Purses Outlet becomes a very famous luxury brand in worldwide and has established a high reputation among the customers. Nowadays, Cheap Coach Handbags almost become the key word of vogue, Coach Handbags is likely to be the dreams of lots of young ladies. We highly recommend Coach Factory. The price is fairly competitive. What is more, Coach Outlet Online can offer the best service and have guaranreed the product. Coach Outlet will make your life more colorful. The louis vuitton purses is made of soft and supple leather, developed in Italy. The Coach Outlet Store Online arrived new bag with two side pockets in one color is decorated by a little fold. The bag is not only cute but also elegant. The pattern of the bag on Coach Outlet is very simple but not general. Whenever you go Coach Outlet Canada, you will become the focus of the crowed. Coach Outlet Online Brand is originally launched at Manhattan, New York. As many years going by Coach Handbags Outlet, this brand becomes one of the most prestigious brands in fashion industry. Cheap Coach Purses is one series of this brand. The quality of this Coach Factory Outlet is good and the color is charming. This one with the color gives you the feeling of young and full of energy. Have our goal of service. To our customers, Coach Factory Outlet have always supplied the best quality and efficiency of products. As well as hassle-free maintenance guaranty. Louis Vuitton Handbags are always having the best designed products, all of them are strictly picked to customer's perspective. On our website we show you different bags such as Coach Shoulder Bag Maroon with Chocolate Logo and Bowknot, hope you like it.

  15. Coach Outlet Canada3 weeks ago

    [url=http://www.getcoachoutletsonline.com/][b]Coach Outlet Online[/b][/url] has a number of persons with highly qualified professional and [url=http://www.coachoutlets-canadas.net/][b]Coach Outlet Online[/b][/url] managerial talents, and a high taste of high-tech design of the production team [url=http://www.coachoutletusshop.com/][b]Coach Outlet[/b][/url]. So its products like Coach Shoulder Bag get people's heart, and sells well in worldwide. This one gives you the feeling of mistery. [url=http://www.coachoutletpursesc.com/][b]Coach Purses Outlet[/b][/url] becomes a very famous luxury brand in worldwide and has established a high reputation among the customers. Nowadays, [url=http://www.coachoutletonlinepurses.net/][b]Cheap Coach Handbags[/b][/url] almost become the key word of vogue, Coach Handbags is likely to be the dreams of lots of young ladies. We highly recommend [url=http://www.coachsfactory.org/][b]Coach Factory[/b][/url]. The price is fairly competitive. What is more, [url=http://www.coachoutletonlineusa2012.org/][b]Coach Outlet Online[/b][/url] can offer the best service and have guaranreed the product. [url=http://www.buycoachoutletinfactory.com/][b]Coach Outlet[/b][/url] will make your life more colorful. The [url=http://www.louisvuitton-purseoutlet.com/][b]louis vuitton purses[/b][/url] is made of soft and supple leather, developed in Italy. The [url=http://www.coachoutlets4you.net/][b]Coach Outlet Store Online[/b][/url] arrived new bag with two side pockets in one color is decorated by a little fold. The bag is not only cute but also elegant. The pattern of the bag on [url=http://www.getcoachoutletsonline.com/][b]Coach Outlet[/b][/url] is very simple but not general. Whenever you go [url=http://www.coachoutlets-canadas.net/][b]Coach Outlet Canada[/b][/url], you will become the focus of the crowed. [url=http://www.coachoutletusshop.com/][b]Coach Outlet Online[/b][/url] Brand is originally launched at Manhattan, New York. As many years going by [url=http://www.coachoutletpursesc.com/][b]Coach Handbags Outlet[/b][/url], this brand becomes one of the most prestigious brands in fashion industry. [url=http://www.coachoutletonlinepurses.net/][b]Cheap Coach Purses[/b][/url] is one series of this brand. The quality of this [url=http://www.coachsfactory.org/][b]Coach Factory Outlet[/b][/url] is good and the color is charming. This one with the color gives you the feeling of young and full of energy. Have our goal of service. To our customers, [url=http://www.buycoachoutletinfactory.com/][b]Coach Factory Outlet[/b][/url] have always supplied the best quality and efficiency of products. As well as hassle-free maintenance guaranty. [url=http://www.louisvuitton-purseoutlet.com/][b]Louis Vuitton Handbags[/b][/url] are always having the best designed products, all of them are strictly picked to customer's perspective. On our website we show you different bags such as Coach Shoulder Bag Maroon with Chocolate Logo and Bowknot, hope you like it.

  16. Coach Outlet Canada3 weeks ago

    <a href="http://www.getcoachoutletsonline.com/"><strong>Coach Outlet Online</strong></a> <a href="http://www.coachoutlets-canadas.net/"><strong>Coach Outlet Online</strong></a> <a href="http://www.coachoutletusshop.com/"><strong>Coach Outlet</strong></a> <a href="http://www.coachoutletpursesc.com/"><strong>Coach Purses Outlet</strong></a> <a href="http://www.coachoutletonlinepurses.net/"><strong>Cheap Coach Handbags</strong></a> <a href="http://www.coachsfactory.org/"><strong>Coach Factory</strong></a> <a href="http://www.coachoutletonlineusa2012.org/"><strong>Coach Outlet Online</strong></a> <a href="http://www.buycoachoutletinfactory.com/"><strong>Coach Outlet</strong></a> <a href="http://www.louisvuitton-purseoutlet.com/"><strong>louis vuitton purses</strong></a> <a href="http://www.coachoutlets4you.net/"><strong>Coach Outlet Store Online</strong></a> <a href="http://www.getcoachoutletsonline.com/"><strong>Coach Outlet</strong></a> <a href="http://www.coachoutlets-canadas.net/"><strong>Coach Outlet Canada</strong></a> <a href="http://www.coachoutletusshop.com/"><strong>Coach Outlet Online</strong></a> <a href="http://www.coachoutletpursesc.com/"><strong>Coach Handbags Outlet</strong></a> <a href="http://www.coachoutletonlinepurses.net/"><strong>Cheap Coach Purses</strong></a> <a href="http://www.coachsfactory.org/"><strong>Coach Factory Outlet</strong></a> <a href="http://www.buycoachoutletinfactory.com/"><strong>Coach Factory Outlet</strong></a> <a href="http://www.louisvuitton-purseoutlet.com/"><strong>louis vuitton handbags</strong></a>

  17. Coach Outlet Canada3 weeks ago

    [url=http://www.getcoachoutletsonline.com/][b]Coach Outlet Online[/b][/url] [url=http://www.coachoutlets-canadas.net/][b]Coach Outlet Online[/b][/url] [url=http://www.coachoutletusshop.com/][b]Coach Outlet[/b][/url] [url=http://www.coachoutletpursesc.com/][b]Coach Purses Outlet[/b][/url] [url=http://www.coachoutletonlinepurses.net/][b]Cheap Coach Handbags[/b][/url] [url=http://www.coachsfactory.org/][b]Coach Factory[/b][/url] [url=http://www.coachoutletonlineusa2012.org/][b]Coach Outlet Online[/b][/url] [url=http://www.buycoachoutletinfactory.com/][b]Coach Outlet[/b][/url] [url=http://www.louisvuitton-purseoutlet.com/][b]louis vuitton purses[/b][/url] [url=http://www.coachoutlets4you.net/][b]Coach Outlet Store Online[/b][/url] [url=http://www.getcoachoutletsonline.com/][b]Coach Outlet[/b][/url] [url=http://www.coachoutlets-canadas.net/][b]Coach Outlet Canada[/b][/url] [url=http://www.coachoutletusshop.com/][b]Coach Outlet Online[/b][/url] [url=http://www.coachoutletpursesc.com/][b]Coach Handbags Outlet[/b][/url] [url=http://www.coachoutletonlinepurses.net/][b]Cheap Coach Purses[/b][/url] [url=http://www.coachsfactory.org/][b]Coach Factory Outlet[/b][/url] [url=http://www.buycoachoutletinfactory.com/][b]Coach Factory Outlet[/b][/url] [url=http://www.louisvuitton-purseoutlet.com/][b]louis vuitton handbags[/b][/url]

  18. ohyeah1 week ago

    Good blog, I like it very much, Thank you for sharing. http://www.discountsoakleysunglassesuk.com/

  19. coachoutlet116 days ago

    Shaoguan Shixing County Water Conservancy Bureau, former director accused of taking bribes of 34 million yuan, the first <a href="http://www.oakleysunglassesoutletcom.com/oakley-frogskin-sunglasses-c-3.html">Oakley Frogskin Sunglasses</a> instance, jailed for five years, followed by the second instance court recently denied previously confessed to argue that <a href="http://www.oakleysunglassesoutletcom.com/oakley-xx-meta-sunglasses-c-13.html">Oakley Sunglasses For Women</a> he was to admit bribery because the "illusion", whileinquiry handling department video only see the surface, can not see the <a href="http://www.oakleysunglassesoutletcom.com/">oakley sunglases sale</a> psychological. Identified by the Court of First Instance, Shixing County Water Conservancy Bureau, Zhang Yuan weeks of any period <a href="http://www.oakleysunglassesoutletcom.com/oakley-dispatch-sunglasses-c-1.html">Custom Oakley Sunglasses</a> 2001-2003, repeatedly accepting the construction boss to cash, for a total of 3.3 million; 1999 to 2006, Zhang Yuan weeks in office <a href="http://www.oakleysunglassesoutletcom.com/">oakley frogskin sunglasses</a> during the Water Conservancy Bureau use of its Department of the the Siheung County Mojiang embankment a two and local urban flood control <a href="http://www.oakleysunglassesoutletcom.com/oakley-jawbone-sunglasses-c-6.html">Oakley Wire Sunglasses</a> project person in charge of his office, and many times received a number of construction boss gave 295,000 yuan in cash. After the incident <a href="http://www.oakleysunglassesoutletcom.com/oakley-x-squared-sunglasses-c-12.html">Oakley Sunglasses For Sale</a> , the family of Zhang Yuan Zhou on behalf of their refund money stolen 500,000 yuan. The Siheung County Court of First Instance, Zhang Yuan <a href="http://www.oakleysunglassesoutletcom.com/oakley-radar-sunglasses-c-10.html">Cheap Oakley Sunglasses</a> Zhou constitute a crime of accepting bribes, then its sentenced to five years imprisonment and confiscation of personal property of 50,000 yuan <a href="http://www.oakleysunglassesoutletcom.com/oakley-juliet-sunglasses-c-7.html">Oakley Sport Sunglasses</a> . After Zhang Yuan Zhou heavy sentence on the grounds of appeal, Shaoguan City, the Procuratorate while sentencing abnormal light to the right to <a href="http://www.oakleysunglassesoutletcom.com/oakley-penny-sunglasses-c-9.html">Oakley sunglass Outlet</a> appeal. In the second trial, Zhang Yuan, Zhou argued that the allegations of bribery of an amount more than the actual charge. Its said that its <a href="http://www.oakleysunglassesoutletcom.com/oakley-fast-jacket-sunglasses-c-2.html">Oakley Fast Jacket Sunglasses</a> income is more than the construction unit out of gratitude to send a red envelope in the holidays, he did not give special care of the construction <a href="http://www.oakleysunglassesoutletcom.com/oakley-split-jacket-sunglasses-c-11.html">Oakley Split Jacket Sunglasses</a> team allowed to increase the benefits nor losses of the country and people, this part should not bribery. He said the specific amount of bribes he himself <a href="http://www.oakleysunglassesoutletcom.com/">cheap oakley sunglasses</a> can not remember exactly, "This is the sum of nobody knows for sure I was hallucinating, holding to believe that the investigators will investigate, only the <a href="http://www.oakleysunglassesoutletcom.com/oakley-mars-sunglasses-c-8.html">Discount Oakley Sunglasses</a> basic recognition of the". <a href="http://www.oakleysunglassesoutletcom.com/oakley-holbrook-sunglasses-c-5.html">Oakley Sunglasses UK</a> <a href="http://www.oakleysunglassesoutletcom.com/">oakley sunglasses outlet</a> <a href="http://www.oakleysunglassesoutletcom.com/oakley-half-x-sunglasses-c-4.html">Buy Oakley Sunglasses</a>

  20. coachoutlet116 days ago

    8 to 9 May, Loudi City under the http://www.longchamplimitededition2012.com/blog/ Lianyuan some villages and towns suffered severe convective weather, a short time dump heavy rain, hail and accompanied by a tornado. http://www.longchamplimitededition2012.com/ At press time, has caused more than 110,000 people were affected and 1030 houses collapsed, 17,614 damaged houses; http://www.longchamplimitededition2012.com/ housing collapse has caused four people were killed and 30 others injured, 5427 people evacuated. http://www.longchamplimitededition2012.com/ The Lianyuan municipal government has launched emergency plans, the establishment of the Committee of disaster reduction and prevention, http://www.longchamplimitededition2012.com/ proper arrangements for the accommodation of the affected households , and relief supplies and funds distributed to the victims. http://www.longchamplimitededition2012.com/ According to the news of the Hunan Provincial Flood Control and Drought Relief Headquarters Office, the Xiang River, http://www.longchamplimitededition2012.com/ northwestern Hunan region the past few days rainfall in the local heavy rainfall, about 107 million people were affected, http://www.longchamplimitededition2012.com/ temporary emergency transfer of more than 30,000 people. http://www.longchamplimitededition2012.com/

  21. New Jordan Cheap Sale10 hours ago

    New Released from Nike Jordan Shoes for 2012.We could supply any kinds of the sport shoes -for you with cheap price and high quality.We could be the best one for you shopping online. go shopping now.Beleive you can not miss them.

    http://www.airdiamondturf2.com/ Nike Diamond Turf 2 http://www.nikefreerunit.com/ Nike Free Run http://www.jordan4online.com/cheap-jordan-4-on-sale/cheap-308497-027-air-jordan-iv-retro-knicks-cavs-black-safety-orange-game-royal-2012-sale Air Jordan IV Retro Knicks Cavs Black Safety Orange-Game Royal http://www.jordanretro11online.com/cheap-jordan-11-2012-released/new-528895-101-air-jordan-xi-retro-low-white-varsity-red-black-sale-2012 Jordan 11 Low http://www.jordan4online.com/ Jordan 4, Jordan 4 knicks,Jordan 4 cavs http://www.jordanretro11online.com/ Jordan Retro 11 http://www.truereligioncheap.org/ True Religion Jeans http://www.foampositesneaker.com/ Cheap Foamposites Foamposite galaxy
    http://www.jordansplayoff12.com/ Jordan 12 cool grey Jordan 12 Playoffs, Jordan 12 New Released http://www.christianlouboutinshoesby.com/ Cheap christian louboutin http://www.nikefoampositesale.com/ Cheap Foamposites,New Foamposites http://www.airyeezyii.com/ Nike air yeezy 2, Kanye west shoes http://www.airyeezyii.com/cheap_nike_lebron_9_2012_online/new_469764-500_nike_lebron_9_summit_lake_hornets_purple_teal_white_2012_cheap_sale Cheap Lebron 9 Hornets http://www.foampositeonline.com/ Nike Foamposite, Cheap Foamposites 2012 http://www.foampositeonline.com/discount-nike-air-foamposite-one-2012-online/new-487428-005-nike-air-foamposite-one-all-star-galaxy-2012-sale nike foamposite galaxy nike galaxy http://www.lebron9sale.org/buy-jordan-4-2012-online/308497-027-air-jordan-iv-retro-knicks-cavs--black-safety-orange-game-royal Cheap Jordan 4 Knicks http://www.lebron9sale.org/buy-jordan-4-2012-online/308497-027-air-jordan-iv-retro-knicks-cavs--black-safety-orange-game-royal Jordan 4 Cavs
    http://www.lebron9sale.org/buy-nike-lebron-9-2012-online/516958-001-nike-lebron-9-p.s.-elite-south-beach-wolf-grey-mint-candy-new-green-pink-flash Lebron 9 Elite
    http://www.lebron9sale.org/buy-nike-lebron-9-2012-online/516958-700-nike-lebron-9-ps-elite-varsity-maize-black-white Lebron 9 ps elite http://www.jordan4online.com/cheap-nike-lebron-9-on-sale/cheap-516958-700-nike-lebron-9-ps-elite-varsity-maize-black-white-2012-sale Nike LeBron 9 P.S. Elite http://www.jordan4online.com/cheap-jordan-4-on-sale/cheap-308497-027-air-jordan-iv-retro-knicks-cavs-black-safety-orange-game-royal-2012-sale Jordan 4 Knicks http://www.jordanretro11online.com/cheap-jordan-4-2012-released/cheap-308497-027-air-jordan-iv-retro-knicks-cavs-black-safety-orange-game-royal-sale-2012 Jordan 4 Cavs http://www.jordanretro11online.com/cheap-nike-lebron-9-2012-released/cheap-516958-700-nike-lebron-9-ps-elite-varsity-maize-black-white-sale-2012 Cheap Lebron 9 p.s. elite http://www.jordanretro11online.com/cheap-jordan-11-2012-released/new-528895-101-air-jordan-xi-retro-low-white-varsity-red-black-sale-2012 Jordan 11 Low http://www.foampositeonline.com/ Air Yeezy 2,Nike Foamposite Cheap Foamposites http://www.foampositeonline.com/discount-nike-lebron-9-2012-online/new-469764-500-nike-lebron-9-summit-lake-hornets-purple-teal-white-2012-sale Nike LeBron 9 Hornets http://www.2012jordans4.com/ Jordan 4 http://www.sneakersonlineoutlet.com/ Nike Air Max 2012 http://www.nikeairfoampositesale.com/ nike air foampositesale One http://www.jordan12-2012.com/ Jordan 12 NEW Released http://www.lebron9sale.org/buy-nike-lebron-9-2012-online/516958-700-nike-lebron-9-ps-elite-varsity-maize-black-white Cheap Lebron 9 P.S. elite http://www.lebron9sale.org/ Lebron 9 http://www.airmax95cheaps.com/ Nike air max 95 Air max 95 http://www.lebron9sale.org/buy-nike-lebron-9-2012-online/nike-lebron-9-summit-lake-hornets-purple-teal-white Cheap LeBron 9 hornets http://www.jordan12-2012.com/ http://www.jordan12-2012.com/cheap-jordan-12-2012-online/buy-new-130690-001-air-jordan-12-black-white-varsity-red-online New Jordan 12 Playoffs http://www.airjordans12.net/new-jordan-12-cheap-sale/cheap-130690-001-air-jordan-12-black-white-varsity-red-2012-sale New Released Jordan Playoffs 12 http://www.topnikefreerun.org/ Nike Free Run 2 http://www.jordan4retro.com/ Jordan Retro 4 http://www.thecoachbagsoutlet.com/ Coach factory Online http://www.jordansretro10.org/ New released Jordan 10 bulls http://www.jordans2012my.com/ Cheap Jordan,New Jordan Retro Shoes 2012 http://www.cheapjean4sale.com/ Cheap true Religion Jeans http://www.jordansretro10.org/jordan_10/310805-003_air_jordan_10_retro_black_white_stealth Jordan 10 stealth http://www.beatsheadphonesale.net/ beats by dr dre http://www.monsterbeatsmore.com/ monster beats by dre http://www.christian-louboutins-outlets.org/ christian louboutins shoes http://www.airjordans12.net/ http://www.jordan4retro.net/ http://www.louis-vuitton-love.com/ Cheap Louis Vuitton Sale http://www.jordan7s.org/ Cheap Jordans http://www.beatsbydreonlineoutlet.org/ Beat by Dre

Please sign in to post a comment.