› StrainInfo

JSON API (beta) :: StrainInfo

Our JSON-based API provides an interface for client developers to interact with content stored on SeedFinder, and to build new applications on top of SeedFinder's infrastructure. The JSON-Files you can get and use very simple with a URL GET or POST request and a little bit JavaScript, PHP or something like that.

Please note:
To use our JSON API you must verify your domain(s) here into the User-Area at first!
If you do a request from a unregistered domain you will get an Error 403!

Parameters for the request

For a valid request of the minimum strain- and breeder-description at least the strain (str) and the breeder (br) have to be specified. A list of addional parameters for extra-info you will find below.

ParameterExampleDescription
br?br=Sensi_SeedsBreeder ID from the seedfinder url's
str&str=Skunk_Nr1Strain ID from the seedfinder url's

StrainInfo JSON: http://de.seedfinder.eu/api/json/strain.json
Example: http://de.seedfinder.eu/api/json/strain.json?br=Sensi_Seeds&str=Skunk_Nr1

Optional parameters for the request:

You can change the output-format or add additional content iff you add the following optional parameters to the request url. Use output to change the format (for example) to JSONP, use lng to get the output in a different language or add info about parents, hybrids, reviews and so on... Here a list of all available additional parameters and its possible values.

ParameterPossible ValuesDescription
output1 | 2Alternative output-types. Preset is 0 (pure JSON output)
Click here to read more about the possible output formats.
lngde | en | es | frSet output language to english, german, french or spanish. Preset: english.
comments1 - 10Add user-comments in the selected language. Insert the amount of comments (max. 10)
optional for comments
commlng

String (a-z|)
Add comments in english (en), german (de), french (fr) and/or spanish (es)
Seperate with |. Example: &commlng=en|de
parents1Add all parents.
hybrids1Add all direct Hybrids of the strain.
medical1Add medicinal info.
pics1Add the newset user-pictures. (up to ten)
forumsString (a-z0-9|)
Add strain-related threads out of connected forums. Insert forum-id(s) separated by |.
Example: hb|icmag|thctalk (show possible ids/forums)
reviews1Add user based strain review information.
optional for reviews
tasting

1
Add info about taste, aroma and effect to reviews.
Only available if reviews=1!
optional for tasting
taste | smell | effect

0
Hide info about taste, aroma and/or effect from tasting.
Only available if tasting=1.

Example: The url http://en.seedfinder.eu/api/json/strain.json?br=Sensi_Seeds&str=Skunk_Nr1&lng=fr&parents=1&reviews=1&tasting=1&smell=0 will show the french Super-Skunk info, including parents and reviews. The Reviews also includes the tasting, but the aroma-info will not be shown. Taste and effect will also be in the JSON.

The Response

A valid query will return an object containing the rewuested details for the variety, some upload-links and licenses. An invalid request provides an object with an error message. Here is an overview of the possible content into the main object, more info about the contents of the sub objects below.

The main Object:

NameValueDescription
errorBoolean | Stringfalse if there was no error. If an error occured, the error-message will be stored into a string.
nameStringThe name of the strain.
idStringThe seedinder-id of the strain.
brinfoObjectThis object contains the information provided from the breeder.
commentsBoolean | ObjectThis object will contain user-comments. false if no comments available.
Only available if $comments was added to the request url.
parentsBoolean | ObjectThe Parent strains for the selected variety. false if no info available.
Only available if $parents=1 was added to the request url.
hybridsBoolean | ObjectKnown Hybrids with the selected strain. false if no info available.
Only available if $hybrids=1 was added to the request url.
medicalBoolean | ObjectThe medicinal values for the strain. false if no info available.
Only available if $medical=1 was added to the request url.
picsBoolean | ObjectUp to 10 user-pictures for the strain. false if no info available.
Only available if $pics=1 was added to the request url.
forumsBoolean | ObjectConnected threads in the selected forums. false if no threads connected.
Only available if $forums was added to the request url.
reviewsBoolean | ObjectThis object contains user-based reviews and tastings. false if there are no uploads.
Only available if $reviews=1 was added to the request url.
linksObjectThis object contain some links back to the seedfinder like the link directly to the strain-info, to the review and also some links to our upload-functions.
licenceObjectThis object contains the creative commons licence.

Content of the object -> brinfo:

Object -> brinfo

NameValueDescription
nameStringThe name of the breeder.
idStringThe seedinder-id of the breeder.
typeStringThe genetics of the strain (for example: indica; sativa/ruderalis, etc.)
picBoolean | StringUrl to a small breeder-picture if available. (width: 158 px) Otherwise pic is false.
floweringObjectThis object contains info about flowering time. (More Info below)
descrBoolean | StringBreeders description if available in the selected language. If not, an other language will be used. If there is absolutley no description, descr is set to false.

Object -> brinfo -> flowering

NameValueDescription
autoBooleanAuto is true if the strain is an autoflowering variety. false if its an regular strain.
daysBoolean | IntegerThe average flowering time in days. false if unknown.
infoStringShort infotext for flowering time. Empty if flowering time unknown. Example: Flowering: ~48 days

Content of the object -> comments:

This object contains the user-comments in the selected standard-language.
If needed, specify more than one language for the comments with the additional parameter &commlng.

Object -> comments

NameValueDescription
countIntegerAmount of all user-comments about the strain.
last3ObjectThis object contains an own object for the last 3 comments. The Objects are named with a floating number, beginning from 0.

Object -> comments -> last3 -> [comment-id]

NameValueDescription
userStringName of the User.
lngStringLanguage of the comment.
textStringThe comment byself.

Content of the object -> parents:

To add object -> parents to the output, add &parents=1 to the request url.

Object -> parents

NameValueDescription
infoStringThe lineage of the strain. Example: aaa x {bbb x ccc}
strainsObjectThis object contains info about the strains into the lineage. (More Info below)

Object -> parents -> strains

This object contains an own object for every strain in the lineage.
This objects are named like aaa, bbb or ccc (for a replacement of the lineage in info)

Object -> parents -> strains -> [id]

NameValueDescription
nameStringName of the strain.
idStringSeedfinder-Strain-Id for the strain.
bridStringSeedfinder-Breeder-Id for the strain.

Content of the object -> hybrids:

To add object -> hybrids to the output, add &hybrids=1 to the request url.

Object -> hybrids

This object contains an own object for every known Hybrid.

Object -> hybrids -> [id]

NameValueDescription
nameStringName of the strain.
idStringSeedfinder-Strain-Id for the strain.
brnameStringName of the breeder.
bridStringSeedfinder-Breeder-Id for the strain.
infoStringShort lineage info for the hybrid.

Content of the object -> medical:

To add object -> medical to the output, add &medical=1 to the request url.

Object -> medical

This object contains an own object for every medicinal info.

Object -> medical -> [id]

NameTypeDescription
nameStringName of the disease. Example: Nausea and Vomiting
effectObjectThis object contains info about the effect.
countObjectThis object contain info about the amount of votings.

Object -> medical -> [id] -> effect

NameValueDescription
valNumberEffect value from 0 - 5. (5 is the best, 0 = no inserts)
dosageNumberDosage value from 0 - 3. (3 is the worst, 0 = no inserts)
infoStringInfo as text. Example: Affects / helps even in small doses very well at / against Nausea and Vomiting.

Object -> medical -> [id] -> count

NameValueDescription
valIntegerAmount of the votes.
infoStringVotes as text. Example: 3 Reviews

Content of the object -> pics:

To add object -> pics to the output, add pics=1 to the request url.

Object -> pics

This object contains an own object for every picture. The objects are named with the picture-ID.
A maximum of 10 pictures will be shown (if available), sorted by date.

Object -> pics -> [picture-ID]

NameTypeDescription
userStringName of the user.
locObjectLocation. Can be indoor, outdoor or finished (for already harvested buds)

To show the pictures, simply use the following url's (replace the [ID's] in the links):
* http://en.seedfinder.eu/pics/galerie/[BREEDER-ID]/[STRAIN-ID]/[PICTURE-ID].jpg
Pictures will be thumbnails with a maximum width and/or height of 200px. To add a link to the big version, simly link to the following url:
* http://en.seedfinder.eu/strain-info/[STRAIN-ID]/[BREEDER-ID]/gallery/[PICTURE-ID]/

Content of the object -> forums:

To add object -> forums to the output, add &forums=<forum-id> to the request url.
To add more than one forum add &forums=<forum-id>|<forum-id>|<forum-id> to the request url. Example: &forums=hb|icmag
To add all forums, add &forums=all to the request url.
List of allowed forums here.

Object -> forums

This object contains an own object for every forum if there are connected threads.
Objects are named with the SeedFinder Forum-Id, for a list of available forums please click here.

Object -> forums -> [id]

NameTypeDescription
nameStringName of the forum. Example: THCtalk Forums
prelinkStringThe link to a thread (without thread-id) Example: http://.../showthread.php?t=
threadsObjectThis object contain the single threads out of the forum.
Objects are named numeric with a beginnig t. (t0,t1,t2,...)

Object -> forums -> [id] -> [threads]

NameValueDescription
thrStringThread ID out of the Forum. Add it to the prelink to get a valid link to the thread.
updIntegerTimecode for the last update of this thread in the seedfinder. Example: 1228562743
lngStringLanguage of the thread. Example: en
catStringSeedfinders threadfinder-category-id of this thread. Example: straintalk
titStringTitle of the thread out of the forum.

Content of the object -> reviews:

To add object -> reviews to the output, add &reviews=1 to the request url.

Object -> reviews

NameValueDescription
countObjectAmount of the reviews.
averageObject | BooleanGeneral impression. false if no info available.
indoorObject | BooleanIndoor Reviews. false if no indoor-reviews available.
outdoorObject | BooleanOutdoor Reviews. false if no outdoor-reviews available.
tastingObject | BooleanInfo about taste, aroma and effect. false if no tastings available.

Object -> reviews -> count

NameValueDescription
valNumberAmount of all reviews.
titleStringReview-Title. Example: Reviews (or "Review" if only one review is available)

Object -> reviews -> average

NameValueDescription
valNumberThe average general impression for all reviews. 0 - 10 (10 is best) Example: 6.27
titleStringTitle. Example: General Impression
infoStringImpression as text. Example: slightly above average

The following object -> reviews -> indoor will be false if there is no indoor-review about the selected strain available.

Object -> reviews -> indoor

NameValueDescription
countObjectAmount of the reviews.
averageObject | BooleanGeneral impression. false if no info available.
yieldObject | BooleanThe yield of the strain. false if no info available.
floweringObject | BooleanInfo about flowering-times. false if no info available.
stretchObject | BooleanInfo about the stretch. false if no info available.

Object -> reviews -> indoor -> count

This object contains info about the amount of indoor-reviews.
See the above-mentioned info about the object -> reviews -> count to see what is stored into this object.

Object -> reviews -> indoor -> average

This object contains info about the average general impression indoors.
See the above-mentioned info about the object -> reviews -> average to see what is stored into this object.

Object -> reviews -> indoor -> yield

NameValueDescription
valNumberThe average voting for the yield. 0 - 10 (10 is best) Example: 7.25
titleStringTitle. Example: Yield / Quantity
infoStringImpression as text. Example: high

Object -> reviews -> indoor -> flowering

NameValueDescription
fromIntegerStart of the harvesting-window in days. Example: 57
toIntegerEnd of the harvesting-window in days. Example: 68
averageIntegerThe average flowering days. Example: 63
titleStringTitle. Example: Flowering Time Indoor
infoStringFlowering time as text. Example: 57 - 68 days (~63 days)

Object -> reviews -> indoor -> stretch

NameValueDescription
fromNumberHeight at the start of the flowering in cm. Example: 23
toNumberFinal height of the plant in cm. Example: 105
percentNumberStretch in percent. Example: 385
titleStringTitle. Example: Stretch after the initiation of flowering
texperStringStretch in percent as text. Example: ~385 Percent
texcmStringStretch in cm. as text. Example: Initiation of flowering onto around 23 cm. - Final Height onto around 105 cm.

The following object -> reviews -> outdoor will be false if there is no outdoor-review about the selected strain available.

Object -> reviews -> outdoor

NameValueDescription
countObjectAmount of the reviews.
averageObject | BooleanGeneral impression. false if no info available.
yieldObject | BooleanThe yield of the strain. false if no info available.
floweringObject | BooleanInfo about flowering-times in different climate zones. false if no info available.

Object -> reviews -> outdoor -> count

This object contains info about the amount of outdoor-reviews.
See the above-mentioned info about the object -> reviews -> count to see what is stored into this object.

Object -> reviews -> outdoor -> average

This object contains info about the average general impression outdoors.
See the above-mentioned info about the object -> reviews -> average to see what is stored into this object.

Object -> reviews -> outdoor -> yield

This object contains info about the yield outdoors.
See the above-mentioned info about the object -> reviews -> indoor -> yield to see what is stored into this object.

Object -> reviews -> outdoor -> flowering

NameValueDescription
titleStringA Title for flowering times. Example: Harvest Time Outdoor
zonesObjectThis object contains flowering times for different climate zones.
Climate zones according to the Klever/Frankenberg specification.

Object -> reviews -> outdoor -> flowering -> zones

This object contains an object for each climate zone. Each object contains flowering-times, the abbreviation and the full name for the zone.
The objects are named with the zone-id. Example: CmSh3 (for Warm temperate, micro- to mesotherm and semi-humid climates (maritime))

Object -> reviews -> outdoor -> flowering -> zones -> [zone-id]

NameValueDescription
zoneAbbrStringAbbreviation for the zone. Example: CmSh&alpha
zoneNameStringFull zone name. Example: Warm temperate, micro- to mesotherm and semi-humid climates (maritime)
harvestStringThe harvest time for this climate zone. Example: End of September
weeksStringThe harvest window for this strain. Example: +/- 1 Week

Content of the object -> reviews -> tasting:

To add -> tasting to the object -> reviews, add &tasting=1 to the request url. Will only be available if &reviews=1.

Object -> reviews -> tasting

NameValueDescription
strengthObject | BooleanInfo about the strength of the weed. false if no info available.
smellObject | BooleanInfo about the aroma of the weed. false if no info available.
tasteObject | BooleanInfo about the taste of the weed. false if no info available.
effectObject | BooleanInfo about the effect of the weed. false if no info available.

Object -> reviews -> tasting -> strength

NameValueDescription
valNumberThe average voting for the strength. 0 - 10 (10 is best) Example: 7
titleStringTitle. Example: Strength / Lasting Effect
infoStringStrength as text. Example: affects middle-high to high

Content of the objects reviews -> tasting -> [smell | taste | effect]

To hide -> smell, -> taste or -> effect from the object -> reviews -> tasting, add &smell=0, &taste=0 and/or &effect=0 to the request url.

Object -> reviews -> tasting -> [smell | taste | effect]

NameValueDescription
titleStringA Title for the chart or the cloud. Example: The aroma / smell of this variety recalls onto / is
cloudObjectThis Object contains the data, color-codes and sizes for a cloud.

Object -> reviews -> tasting -> [smell | taste | effect] -> cloud

This object contains an own object for every value.
The Objects are named with the Seedfinder-Id (Example: Floral).

Object -> reviews -> tasting -> [smell | taste | effect] -> cloud -> [id]

NameValueDescription
valNumberValue in percent. Example: 50.00
titleStringTitle: Example: Grapefruit
colorStringRGB Color-Code. Example: BBB957
sizeIntegerA size from 1 - 10 for creating a cloud. Smaller percentages get a smaller number...

Content of the object -> links:

Object -> links

NameValueDescription
infoStringDirect link to SeedFinder's strain-info page.
reviewStringDirect link to SeedFinder's strain-review overview page.
uploadObjectThis object contains some upload-links for the strain.

Object -> links -> upload

NameValueDescription
pictureStringDirect link to the picture-upload for the strain.
reviewStringDirect link to the review-upload for the strain.
medicalStringDirect link to the medical-upload for the strain.

Content of the object -> licence:

Object -> licence

NameValueDescription
url_ccStringDirect link to the Creative Commons Licence.
url_sfStringDirect link to the SeedFinder.
infoStringInfotext. Example: Content is licensed under a Creative Commons BY-NC-SA 3.0 License from http://en.seedfinder.eu/

List of available Forums for the Object -> forums

Here a list of all forums who are connected to the seedfinder. Add &forums=<id> to the query to load thread-info for the strain to the JSON. To get threads from more than one forum, seperate the ids with a "|". Example: &forums=hb|icmag|thctalk|sensi. If you like to add all forums, simply add &forums=all to the request-url.

Forumid
Hanfburg Forumhb
Growbook Forumgrowbook
Cannabis/Marihuana.at Forumcannabisat
No Mercy Forumnomercy
IC Mag Forumsicmag
Wiet Forum [NL]wietforum
YaHooka Forumsyahooka
Rollitup Forumsrollitup
Cannabis Culture Forumscannacult
Cannabis.com Forumscannacom
CannabisCafe 2.0cannacafe
420 Magazine420mag
Grasscity Forumsgrasscity
Strain Hunters Forumstrhunters
UK420 Forumsuk420
BC Bud Depot Forumsbcbud
PlanetSkunk Forumsplskunk
Marijuana Passionmarpassion
Grower.ch Forumgrowerch
Sensi Seeds Forumssensi
Canna Nation Forumscannanation
THCfarmer Forumsthcfarmer
GrowKind Forumsgrowkind
OpenGrow.comopengrow
Cannaweed Forumcannaweed
Opencannabis.netopencnet
Swecan Forumswecan
Lamarihuana Foroslamarihuana
TreatingYourself Forumstreating
GreenPassion.orggreenpass
HydroCanna Forumshydrocanna
Jointjedraaien.nljointje
Marijuana Growing Forumsmjgrowing
Mr.Nice Forumsmrnice
Grower.cz Forumgrowercz
Growery Message Boardgrowery
BreedBay Forumsbreedbay
Autoflower Networkautofnet

The JSON File:

Ok, this was all the info you need, here an example for the output. The Request http://en.seedfinder.eu/api/json/strain.json?br=Sensi_Seeds&str=Skunk_Nr1&comments=2&commlng=en|de&parents=1&medical=1&reviews=1&tasting=1&forums=hb|icmag will deliver the following JSON at the moment:

Test it

We prepared a small test-widget for you. This example is full working and you can add it very easy to your page. This widget uses the StrainSearch API, the Strain/Breeder-ID API and also the StrainInfo-API to create a complete strain-browser with search-function for your page. Here you will find it. (open in a new window)

IMPORTANT

Please note:
To use our JSON API you must verify your domain(s) here into the User-Area at first!

If you do a request from a unregistered domain you will get an Error 403!

Creative Commons BY-NC-SA 3.0 License With the help of the SeedFinder API you will be able to use our data for your own applications, widgets and integrate our info directly into your homepage. Use of the API is completely free if you follow the license terms. To stay informed about the API please connect an email to your user-account (so we can contact you if there are questions) and/or drop an eye to our Newsflash! If you don't like add backlinks or if you're running a commercial site, please contact us before using our api. »» All content is licensed under a Creative Commons BY-NC-SA 3.0 License