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.
Parameter | Example | Description |
---|---|---|
br | ?br=Sensi_Seeds | Breeder ID from the seedfinder url's |
str | &str=Skunk_Nr1 | Strain ID from the seedfinder url's |
StrainInfo JSON: https://de.seedfinder.eu/api/json/strain.json
Example: https://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.
Parameter | Possible Values | Description |
---|---|---|
output | 1 | 2 | Alternative output-types. Preset is 0 (pure JSON output) Click here to read more about the possible output formats. |
lng | de | en | es | fr | Set output language to english, german, french or spanish. Preset: english. |
comments | 1 - 10 | Add 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 |
parents | 1 | Add all parents. |
hybrids | 1 | Add all direct Hybrids of the strain. |
medical | 1 | Add medicinal info. |
pics | 1 | Add the newset user-pictures. (up to ten) |
forums | String (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) |
reviews | 1 | Add 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 https://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:
Name | Value | Description |
---|---|---|
error | Boolean | String | false if there was no error. If an error occured, the error-message will be stored into a string. |
name | String | The name of the strain. |
id | String | The seedinder-id of the strain. |
brinfo | Object | This object contains the information provided from the breeder. |
comments | Boolean | Object | This object will contain user-comments. false if no comments available. Only available if $comments was added to the request url. |
parents | Boolean | Object | The Parent strains for the selected variety. false if no info available. Only available if $parents=1 was added to the request url. |
hybrids | Boolean | Object | Known Hybrids with the selected strain. false if no info available. Only available if $hybrids=1 was added to the request url. |
medical | Boolean | Object | The medicinal values for the strain. false if no info available. Only available if $medical=1 was added to the request url. |
pics | Boolean | Object | Up to 10 user-pictures for the strain. false if no info available. Only available if $pics=1 was added to the request url. |
forums | Boolean | Object | Connected threads in the selected forums. false if no threads connected. Only available if $forums was added to the request url. |
reviews | Boolean | Object | This object contains user-based reviews and tastings. false if there are no uploads. Only available if $reviews=1 was added to the request url. |
links | Object | This 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. |
licence | Object | This object contains the creative commons licence. |
Content of the object -> brinfo:
Object -> brinfo
Name | Value | Description |
---|---|---|
name | String | The name of the breeder. |
id | String | The seedinder-id of the breeder. |
type | String | The genetics of the strain (for example: indica; sativa/ruderalis, etc.) |
CBD | String | The CBD values for the strain. emtpy if no info available. |
pic | Boolean | String | Url to a small breeder-picture if available. (width: 158 px) Otherwise pic is false. |
flowering | Object | This object contains info about flowering time. (More Info below) |
description | Boolean | String | Breeders description if available in the selected language. If not, an other language will be used. If there is absolutley no text, description is set to false. |
link | String | Breeders link to homepage or socialmedia. |
Object -> brinfo -> flowering
Name | Value | Description |
---|---|---|
auto | Boolean | Auto is true if the strain is an autoflowering variety. false if its an regular strain. |
days | Boolean | Integer | The average flowering time in days. false if unknown. |
info | String | Short 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
Name | Value | Description |
---|---|---|
count | Integer | Amount of all user-comments about the strain. |
last3 | Object | This 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]
Name | Value | Description |
---|---|---|
user | String | Name of the User. |
lng | String | Language of the comment. |
text | String | The comment byself. |
Content of the object -> parents:
To add object -> parents to the output, add &parents=1 to the request url.
Object -> parents
Name | Value | Description |
---|---|---|
info | String | The lineage of the strain. Example: aaa x {bbb x ccc} |
strains | Object | This 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]
Name | Value | Description |
---|---|---|
name | String | Name of the strain. |
id | String | Seedfinder-Strain-Id for the strain. |
brid | String | Seedfinder-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]
Name | Value | Description |
---|---|---|
name | String | Name of the strain. |
id | String | Seedfinder-Strain-Id for the strain. |
brname | String | Name of the breeder. |
brid | String | Seedfinder-Breeder-Id for the strain. |
info | String | Short 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]
Name | Type | Description |
---|---|---|
name | String | Name of the disease. Example: Nausea and Vomiting |
effect | Object | This object contains info about the effect. |
count | Object | This object contain info about the amount of votings. |
Object -> medical -> [id] -> effect
Name | Value | Description |
---|---|---|
val | Number | Effect value from 0 - 5. (5 is the best, 0 = no inserts) |
dosage | Number | Dosage value from 0 - 3. (3 is the worst, 0 = no inserts) |
info | String | Info as text. Example: Affects / helps even in small doses very well at / against Nausea and Vomiting. |
Object -> medical -> [id] -> count
Name | Value | Description |
---|---|---|
val | Integer | Amount of the votes. |
info | String | Votes 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]
Name | Type | Description |
---|---|---|
user | String | Name of the user. |
loc | Object | Location. 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):
* https://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:
* https://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]
Name | Type | Description |
---|---|---|
name | String | Name of the forum. Example: THCtalk Forums |
prelink | String | The link to a thread (replace %s with the thread-id!) Example: https://.../showthread.php?t=%s |
threads | Object | This object contain the single threads out of the forum. Objects are named numeric with a beginnig t. (t0,t1,t2,...) |
Object -> forums -> [id] -> [threads]
Name | Value | Description |
---|---|---|
thr | String | Thread ID out of the Forum. Add it to the prelink to get a valid link to the thread. |
upd | Integer | Timecode for the last update of this thread in the seedfinder. Example: 1228562743 |
lng | String | Language of the thread. Example: en |
cat | String | Seedfinders threadfinder-category-id of this thread. Example: straintalk |
tit | String | Title 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
Name | Value | Description |
---|---|---|
count | Object | Amount of the reviews. |
average | Object | Boolean | General impression. false if no info available. |
indoor | Object | Boolean | Indoor Reviews. false if no indoor-reviews available. |
outdoor | Object | Boolean | Outdoor Reviews. false if no outdoor-reviews available. |
tasting | Object | Boolean | Info about taste, aroma and effect. false if no tastings available. |
Object -> reviews -> count
Name | Value | Description |
---|---|---|
val | Number | Amount of all reviews. |
title | String | Review-Title. Example: Reviews (or "Review" if only one review is available) |
Object -> reviews -> average
Name | Value | Description |
---|---|---|
val | Number | The average general impression for all reviews. 0 - 10 (10 is best) Example: 6.27 |
title | String | Title. Example: General Impression |
info | String | Impression 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
Name | Value | Description |
---|---|---|
count | Object | Amount of the reviews. |
average | Object | Boolean | General impression. false if no info available. |
yield | Object | Boolean | The yield of the strain. false if no info available. |
flowering | Object | Boolean | Info about flowering-times. false if no info available. |
stretch | Object | Boolean | Info 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
Name | Value | Description |
---|---|---|
val | Number | The average voting for the yield. 0 - 10 (10 is best) Example: 7.25 |
title | String | Title. Example: Yield / Quantity |
info | String | Impression as text. Example: high |
Object -> reviews -> indoor -> flowering
Name | Value | Description |
---|---|---|
from | Integer | Start of the harvesting-window in days. Example: 57 |
to | Integer | End of the harvesting-window in days. Example: 68 |
average | Integer | The average flowering days. Example: 63 |
title | String | Title. Example: Flowering Time Indoor |
info | String | Flowering time as text. Example: 57 - 68 days (~63 days) |
Object -> reviews -> indoor -> stretch
Name | Value | Description |
---|---|---|
from | Number | Height at the start of the flowering in cm. Example: 23 |
to | Number | Final height of the plant in cm. Example: 105 |
percent | Number | Stretch in percent. Example: 385 |
title | String | Title. Example: Stretch after the initiation of flowering |
texper | String | Stretch in percent as text. Example: ~385 Percent |
texcm | String | Stretch 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
Name | Value | Description |
---|---|---|
count | Object | Amount of the reviews. |
average | Object | Boolean | General impression. false if no info available. |
yield | Object | Boolean | The yield of the strain. false if no info available. |
flowering | Object | Boolean | Info 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
Name | Value | Description |
---|---|---|
title | String | A Title for flowering times. Example: Harvest Time Outdoor |
zones | Object | This 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]
Name | Value | Description |
---|---|---|
zoneAbbr | String | Abbreviation for the zone. Example: CmSh&alpha |
zoneName | String | Full zone name. Example: Warm temperate, micro- to mesotherm and semi-humid climates (maritime) |
harvest | String | The harvest time for this climate zone. Example: End of September |
weeks | String | The 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
Name | Value | Description |
---|---|---|
strength | Object | Boolean | Info about the strength of the weed. false if no info available. |
smell | Object | Boolean | Info about the aroma of the weed. false if no info available. |
taste | Object | Boolean | Info about the taste of the weed. false if no info available. |
effect | Object | Boolean | Info about the effect of the weed. false if no info available. |
Object -> reviews -> tasting -> strength
Name | Value | Description |
---|---|---|
val | Number | The average voting for the strength. 0 - 10 (10 is best) Example: 7 |
title | String | Title. Example: Strength / Lasting Effect |
info | String | Strength 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]
Name | Value | Description |
---|---|---|
title | String | A Title for the chart or the cloud. Example: The aroma / smell of this variety recalls onto / is |
cloud | Object | This 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]
Name | Value | Description |
---|---|---|
val | Number | Value in percent. Example: 50.00 |
title | String | Title: Example: Grapefruit |
color | String | RGB Color-Code. Example: BBB957 |
size | Integer | A size from 1 - 10 for creating a cloud. Smaller percentages get a smaller number... |
Content of the object -> links:
Object -> links
Name | Value | Description |
---|---|---|
info | String | Direct link to SeedFinder's strain-info page. |
review | String | Direct link to SeedFinder's strain-review overview page. |
upload | Object | This object contains some upload-links for the strain. |
Object -> links -> upload
Name | Value | Description |
---|---|---|
picture | String | Direct link to the picture-upload for the strain. |
review | String | Direct link to the review-upload for the strain. |
medical | String | Direct link to the medical-upload for the strain. |
Content of the object -> licence:
Object -> licence
Name | Value | Description |
---|---|---|
url_cc | String | Direct link to the Creative Commons Licence. |
url_sf | String | Direct link to the SeedFinder. |
info | String | Infotext. Example: Content is licensed under a Creative Commons BY-NC-SA 3.0 License from https://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.
Forum | id |
---|---|
420 Magazine | 420mag |
Autoflower Network | autofnet |
Cannabisanbauen.net | cannabau |
CannabisCafe 2.0 | cannacafe |
Cannabis.com Forums | cannacom |
OZ Stoners Forums | cannanation |
Cannaweed Forum | cannaweed |
Chuckersparadise | chuckers |
FCF Forums | fcf |
Grasscity Forums | grasscity |
GreenPassion.org | greenpass |
Grower.ch Forum | growerch |
Grower.cz Forum | growercz |
Growery Message Board | growery |
GrowKind Forums | growkind |
IC Mag Forums | icmag |
Jointjedraaien.nl | jointje |
Lamarihuana Foros | lamarihuana |
Marijuana Passion | marpassion |
Marijuana Growing Forums | mjgrowing |
Mr.Nice Forums | mrnice |
Olkpiece.org | olkpeace |
OpenGrow.com | opengrow |
Overgrow.com | overgrowcom |
phenohunter.org | phenohunter |
Reddit.com | |
Rollitup Forums | rollitup |
Sensi Seeds Forums | sensi |
Strain Hunters Forum | strhunters |
Swecan Forum | swecan |
The Green Circle | tgc |
THCfarmer Forums | thcfarmer |
THCtalk.com | thctalk |
UK420 Forums | uk420 |
Wiet Forum [NL] | wietforum |
The JSON File:
Ok, this was all the info you need, here an example for the output. The Request https://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!
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